From dc8d765414b602ca54bcc0ab67b6877c4265bc04 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Fri, 19 Oct 2018 15:38:13 +0200 Subject: [PATCH 01/34] Push branch with codebase for code review --- README.md | 37 +- TASK.md | 71 + package.json | 36 + src/app.js | 29 + src/assets/scss/app.scss | 19 + src/index.html | 127 + src/index.js | 6 + webpack.config.js | 97 + yarn.lock | 5354 ++++++++++++++++++++++++++++++++++++++ 9 files changed, 5774 insertions(+), 2 deletions(-) mode change 100644 => 100755 README.md create mode 100755 TASK.md create mode 100755 package.json create mode 100755 src/app.js create mode 100755 src/assets/scss/app.scss create mode 100755 src/index.html create mode 100755 src/index.js create mode 100755 webpack.config.js create mode 100755 yarn.lock diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 01f43c9..3b804d3 --- a/README.md +++ b/README.md @@ -1,2 +1,35 @@ -# tsh_github -github tsh app +# GH-Browser + +A browser for Github users. Entering github username will display user's details and history of his public events. + +## Installation + +Install npm packages: +``` +yarn +``` + + +## Develop locally + +1. Run: + + ``` + yarn start + ``` + +2. In your browser, navigate to: [http://localhost:2000/](http://localhost:2000/) + +## Build production-ready app + +``` +yarn build +``` + + +# Technical details + +* Bundler: [Webpack](https://webpack.js.org/) +* DOM Manipulation: [Cash-DOM](https://github.com/kenwheeler/cash) +* CSS styling: [Bulma CSS](https://bulma.io/) +* [Github API](https://api.github.com/) diff --git a/TASK.md b/TASK.md new file mode 100755 index 0000000..427dffd --- /dev/null +++ b/TASK.md @@ -0,0 +1,71 @@ +# TSH recruitment task + +Hi there, stranger! I'm glad you can help us with our messy code. + + +## Step 1: Code Review + +Create empty repository and make Pull Request with the whole codebase you've got from us. Then make a code review +for it. Don't hesitate to point out each concern - we want to make the code eventually perfect! +We'll be grateful for all your thoughts on it. + + +## Step 2: Bug hunt + +1. For some reason the app doesn't fully load data. This happens on all major browsers: Chrome, Firefox, IE11. +When you resolve the issue, make sure it works on all mentioned browsers + +2. The user image in the history block is not aligned properly. Can you do something about it? + + +## Step 3: New features + +As you could probably see, the project lacks some more or less important features. Can you help us making it done? + + +1. The username field is missing validation. Prepare a simple validation for the input field: + * not-empty + * allow only characters: `a-z`, `0-9`, `-`, `_` + + When the value is not valid, display a red border around the field. + +2. The History block is just a mockup. Make it dynamic. After user data has been loaded, use the below URL: + `https://api.github.com/users/{username}/events/public` + to load user's latest events. Populate the history list with events gotten from the above step. + + For now we want only 2 event types to be included: + + * `PullRequestEvent` - both "opened" and "closed" Pull Requests + * `PullRequestReviewCommentEvent` + + please take into account that other events will be implemented later. + + Github documentation may become handy: https://developer.github.com/v3/ + + + ``` + **Warning:** be aware that Github uses request limiting. When it occurs, try to mitigate it. Or just make + your code perfect at first time :) + ``` + +3. Hide fake Profile and History fields until the data is being loaded. +We've prepare a spinner element (in HTML) to indicate loading data, but forgot to use it, Can you make it visible +when there are pending requests? + +4. Currently the Profile column has width of 1/3 screen. Let's change it's size: + * below 768px: make it 100% (as it is now) + * 768-1280px: make it 50% + * 1280px and above: make it 30% + +5. The production build is quite big: **556kB**. Can you optimize it to fit in less than 350kB? The less +the better. + + +# Rules + +**Each Step should be in separate commit.** +That way you will first create a PR and then have at least 8 more commits: +* 1 containing whole code for Pull request +* 2 for bug fixes +* 5 for new features + diff --git a/package.json b/package.json new file mode 100755 index 0000000..17c79f3 --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "calc", + "version": "0.1.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "./node_modules/.bin/webpack-dev-server", + "build": "./node_modules/.bin/webpack -p", + "watch": "./node_modules/.bin/webpack --watch" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "babel-core": "~6.26.0", + "babel-loader": "~7.1.2", + "babel-preset-env": "~1.6.0", + "clean-webpack-plugin": "~0.1.17", + "css-loader": "~0.28.7", + "extract-text-webpack-plugin": "~3.0.0", + "file-loader": "~1.1.4", + "html-loader": "~0.5.1", + "html-webpack-plugin": "~2.30.1", + "node-sass": "~4.5.3", + "sass-loader": "~6.0.6", + "style-loader": "~0.18.2", + "webpack": "~3.6.0", + "webpack-dev-server": "~2.9.1" + }, + "dependencies": { + "bulma": "^0.7.1", + "bulma-start": "^0.0.2", + "bulma-timeline": "^2.0.3", + "cash-dom": "^2.1.7" + } +} diff --git a/src/app.js b/src/app.js new file mode 100755 index 0000000..7e46378 --- /dev/null +++ b/src/app.js @@ -0,0 +1,29 @@ +import './assets/scss/app.scss'; +import $ from 'cash-dom'; + + +export class App { + initializeApp() { + let self = this; + + $('.load-username').on('click', function (e) { + let userName = $('.username.input').val(); + + fetch('https://api.github.com/users/' + userName) + .then((response)=> {response.json}) + .then(function (body) { + self.profile = body; + self.update_profile(); + }) + + }) + + } + + update_profile() { + $('#profile-name').text($('.username.input').val()) + $('#profile-image').attr('src', this.profile.avatar_url) + $('#profile-url').attr('href', this.profile.html_url).text(this.profile.login) + $('#profile-bio').text(this.profile.bio || '(no information)') + } +} diff --git a/src/assets/scss/app.scss b/src/assets/scss/app.scss new file mode 100755 index 0000000..ccc6b2c --- /dev/null +++ b/src/assets/scss/app.scss @@ -0,0 +1,19 @@ +@import "~bulma"; +@import "~bulma-timeline"; + +.navbar { + border-bottom: 1px solid #eee; + margin-bottom: 8px; +} + +.gh-username img{ + width: 32px; +} + +#profile-bio{ + margin-top:10px; +} + +.timeline .timeline-item { + padding-bottom:1em; +} diff --git a/src/index.html b/src/index.html new file mode 100755 index 0000000..c5d19fa --- /dev/null +++ b/src/index.html @@ -0,0 +1,127 @@ + + + + Github-browser + + + + + + +
+
+
+ +

Profile

+ +
+
+
+
+ +
+
+
+

John Smith

+

@johnsmith

+
+
+ + +
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare magna eros, eu pellentesque tortor + vestibulum ut.

+
+
+
+ +
+

History

+ +
+ +
+
+
+

Jan 21, 2016

+
+ + + sethii + + closed + pull request +

+ TheSoftwareHouse/Kakunin +

+
+
+
+ +
+
+
+

Jan 19, 2016

+
+ + + gajdus + + created + comment + to + pull request +

+ TheSoftwareHouse/Kakunin +

+
+
+
+ +
+
+
+

Jan 19, 2016

+
+ + + sethii + + opened + pull request +

+ TheSoftwareHouse/Kakunin +

+
+
+
+ + +
+ +
+
+
+ + + diff --git a/src/index.js b/src/index.js new file mode 100755 index 0000000..2771f76 --- /dev/null +++ b/src/index.js @@ -0,0 +1,6 @@ +import styles from './assets/scss/app.scss'; +import {App} from "./app"; + +const app = new App(); + +app.initializeApp(); diff --git a/webpack.config.js b/webpack.config.js new file mode 100755 index 0000000..550bb45 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,97 @@ +const path = require('path'), + webpack = require('webpack'), + CleanWebpackPlugin = require('clean-webpack-plugin'), + HtmlWebpackPlugin = require('html-webpack-plugin'), + ExtractTextPlugin = require('extract-text-webpack-plugin'); + +const extractPlugin = new ExtractTextPlugin({filename: './assets/css/app.css'}); + +const config = { + + context: path.resolve(__dirname, 'src'), + + entry: { + app: './index.js' + }, + + output: { + path: path.resolve(__dirname, 'dist'), + filename: './assets/js/[name].bundle.js' + }, + + module: { + rules: [ + + { + test: /\.js$/, + include: /src/, + exclude: /node_modules/, + use: { + loader: "babel-loader", + options: { + presets: ['env'] + } + } + }, + { + test: /\.html$/, + use: ['html-loader'] + }, + { + test: /\.s?css$/, + use: extractPlugin.extract({ + use: [ + { + loader: 'css-loader', + options: { + sourceMap: true + } + }, { + loader: 'sass-loader', + options: { + sourceMap: true + } + } + ], + fallback: 'style-loader' + }) + }, + { + test: /\.(jpg|png|gif|svg)$/, + use: [ + { + loader: 'file-loader', + options: { + name: '[name].[ext]', + outputPath: './assets/media/' + } + } + ] + }, + { + test: /\.(woff|woff2|eot|ttf|otf)$/, + use: ['file-loader'] + } + + ] + }, + + plugins: [ + new CleanWebpackPlugin(['dist']), + new HtmlWebpackPlugin({template: 'index.html'}), + extractPlugin + ], + + devServer: { + contentBase: path.resolve(__dirname, "./dist/assets/media"), + compress: true, + port: 2000, + stats: 'errors-only', + open: true + }, + + devtool: 'inline-source-map' + +}; + +module.exports = config; diff --git a/yarn.lock b/yarn.lock new file mode 100755 index 0000000..028c1f3 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,5354 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +accepts@~1.3.4, accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + dependencies: + acorn "^4.0.3" + +acorn@^4.0.3: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^5.0.0: + version "5.5.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" + +ajv-keywords@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" + +ajv-keywords@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" + +ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +ajv@^6.1.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.0.tgz#4c8affdf80887d8f132c9c52ab8a2dc4d0b7b24c" + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + uri-js "^4.2.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + dependencies: + color-convert "^1.9.0" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-flatten@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" + +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +async@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.1.2, async@^2.4.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + dependencies: + lodash "^4.17.10" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" + +autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.26.0, babel-core@~6.26.0: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-loader@~7.1.2: + version "7.1.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.4.tgz#e3463938bd4e6d55d1c174c5485d406a188ed015" + dependencies: + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.23.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-env@~1.6.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^2.1.2" + invariant "^2.2.2" + semver "^5.3.0" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^3.4.7: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +body-parser@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + dependencies: + pako "~1.0.5" + +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + +browserslist@^2.1.2: + version "2.11.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" + dependencies: + caniuse-lite "^1.0.30000792" + electron-to-chromium "^1.3.30" + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +bulma-start@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/bulma-start/-/bulma-start-0.0.2.tgz#472507881b1b27af29e009c8599503e1462d2031" + +bulma-timeline@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/bulma-timeline/-/bulma-timeline-2.0.3.tgz#49b6899f03c4781c8e75a914ecfb63bae443511a" + +bulma@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.7.1.tgz#73c2e3b2930c90cc272029cbd19918b493fca486" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + 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" + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000846" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000846.tgz#d9c86f914738db4da098eeded997413c44561bd2" + +caniuse-lite@^1.0.30000792: + version "1.0.30000846" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000846.tgz#2092911eecad71a89dae1faa62bcc202fde7f959" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +cash-dom@^2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/cash-dom/-/cash-dom-2.1.7.tgz#74feaae732034777b3c0f3ebded07f858e4a4c88" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chokidar@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chokidar@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.0" + optionalDependencies: + fsevents "^1.1.2" + +chownr@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + dependencies: + chalk "^1.1.3" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.1.x: + version "4.1.11" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a" + dependencies: + source-map "0.5.x" + +clean-webpack-plugin@~0.1.17: + version "0.1.19" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz#ceda8bb96b00fe168e9b080272960d20fdcadd6d" + dependencies: + rimraf "^2.6.1" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-deep@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" + dependencies: + for-own "^1.0.0" + is-plain-object "^2.0.4" + kind-of "^6.0.0" + shallow-clone "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.3.0, color-convert@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + dependencies: + color-name "^1.1.1" + +color-name@^1.0.0, color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combined-stream@1.0.6, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +commander@2.15.x, commander@~2.15.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +compressible@~2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.13.tgz#0d1020ab924b2fdb4d6279875c7d6daba6baa7a9" + dependencies: + mime-db ">= 1.33.0 < 2" + +compression@^1.5.2: + version "1.7.2" + resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" + dependencies: + accepts "~1.3.4" + bytes "3.0.0" + compressible "~2.0.13" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.1" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +connect-history-api-fallback@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + +css-loader@~0.28.7: + version "0.28.11" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7" + dependencies: + babel-code-frame "^6.26.0" + css-selector-tokenizer "^0.7.0" + cssnano "^3.10.0" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.1.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.2.0" + postcss-modules-local-by-default "^1.2.0" + postcss-modules-scope "^1.1.0" + postcss-modules-values "^1.3.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +css-what@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + +cssnano@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +deep-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + dependencies: + 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@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +depd@~1.1.1, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +detect-node@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + dependencies: + buffer-indexof "^1.0.0" + +dom-converter@~0.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" + dependencies: + utila "~0.3" + +dom-serializer@0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + +domelementtype@1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + +domhandler@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" + dependencies: + domelementtype "1" + +domutils@1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + dependencies: + dom-serializer "0" + domelementtype "1" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30: + version "1.3.48" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz#d3b0d8593814044e092ece2108fc3ac9aea4b900" + +elliptic@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + +enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" + +entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + +errno@^0.1.3: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.7.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.44" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.44.tgz#7a877e994bb190aebd4718aa2d62784a12e2ca20" + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "1" + +es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-templates@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + dependencies: + recast "~0.11.12" + through "~2.3.6" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + dependencies: + estraverse "^4.1.0" + +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + +eventemitter3@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +eventsource@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + dependencies: + original ">=0.0.5" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +express@^4.16.2: + version "4.16.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.2" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.3" + qs "6.5.1" + range-parser "~1.2.0" + safe-buffer "5.1.1" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + 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.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-text-webpack-plugin@~3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" + dependencies: + async "^2.4.1" + loader-utils "^1.1.0" + schema-utils "^0.3.0" + webpack-sources "^1.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + dependencies: + websocket-driver ">=0.5.1" + +file-loader@~1.1.4: + version "1.1.11" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.4.5" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + +follow-redirects@^1.0.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.0.tgz#234f49cf770b7f35b40e790f636ceba0c3a0ab77" + dependencies: + debug "^3.1.0" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0, fsevents@^1.1.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +fstream@^1.0.0, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + dependencies: + globule "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +handle-thing@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +he@1.1.x: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + +html-entities@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + +html-loader@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.5.5.tgz#6356dbeb0c49756d8ebd5ca327f16ff06ab5faea" + dependencies: + es6-templates "^0.2.3" + fastparse "^1.1.1" + html-minifier "^3.5.8" + loader-utils "^1.1.0" + object-assign "^4.1.1" + +html-minifier@^3.2.3, html-minifier@^3.5.8: + version "3.5.16" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.16.tgz#39f5aabaf78bdfc057fe67334226efd7f3851175" + dependencies: + camel-case "3.0.x" + clean-css "4.1.x" + commander "2.15.x" + he "1.1.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.3.x" + +html-webpack-plugin@~2.30.1: + version "2.30.1" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" + dependencies: + bluebird "^3.4.7" + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + toposort "^1.0.0" + +htmlparser2@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" + dependencies: + domelementtype "1" + domhandler "2.1" + domutils "1.1" + readable-stream "1.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + +http-errors@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.4.0: + version "0.4.13" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.13.tgz#3bd6d6fde6e3172c9334c3b33b6c193d80fe1137" + +http-proxy-middleware@~0.17.4: + version "0.17.4" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" + dependencies: + http-proxy "^1.16.2" + is-glob "^3.1.0" + lodash "^4.17.2" + micromatch "^2.3.11" + +http-proxy@^1.16.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" + dependencies: + eventemitter3 "^3.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +iconv-lite@^0.4.4: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + dependencies: + postcss "^6.0.1" + +ieee754@^1.1.4: + version "1.1.11" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +import-local@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8" + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +internal-ip@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" + dependencies: + meow "^3.3.0" + +interpret@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + +ipaddr.js@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + +is-odd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" + dependencies: + is-number "^4.0.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + dependencies: + path-is-inside "^1.0.1" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +js-base64@^2.1.8, js-base64@^2.1.9: + version "2.4.5" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-loader@^0.5.4: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +killable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + +lodash.mergewith@^4.6.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" + +lodash.tail@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@~4.17.10: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + +loglevel@^1.4.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + +lru-cache@^4.0.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + dependencies: + pify "^3.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.3.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.1.5, micromatch@^2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + 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.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +"mime-db@>= 1.33.0 < 2", mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +mime@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +nan@^2.3.2, nan@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +nanomatch@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" + dependencies: + 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.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +needle@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +neo-async@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" + +next-tick@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + dependencies: + lower-case "^1.1.1" + +node-forge@0.7.5: + version "0.7.5" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" + +node-gyp@^3.3.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "2" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-libs-browser@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.0" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.0" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.1.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +node-sass@~4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.3.tgz#d09c9d1179641239d1b97ffc6231fdcec53e1568" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + lodash.mergewith "^4.6.0" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "^2.79.0" + sass-graph "^2.1.1" + stdout-stream "^1.4.0" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +npm-bundled@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" + +npm-packlist@^1.1.6: + version "1.1.10" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +obuf@^1.0.0, obuf@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +opn@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" + dependencies: + is-wsl "^1.1.0" + +original@>=0.0.5: + version "1.0.1" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" + dependencies: + url-parse "~1.4.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@0, osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + dependencies: + no-case "^2.2.0" + +parse-asn1@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + +pbkdf2@^3.0.3: + version "3.0.16" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + +portfinder@^1.0.9: + version "1.0.13" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" + dependencies: + async "^1.5.2" + debug "^2.2.0" + mkdirp "0.5.x" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + dependencies: + postcss "^5.0.14" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + dependencies: + postcss "^5.0.4" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + dependencies: + postcss "^5.0.14" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + dependencies: + postcss "^5.0.16" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec" + dependencies: + postcss "^5.0.4" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + dependencies: + postcss "^5.0.4" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-modules-extract-imports@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + dependencies: + postcss "^5.0.4" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^6.0.1: + version "6.0.22" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-error@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +private@^0.1.6, private@^0.1.8, private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +proxy-addr@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.6.0" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +public-encrypt@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + +qs@~6.5.1: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +querystringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" + +randomatic@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.0.3, range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +rc@^1.1.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +readable-stream@1.0: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +recast@~0.11.12: + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" + dependencies: + ast-types "0.9.6" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + dependencies: + balanced-match "^0.4.2" + +regenerate@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +renderkid@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" + dependencies: + css-select "^1.1.0" + dom-converter "~0.1" + htmlparser2 "~3.3.0" + strip-ansi "^3.0.0" + utila "~0.3" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@2, request@^2.79.0: + version "2.87.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" + dependencies: + aws-sign2 "~0.7.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.3.1" + har-validator "~5.0.3" + http-signature "~1.2.0" + 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 "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.2.8, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +safe-buffer@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sass-graph@^2.1.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + +sass-loader@~6.0.6: + version "6.0.7" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.7.tgz#dd2fdb3e7eeff4a53f35ba6ac408715488353d00" + dependencies: + clone-deep "^2.0.1" + loader-utils "^1.0.1" + lodash.tail "^4.1.1" + neo-async "^2.5.0" + pify "^3.0.0" + +sax@^1.2.4, sax@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + +schema-utils@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + +selfsigned@^1.9.1: + version "1.10.3" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.3.tgz#d628ecf9e3735f84e8bafba936b3cf85bea43823" + dependencies: + node-forge "0.7.5" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serve-index@^1.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" + dependencies: + is-extendable "^0.1.1" + kind-of "^5.0.0" + mixin-object "^2.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" + dependencies: + debug "^2.6.6" + eventsource "0.1.6" + faye-websocket "~0.11.0" + inherits "^2.0.1" + json3 "^3.3.2" + url-parse "^1.1.8" + +sockjs@0.3.18: + version "0.3.18" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207" + dependencies: + faye-websocket "^0.10.0" + uuid "^2.0.2" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +spdx-correct@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + +spdy-transport@^2.0.18: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1" + dependencies: + debug "^2.6.8" + detect-node "^2.0.3" + hpack.js "^2.1.6" + obuf "^1.1.1" + readable-stream "^2.2.9" + safe-buffer "^5.0.1" + wbuf "^1.7.2" + +spdy@^3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" + dependencies: + debug "^2.6.8" + handle-thing "^1.2.5" + http-deceiver "^1.2.7" + safe-buffer "^5.0.1" + select-hose "^2.0.0" + spdy-transport "^2.0.18" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +stdout-stream@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" + dependencies: + readable-stream "^2.0.1" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-http@^2.7.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^1.0.0, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +style-loader@~0.18.2: + version "0.18.2" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^4.2.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + dependencies: + has-flag "^2.0.0" + +supports-color@^5.3.0, supports-color@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + dependencies: + has-flag "^3.0.0" + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +tapable@^0.2.7: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" + +tar@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tar@^4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd" + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +through@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +thunky@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz#a862e018e3fb1ea2ec3fce5d55605cf57f247371" + +time-stamp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + +timers-browserify@^2.0.4: + version "2.0.10" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + dependencies: + setimmediate "^1.0.4" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + +tough-cookie@~2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + dependencies: + punycode "^1.4.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-is@~1.6.15, type-is@~1.6.16: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" + +uglify-js@3.3.x: + version "3.3.28" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.28.tgz#0efb9a13850e11303361c1051f64d2ec68d9be06" + dependencies: + commander "~2.15.0" + source-map "~0.6.1" + +uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + +uri-js@^4.2.1: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url-parse@^1.1.8, url-parse@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75" + dependencies: + querystringify "^2.0.0" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" + dependencies: + kind-of "^6.0.2" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3, util@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +utila@~0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +uuid@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" + +validate-npm-package-license@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + +vendors@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +watchpack@^1.4.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + dependencies: + chokidar "^2.0.2" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +wbuf@^1.1.0, wbuf@^1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + dependencies: + minimalistic-assert "^1.0.0" + +webpack-dev-middleware@^1.11.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" + dependencies: + memory-fs "~0.4.1" + mime "^1.5.0" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + time-stamp "^2.0.0" + +webpack-dev-server@~2.9.1: + version "2.9.7" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz#100ad6a14775478924d417ca6dcfb9d52a98faed" + dependencies: + ansi-html "0.0.7" + array-includes "^3.0.3" + bonjour "^3.5.0" + chokidar "^1.6.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + debug "^3.1.0" + del "^3.0.0" + express "^4.16.2" + html-entities "^1.2.0" + http-proxy-middleware "~0.17.4" + import-local "^0.1.1" + internal-ip "1.2.0" + ip "^1.1.5" + killable "^1.0.0" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + selfsigned "^1.9.1" + serve-index "^1.7.2" + sockjs "0.3.18" + sockjs-client "1.1.4" + spdy "^3.4.1" + strip-ansi "^3.0.1" + supports-color "^4.2.1" + webpack-dev-middleware "^1.11.0" + yargs "^6.6.0" + +webpack-sources@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.6.0.tgz#a89a929fbee205d35a4fa2cc487be9cbec8898bc" + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^5.1.5" + ajv-keywords "^2.0.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + +websocket-driver@>=0.5.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + dependencies: + http-parser-js ">=0.4.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@1, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + +yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + +yargs@^6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + +yargs@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" From c8d3f7d843f73bd4a515eb2d6bc4fff2c0649d8a Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Fri, 19 Oct 2018 17:04:15 +0200 Subject: [PATCH 02/34] Changed transpilation onto ES2015. It removed all let/const that could do not run in older browsers. There is still a case in developement, because `webpack-dev-server` dropped support for these browsers, that do not support Let/Const declarations. If You want to check validity of these browser, run `yarn build` and run server or index.html manually within this browser. I dont see which data were not loading, im using macOSX without IE, have no machine to test ie and do not want to do it. I used: https://caniuse.com/ Issue could be within IE11 also with partial support for flex, but it depends of implementation. TL:DR; I am Not willing to debug IE11 in this task, its my guess, maybe im wrong. Have no machine to do so. Data works properly in Chrome/Safari/Firefox, or maybe I'm blind. Which data was not loading? Maybe it should be specified in task more clearly... I dont get, what is 'not fully load data', had no issues within any browser within network or console, did not saw any improper behaviour. --- package.json | 1 + webpack.config.js | 5 ++-- yarn.lock | 61 ++++++++++++++++++++++++++++++++++------------- 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 17c79f3..e421775 100755 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "webpack-dev-server": "~2.9.1" }, "dependencies": { + "babel-preset-es2015": "^6.24.1", "bulma": "^0.7.1", "bulma-start": "^0.0.2", "bulma-timeline": "^2.0.3", diff --git a/webpack.config.js b/webpack.config.js index 550bb45..71ea3b9 100755 --- a/webpack.config.js +++ b/webpack.config.js @@ -7,7 +7,6 @@ const path = require('path'), const extractPlugin = new ExtractTextPlugin({filename: './assets/css/app.css'}); const config = { - context: path.resolve(__dirname, 'src'), entry: { @@ -16,7 +15,7 @@ const config = { output: { path: path.resolve(__dirname, 'dist'), - filename: './assets/js/[name].bundle.js' + filename: './assets/js/[name].bundle.js', }, module: { @@ -29,7 +28,7 @@ const config = { use: { loader: "babel-loader", options: { - presets: ['env'] + presets: ['es2015'] } } }, diff --git a/yarn.lock b/yarn.lock index 028c1f3..44eb065 100755 --- a/yarn.lock +++ b/yarn.lock @@ -450,7 +450,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.23.0: +babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: @@ -460,7 +460,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0: babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.23.0: +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -474,33 +474,33 @@ babel-plugin-transform-es2015-classes@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0: +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.23.0: +babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.23.0: +babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0: +babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -531,7 +531,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: @@ -539,7 +539,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.23.0: +babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: @@ -547,14 +547,14 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0: +babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.23.0: +babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -565,7 +565,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: @@ -578,7 +578,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0: +babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: @@ -592,13 +592,13 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: +babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0: +babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: @@ -614,7 +614,7 @@ babel-plugin-transform-exponentiation-operator@^6.22.0: babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.22.0: +babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: @@ -662,6 +662,35 @@ babel-preset-env@~1.6.0: invariant "^2.2.2" semver "^5.3.0" +babel-preset-es2015@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" From 792646da87cc36eca00af20ef890dda5536adc82 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Fri, 19 Oct 2018 17:28:46 +0200 Subject: [PATCH 03/34] 'User image in history block is not aligned properly', Could you be more specific next time? 1. What is properly, 2. Where does this justify should direct? start, center, end? 3. Should be username underneath the image or beneath? Maybe on the right side, maybe on the left? There is incomplete command to say 'do something' about it :) I do not want to extrapolate form incomplete data. `something` means very little to me --- src/assets/scss/app.scss | 23 ++++++++++++++++++++++- src/index.html | 12 ++++++------ 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/assets/scss/app.scss b/src/assets/scss/app.scss index ccc6b2c..3f9c142 100755 --- a/src/assets/scss/app.scss +++ b/src/assets/scss/app.scss @@ -6,8 +6,29 @@ margin-bottom: 8px; } -.gh-username img{ +.gh-username { + display: grid; + grid-template-rows: auto auto; + display: -ms-grid; + -ms-grid-rows: auto auto; +} + +.gh-username img { width: 32px; + margin: 5px; + -ms-grid-row: 1; +} + +.gh-username a { + color: #18d17d; + font-weight: 500; + font-size: 18px; + -ms-grid-row: 2; +} + +.gh-username a:hover { + font-weight: 600; + cursor: pointer; } #profile-bio{ diff --git a/src/index.html b/src/index.html index c5d19fa..6697c05 100755 --- a/src/index.html +++ b/src/index.html @@ -65,10 +65,10 @@

History

Jan 21, 2016

- +
sethii - +
closed pull request

@@ -83,10 +83,10 @@

History

Jan 19, 2016

- +
gajdus - +
created comment to @@ -103,10 +103,10 @@

History

Jan 19, 2016

- +
sethii - +
opened pull request

From 8d67fb654129d2c82cf44b57e1d4b9414f93c8df Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Fri, 19 Oct 2018 18:21:47 +0200 Subject: [PATCH 04/34] Added validation of user name, refactored js code, added red borded when user name is invalid in input and when user name is not found. --- src/app.js | 73 ++++++++++++++++++++++++++++++---------- src/assets/scss/app.scss | 4 +++ 2 files changed, 60 insertions(+), 17 deletions(-) diff --git a/src/app.js b/src/app.js index 7e46378..8beaa86 100755 --- a/src/app.js +++ b/src/app.js @@ -1,29 +1,68 @@ import './assets/scss/app.scss'; import $ from 'cash-dom'; - export class App { initializeApp() { - let self = this; + let self = this; + const input = $('.username.input'); - $('.load-username').on('click', function (e) { - let userName = $('.username.input').val(); + setDefaults(); + addEventListeners(); - fetch('https://api.github.com/users/' + userName) - .then((response)=> {response.json}) - .then(function (body) { - self.profile = body; - self.update_profile(); - }) + Object.defineProperty(self, "username", { + get: function () { + const username = input.val(); + const regexp = new RegExp(/^[a-zA-Z0-9-_]+$/); - }) + if ('string' === typeof username && username.match(regexp)) { + input.removeClass('.input--error'); - } + return username; + } + + input.addClass('input--error'); + + throw new Error('app.username is not valid'); + }, + }); + + function setDefaults() { + self.profile = { + bio: '', + avatar_url: '', + html_url: '', + login: '', + }; + } + + function addEventListeners() { + $('.load-username').on('click', function () { + fetch('https://api.github.com/users/' + self.username) + .then(response => { + if (200 === response.status) { + return response.json() + } + + if (404 === response.status) { + input.addClass('input--error'); + } + + throw new Error('Could not fetch username. Error: ' + response.status); + }) + .then(resp => updateGithubProfile(resp)); + + function updateGithubProfile(body) { + self.profile = body; + updateProfile(); + } + }); + } - update_profile() { - $('#profile-name').text($('.username.input').val()) - $('#profile-image').attr('src', this.profile.avatar_url) - $('#profile-url').attr('href', this.profile.html_url).text(this.profile.login) - $('#profile-bio').text(this.profile.bio || '(no information)') + function updateProfile() { + $('#profile-name').text(self.username); + $('#profile-image').attr('src', self.profile.avatar_url); + $('#profile-url').attr('href', self.profile.html_url).text(self.profile.login); + $('#profile-bio').text(self.profile.bio || '(no information)') + } } } diff --git a/src/assets/scss/app.scss b/src/assets/scss/app.scss index ccc6b2c..80a3c11 100755 --- a/src/assets/scss/app.scss +++ b/src/assets/scss/app.scss @@ -17,3 +17,7 @@ .timeline .timeline-item { padding-bottom:1em; } + +.input--error { + border: solid 1px red; +} From 0e04d50e6c280e07b33bd79096c8cc130a54a225 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 07:39:04 +0200 Subject: [PATCH 05/34] Done updateGithubHistory(); TODO: move logic from nested functions onto command pattern for each allowed event --- src/app.js | 129 +++++++++++++++++++++++++++++++++++++++++++++---- src/index.html | 2 - 2 files changed, 119 insertions(+), 12 deletions(-) diff --git a/src/app.js b/src/app.js index 8beaa86..377534a 100755 --- a/src/app.js +++ b/src/app.js @@ -5,6 +5,16 @@ export class App { initializeApp() { let self = this; const input = $('.username.input'); + const whitelistedEvents = { + PullRequestEvent: { + allowed: ['opened', 'closed'], + handler: handlePullRequestEvent, + }, + PullRequestReviewCommentEvent: { + allowed: ['created', 'deleted', 'edited'], + handler: handlePullRequestReviewCommentEvent, + }, + }; setDefaults(); addEventListeners(); @@ -35,25 +45,124 @@ export class App { }; } + function handleWhitelistedEvent(item) { + if ('string' !== typeof item.type || 'object' !== typeof item.payload) { + throw new Error('Provided values must be string'); + } + + Object.keys(whitelistedEvents).map(function (eventKey, eventProperties) { + const typeCheck = eventKey === item.type; + const payloadActionCheck = 'string' === typeof item.payload.action; + + if (typeCheck && payloadActionCheck && eventProperties.allowed.includes(item.payload.action)) { + eventProperties.handler(); + } + }); + } + function addEventListeners() { $('.load-username').on('click', function () { fetch('https://api.github.com/users/' + self.username) - .then(response => { - if (200 === response.status) { - return response.json() + .then(response => { return handleResponse(response) }) + .then(body => updateGithubProfile(body)) + .then(() => fetchUserHistory()); + + function fetchUserHistory() { + let endpoint = 'https://api.github.com/users/{username}/events/public'; + endpoint = endpoint.replace('{username}', self.username); + fetch(endpoint) + .then(response => { return handleResponse(response) }) + .then(body => updateGithubHistory(body)) + } + + function updateGithubProfile(body) { + self.profile = body; + updateProfile(); + } + + function updateGithubHistory(body) { + let even = false; + const timeline = document.getElementById('user-timeline'); + + Object.values(body).map(function (item) { + const marker = document.createElement('DIV'); + const content = document.createElement('DIV'); + + appendToContent(); + handleWhitelistedEvent(item); + + //TODO: move logic from appendToContent, build skeleton for each event rendering + + function appendToContent() { + const heading = document.createElement('P'); + const nestedContent = document.createElement('DIV'); + const img = document.createElement('IMG'); + const eventAnchor = document.createElement('A'); + let eventName; + + function eventTypeVoter() { + return 'undefined' !== item.actor + && 'undefined' !== item.created_at + && handleProperEventType(); + } + + function appendPreparedItemContent() { + const span = document.createElement('SPAN'); + const usernameAnchor = document.createElement('A'); + usernameAnchor.href = item.actor.url; + usernameAnchor.innerText = item.actor.login; + span.classList.add("gh-username"); + span.append(img, usernameAnchor); + nestedContent.append(span); + nestedContent.innerText += 'closed'; + eventAnchor.innerText = item.type; + nestedContent.appendChild(eventAnchor); + } + + content.appendChild(heading); + content.appendChild(nestedContent); } - if (404 === response.status) { - input.addClass('input--error'); + function handleProperEventType() + { + let check = false; + + if ('string' !== typeof item.type || 'object' !== typeof item.payload) { + throw new Error('Provided values must be string'); + } + + Object.keys(whitelistedEvents).map(function (key, index, value) { + const typeCheck = key === item.type; + const payloadActionCheck = 'string' === typeof item.payload.action; + + if (typeCheck && payloadActionCheck && value.includes(item.payload.action)) { + check = true; + } + }); + + return check; } - throw new Error('Could not fetch username. Error: ' + response.status); + function appendToTimeline() { + marker.classList.add('timeline-marker'); + content.classList.add('timeline-content'); + + timeline.appendChild(marker); + timeline.appendChild(content); + } }) - .then(resp => updateGithubProfile(resp)); + } - function updateGithubProfile(body) { - self.profile = body; - updateProfile(); + function handleResponse(response) { + if (200 === response.status) { + return response.json() + } + + if (404 === response.status) { + input.addClass('input--error'); + } + + throw new Error('Could not fetch username. Error: ' + response.status); } }); } diff --git a/src/index.html b/src/index.html index c5d19fa..b384c0a 100755 --- a/src/index.html +++ b/src/index.html @@ -57,9 +57,7 @@

Profile

History

-
-
From b3e39c55f210d721a565208fe0bb04c7417fc819 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 10:00:24 +0200 Subject: [PATCH 06/34] Added GithubUser class and covered constructor with mocha test --- package.json | 21 +- src/app.js | 3 +- src/components/GithubUser.js | 41 ++ src/components/timeline.js | 62 ++ test/components/GithubUserTest.js | 31 + webpack.config.js | 2 + yarn.lock | 1132 ++++++++++++++++++----------- 7 files changed, 861 insertions(+), 431 deletions(-) create mode 100644 src/components/GithubUser.js create mode 100644 src/components/timeline.js create mode 100644 test/components/GithubUserTest.js diff --git a/package.json b/package.json index 17c79f3..9d5e271 100755 --- a/package.json +++ b/package.json @@ -6,7 +6,14 @@ "scripts": { "start": "./node_modules/.bin/webpack-dev-server", "build": "./node_modules/.bin/webpack -p", - "watch": "./node_modules/.bin/webpack --watch" + "watch": "./node_modules/.bin/webpack --watch", + "test": "./node_modules/mocha/bin/mocha --compilers js:babel-core/register test/ --recursive" + }, + "babel": { + "presets": [ + "stage-3", + "latest" + ] }, "keywords": [], "author": "", @@ -15,22 +22,26 @@ "babel-core": "~6.26.0", "babel-loader": "~7.1.2", "babel-preset-env": "~1.6.0", + "babel-preset-stage-3": "^6.17.0", + "babel-preset-latest": "^6.16.0", "clean-webpack-plugin": "~0.1.17", "css-loader": "~0.28.7", - "extract-text-webpack-plugin": "~3.0.0", + "extract-text-webpack-plugin": "^4.0.0-beta.0", "file-loader": "~1.1.4", "html-loader": "~0.5.1", - "html-webpack-plugin": "~2.30.1", + "html-webpack-plugin": "^4.0.0-beta.2", "node-sass": "~4.5.3", "sass-loader": "~6.0.6", "style-loader": "~0.18.2", - "webpack": "~3.6.0", + "webpack": "^4.22.0", "webpack-dev-server": "~2.9.1" }, "dependencies": { "bulma": "^0.7.1", "bulma-start": "^0.0.2", "bulma-timeline": "^2.0.3", - "cash-dom": "^2.1.7" + "cash-dom": "^2.1.7", + "chai": "^4.2.0", + "mocha": "^5.2.0" } } diff --git a/src/app.js b/src/app.js index 377534a..826fd76 100755 --- a/src/app.js +++ b/src/app.js @@ -8,11 +8,9 @@ export class App { const whitelistedEvents = { PullRequestEvent: { allowed: ['opened', 'closed'], - handler: handlePullRequestEvent, }, PullRequestReviewCommentEvent: { allowed: ['created', 'deleted', 'edited'], - handler: handlePullRequestReviewCommentEvent, }, }; @@ -77,6 +75,7 @@ export class App { function updateGithubProfile(body) { self.profile = body; + console.log(body); updateProfile(); } diff --git a/src/components/GithubUser.js b/src/components/GithubUser.js new file mode 100644 index 0000000..f6d8d21 --- /dev/null +++ b/src/components/GithubUser.js @@ -0,0 +1,41 @@ +export class GithubUser { + constructor(profileResponse) { + const self = this; + + Object.defineProperty(self, "login", { + get: function () { + return profileResponse.login; + } + }); + + Object.defineProperty(self, "bio", { + get: function () { + return profileResponse.bio; + } + }); + + Object.defineProperty(self, "url", { + get: function () { + return profileResponse.html_url; + } + }); + + Object.defineProperty(self, "avatar", { + get: function () { + return profileResponse.avatar_url; + } + }); + + function validateProfileResponse() { + let keys = ['bio', 'avatar_url', 'html_url', 'login']; + + Object.values(keys).map(function (item) { + if ('undefined' === typeof profileResponse[item]) { + throw new Error('Invalid profileResponse'); + } + }); + } + + validateProfileResponse(); + } +} diff --git a/src/components/timeline.js b/src/components/timeline.js new file mode 100644 index 0000000..2cc369b --- /dev/null +++ b/src/components/timeline.js @@ -0,0 +1,62 @@ +export class timeline { + constructor(identifier, response) { + const self = this; + + Object.defineProperty(self, "whitelistedEvents", { + get: function () { + return { + PullRequestEvent: { + allowed: ['opened', 'closed'], + handler: handlePullRequestEvent, + }, + PullRequestReviewCommentEvent: { + allowed: ['created', 'deleted', 'edited'], + handler: handlePullRequestReviewCommentEvent, + }, + }; + } + }); + + Object.defineProperty(self, "element", { + get: function () { + const element = document.getElementById(identifier); + + if ('object' === typeof element) { + return element; + } + + throw new Error(identifier + 'not found'); + }, + }); + + Object.defineProperty(self, "collection", { + get: function () { + if ('object' !== typeof response) { + throw new Error("invalid response: " + response); + } + + return response; + } + }); + } + + prepareCollection() { + let collection = []; + + function handleWhitelistedEvent(item) { + if ('string' !== typeof item.type || 'object' !== typeof item.payload) { + throw new Error('Provided values must be string'); + } + + Object.keys(self.whitelistedEvents).map(function (eventKey, eventProperties) { + const typeCheck = eventKey === item.type; + const payloadActionCheck = 'string' === typeof item.payload.action; + + if (typeCheck && payloadActionCheck && eventProperties.allowed.includes(item.payload.action)) { + collection.push({ + }) + } + }); + } + } +} diff --git a/test/components/GithubUserTest.js b/test/components/GithubUserTest.js new file mode 100644 index 0000000..2ab30bd --- /dev/null +++ b/test/components/GithubUserTest.js @@ -0,0 +1,31 @@ +'use strict'; + +import {GithubUser} from '../../src/components/GithubUser'; +const expect = require('chai').expect; + +describe('GithubUserTest', function () { + it('test valid creation of obj', function () { + const validResponse = { + bio: "I'r baboon", + avatar_url: "https://fakeadress.com/avatar.png", + html_url: "https://fakeadress.com/index.html", + login: "baboon" + }; + const validGithubUser = new GithubUser(validResponse); + + expect(validGithubUser).to.be.instanceOf(GithubUser); + }); + + it('test invalid creation of obj', function () { + try { + new GithubUser("some invalid string"); + } catch (e) { + expect(e.message).to.be.equal('Invalid profileResponse'); + const thrown = true; + } + + expect('boolean' === typeof thrown); + }); +}); + + diff --git a/webpack.config.js b/webpack.config.js index 550bb45..c461054 100755 --- a/webpack.config.js +++ b/webpack.config.js @@ -10,6 +10,8 @@ const config = { context: path.resolve(__dirname, 'src'), + mode: 'development', + entry: { app: './index.js' }, diff --git a/yarn.lock b/yarn.lock index 028c1f3..b1f780c 100755 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,139 @@ # yarn lockfile v1 +"@webassemblyjs/ast@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.8.tgz#f31f480debeef957f01b623f27eabc695fa4fe8f" + dependencies: + "@webassemblyjs/helper-module-context" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/wast-parser" "1.7.8" + +"@webassemblyjs/floating-point-hex-parser@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz#1b3ed0e27e384032254e9322fc646dd3e70ef1b9" + +"@webassemblyjs/helper-api-error@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz#a2b49c11f615e736f815ec927f035dcfa690d572" + +"@webassemblyjs/helper-buffer@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz#3fc66bfa09c1c60e824cf3d5887826fac062877d" + +"@webassemblyjs/helper-code-frame@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz#cc5a7e9522b70e7580df056dfd34020cf29645b0" + dependencies: + "@webassemblyjs/wast-printer" "1.7.8" + +"@webassemblyjs/helper-fsm@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz#fe4607430af466912797c21acafd3046080182ea" + +"@webassemblyjs/helper-module-context@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz#3c2e7ee93d14ff4768ba66fb1be42fdc9dc7160a" + +"@webassemblyjs/helper-wasm-bytecode@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz#89bdb78cd6dd5209ae2ed2925de78d0f0e00b6f0" + +"@webassemblyjs/helper-wasm-section@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz#c68ef7d26a6fc12421b2e6e56f9bc810dfb33e87" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-buffer" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/wasm-gen" "1.7.8" + +"@webassemblyjs/ieee754@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz#1f37974b13cb486a9237e73ce04cac7a2f1265ed" + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.8.tgz#1bee83426819192db2ea1a234b84c7ebc6d34c1f" + dependencies: + "@xtuc/long" "4.2.1" + +"@webassemblyjs/utf8@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.8.tgz#2b489d5cf43e0aebb93d8e2d792aff9879c61f05" + +"@webassemblyjs/wasm-edit@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz#f8bdbe7088718eca27b1c349bb7c06b8a457950c" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-buffer" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/helper-wasm-section" "1.7.8" + "@webassemblyjs/wasm-gen" "1.7.8" + "@webassemblyjs/wasm-opt" "1.7.8" + "@webassemblyjs/wasm-parser" "1.7.8" + "@webassemblyjs/wast-printer" "1.7.8" + +"@webassemblyjs/wasm-gen@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz#7e8abf1545eae74ac6781d545c034af3cfd0c7d5" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/ieee754" "1.7.8" + "@webassemblyjs/leb128" "1.7.8" + "@webassemblyjs/utf8" "1.7.8" + +"@webassemblyjs/wasm-opt@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz#7ada6e211914728fce02ff0ff9c344edc6d41f26" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-buffer" "1.7.8" + "@webassemblyjs/wasm-gen" "1.7.8" + "@webassemblyjs/wasm-parser" "1.7.8" + +"@webassemblyjs/wasm-parser@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz#dac47c291fb6a3e63529aecd647592cd34afbf94" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-api-error" "1.7.8" + "@webassemblyjs/helper-wasm-bytecode" "1.7.8" + "@webassemblyjs/ieee754" "1.7.8" + "@webassemblyjs/leb128" "1.7.8" + "@webassemblyjs/utf8" "1.7.8" + +"@webassemblyjs/wast-parser@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz#f8aab9a450c048c1f9537695c89faeb92fabfba5" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/floating-point-hex-parser" "1.7.8" + "@webassemblyjs/helper-api-error" "1.7.8" + "@webassemblyjs/helper-code-frame" "1.7.8" + "@webassemblyjs/helper-fsm" "1.7.8" + "@xtuc/long" "4.2.1" + +"@webassemblyjs/wast-printer@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz#e7e965782c1912f6a965f14a53ff43d8ad0403a5" + dependencies: + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/wast-parser" "1.7.8" + "@xtuc/long" "4.2.1" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + +"@xtuc/long@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -13,29 +146,25 @@ accepts@~1.3.4, accepts@~1.3.5: mime-types "~2.1.18" negotiator "0.6.1" -acorn-dynamic-import@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" dependencies: - acorn "^4.0.3" - -acorn@^4.0.3: - version "4.0.13" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + acorn "^5.0.0" acorn@^5.0.0: version "5.5.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" -ajv-keywords@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" +acorn@^5.6.2: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" ajv-keywords@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" -ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5: +ajv@^5.0.0, ajv@^5.1.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -53,14 +182,6 @@ ajv@^6.1.0: json-schema-traverse "^0.3.0" uri-js "^4.2.1" -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -105,7 +226,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -aproba@^1.0.3: +aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -199,6 +320,10 @@ assert@^1.1.1: dependencies: util "0.10.3" +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -219,7 +344,7 @@ async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2, async@^2.4.1: +async@^2.4.1: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" dependencies: @@ -422,15 +547,31 @@ babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + babel-plugin-syntax-trailing-function-commas@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" -babel-plugin-transform-async-to-generator@^6.22.0: +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: @@ -450,7 +591,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.23.0: +babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: @@ -460,7 +601,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0: babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.23.0: +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -474,33 +615,33 @@ babel-plugin-transform-es2015-classes@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0: +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.23.0: +babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.23.0: +babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0: +babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -531,7 +672,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: @@ -539,7 +680,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.23.0: +babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: @@ -547,14 +688,14 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0: +babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.23.0: +babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -565,7 +706,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: @@ -578,7 +719,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0: +babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: @@ -592,13 +733,13 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: +babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0: +babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: @@ -606,7 +747,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.22.0: babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.22.0: +babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: @@ -614,7 +755,14 @@ babel-plugin-transform-exponentiation-operator@^6.22.0: babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.22.0: +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: @@ -662,6 +810,66 @@ babel-preset-env@~1.6.0: invariant "^2.2.2" semver "^5.3.0" +babel-preset-es2015@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-es2016@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.24.1.tgz#f900bf93e2ebc0d276df9b8ab59724ebfd959f8b" + dependencies: + babel-plugin-transform-exponentiation-operator "^6.24.1" + +babel-preset-es2017@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.24.1.tgz#597beadfb9f7f208bcfd8a12e9b2b29b8b2f14d1" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.24.1" + +babel-preset-latest@^6.16.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.24.1.tgz#677de069154a7485c2d25c577c02f624b85b85e8" + dependencies: + babel-preset-es2015 "^6.24.1" + babel-preset-es2016 "^6.24.1" + babel-preset-es2017 "^6.24.1" + +babel-preset-stage-3@^6.17.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" @@ -766,9 +974,9 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.4.7: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" +bluebird@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" @@ -838,6 +1046,10 @@ brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -904,6 +1116,10 @@ browserslist@^2.1.2: caniuse-lite "^1.0.30000792" electron-to-chromium "^1.3.30" +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + buffer-indexof@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" @@ -944,6 +1160,24 @@ bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" +cacache@^10.0.4: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -972,10 +1206,6 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -984,10 +1214,6 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - caniuse-api@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" @@ -1013,12 +1239,16 @@ cash-dom@^2.1.7: version "2.1.7" resolved "https://registry.yarnpkg.com/cash-dom/-/cash-dom-2.1.7.tgz#74feaae732034777b3c0f3ebded07f858e4a4c88" -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" +chai@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.0" + type-detect "^4.0.5" chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" @@ -1038,6 +1268,10 @@ chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + chokidar@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1075,6 +1309,12 @@ chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" +chrome-trace-event@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" + dependencies: + tslib "^1.9.0" + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -1103,20 +1343,18 @@ clean-css@4.1.x: dependencies: source-map "0.5.x" +clean-css@4.2.x: + version "4.2.1" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" + dependencies: + source-map "~0.6.0" + clean-webpack-plugin@~0.1.17: version "0.1.19" resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz#ceda8bb96b00fe168e9b080272960d20fdcadd6d" dependencies: rimraf "^2.6.1" -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -1201,10 +1439,18 @@ combined-stream@1.0.6, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.15.x, commander@~2.15.0: +commander@2.15.1, commander@2.15.x, commander@~2.15.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" +commander@2.17.x, commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1235,6 +1481,15 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + connect-history-api-fallback@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" @@ -1273,6 +1528,17 @@ cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" @@ -1320,14 +1586,6 @@ cross-spawn@^3.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -1442,11 +1700,9 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" +cyclist@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" dashdash@^1.12.0: version "1.14.1" @@ -1464,13 +1720,13 @@ debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6. dependencies: ms "2.0.0" -debug@^3.1.0: +debug@3.1.0, debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" dependencies: ms "2.0.0" -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1478,6 +1734,12 @@ decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + dependencies: + type-detect "^4.0.0" + deep-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -1568,6 +1830,10 @@ detect-node@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -1637,6 +1903,15 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz#b1a7a29c4abfd639585efaecce80d666b1e34125" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -1671,20 +1946,25 @@ encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" -enhanced-resolve@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" - object-assign "^4.0.1" - tapable "^0.2.7" + tapable "^1.0.0" entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -errno@^0.1.3: +errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" dependencies: @@ -1696,6 +1976,16 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.5.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + es-abstract@^1.7.0: version "1.11.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" @@ -1714,50 +2004,6 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.44" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.44.tgz#7a877e994bb190aebd4718aa2d62784a12e2ca20" - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "1" - -es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-templates@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" @@ -1765,29 +2011,18 @@ es6-templates@^0.2.3: recast "~0.11.12" through "~2.3.6" -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" +eslint-scope@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" esrecurse "^4.1.0" estraverse "^4.1.1" @@ -1817,13 +2052,6 @@ etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - eventemitter3@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" @@ -1845,18 +2073,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -1952,14 +2168,14 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-text-webpack-plugin@~3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" +extract-text-webpack-plugin@^4.0.0-beta.0: + version "4.0.0-beta.0" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz#f7361d7ff430b42961f8d1321ba8c1757b5d4c42" dependencies: async "^2.4.1" loader-utils "^1.1.0" - schema-utils "^0.3.0" - webpack-sources "^1.0.1" + schema-utils "^0.4.5" + webpack-sources "^1.1.0" extsprintf@1.3.0: version "1.3.0" @@ -2054,7 +2270,7 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: @@ -2064,6 +2280,13 @@ flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" +flush-write-stream@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.4" + follow-redirects@^1.0.0: version "1.5.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.0.tgz#234f49cf770b7f35b40e790f636ceba0c3a0ab77" @@ -2120,12 +2343,28 @@ fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" dependencies: minipass "^2.2.1" +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2173,14 +2412,14 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -2211,7 +2450,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -2222,6 +2461,17 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -2244,10 +2494,14 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" -graceful-fs@^4.1.2: +graceful-fs@^4.1.11, graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + handle-thing@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" @@ -2332,7 +2586,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -he@1.1.x: +he@1.1.1, he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -2382,7 +2636,19 @@ html-loader@~0.5.1: loader-utils "^1.1.0" object-assign "^4.1.1" -html-minifier@^3.2.3, html-minifier@^3.5.8: +html-minifier@^3.5.20: + version "3.5.20" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.20.tgz#7b19fd3caa0cb79f7cde5ee5c3abdf8ecaa6bb14" + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.1.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-minifier@^3.5.8: version "3.5.16" resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.16.tgz#39f5aabaf78bdfc057fe67334226efd7f3851175" dependencies: @@ -2394,16 +2660,16 @@ html-minifier@^3.2.3, html-minifier@^3.5.8: relateurl "0.2.x" uglify-js "3.3.x" -html-webpack-plugin@~2.30.1: - version "2.30.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" +html-webpack-plugin@^4.0.0-beta.2: + version "4.0.0-beta.2" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.2.tgz#c3a212448ee198a17dacd06525678ee12f917420" dependencies: - bluebird "^3.4.7" - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - toposort "^1.0.0" + html-minifier "^3.5.20" + loader-utils "^1.1.0" + lodash "^4.17.11" + pretty-error "^2.1.1" + tapable "^1.1.0" + util.promisify "1.0.0" htmlparser2@~3.3.0: version "3.3.0" @@ -2493,6 +2759,10 @@ ieee754@^1.1.4: version "1.1.11" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + ignore-walk@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" @@ -2506,6 +2776,10 @@ import-local@^0.1.1: pkg-dir "^2.0.0" resolve-cwd "^2.0.0" +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + in-publish@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" @@ -2549,10 +2823,6 @@ internal-ip@1.2.0: dependencies: meow "^3.3.0" -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -2767,10 +3037,6 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - is-svg@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" @@ -2850,9 +3116,9 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" -json-loader@^0.5.4: - version "0.5.7" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" json-schema-traverse@^0.3.0: version "0.3.1" @@ -2907,10 +3173,6 @@ kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -2927,28 +3189,10 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" @@ -2992,18 +3236,18 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@~4.17.10: +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.4, lodash@~4.17.10: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" +lodash@^4.17.11: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + loglevel@^1.4.1: version "1.6.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" @@ -3021,7 +3265,7 @@ lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" -lru-cache@^4.0.1: +lru-cache@^4.0.1, lru-cache@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" dependencies: @@ -3067,12 +3311,6 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - memory-fs@^0.4.0, memory-fs@~0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -3121,7 +3359,7 @@ micromatch@^2.1.5, micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.4: +micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" dependencies: @@ -3164,10 +3402,6 @@ mime@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -3176,7 +3410,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -3203,6 +3437,21 @@ minizlib@^1.1.0: dependencies: minipass "^2.2.1" +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" @@ -3217,12 +3466,39 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" +mocha@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" + dependencies: + browser-stdout "1.3.1" + commander "2.15.1" + debug "3.1.0" + diff "3.5.0" + escape-string-regexp "1.0.5" + glob "7.1.2" + growl "1.10.5" + he "1.1.1" + minimatch "3.0.4" + mkdirp "0.5.1" + supports-color "5.4.0" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -3275,10 +3551,6 @@ neo-async@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" -next-tick@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - no-case@^2.2.0: version "2.3.2" resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" @@ -3425,12 +3697,6 @@ npm-packlist@^1.1.6: ignore-walk "^3.0.1" npm-bundled "^1.0.1" -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" @@ -3480,6 +3746,13 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -3507,7 +3780,7 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@^1.3.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -3539,14 +3812,6 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -3558,10 +3823,6 @@ osenv@0, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - p-limit@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" @@ -3586,6 +3847,14 @@ pako@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" +parallel-transform@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + dependencies: + cyclist "~0.2.2" + inherits "^2.0.3" + readable-stream "^2.1.5" + param-case@2.1.x: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" @@ -3651,10 +3920,6 @@ path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -3667,11 +3932,9 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" +pathval@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" pbkdf2@^3.0.3: version "3.0.16" @@ -3976,7 +4239,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-error@^2.0.2: +pretty-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" dependencies: @@ -3995,6 +4258,10 @@ process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + proxy-addr@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" @@ -4020,6 +4287,21 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" +pump@^2.0.0, pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" @@ -4113,13 +4395,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -4128,24 +4403,7 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -readable-stream@1.0: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -4157,6 +4415,15 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@1.0: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -4338,13 +4605,7 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@2, rimraf@^2.2.8, rimraf@^2.6.1: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: @@ -4357,6 +4618,12 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + dependencies: + aproba "^1.1.1" + safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -4404,6 +4671,13 @@ schema-utils@^0.3.0: dependencies: ajv "^5.0.0" +schema-utils@^0.4.4: + version "0.4.7" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + schema-utils@^0.4.5: version "0.4.5" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" @@ -4454,6 +4728,10 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" +serialize-javascript@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" + serve-index@^1.7.2: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" @@ -4528,16 +4806,6 @@ shallow-clone@^1.0.0: kind-of "^5.0.0" mixin-object "^2.0.1" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -4621,7 +4889,7 @@ source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" -source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1: +source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -4631,7 +4899,7 @@ source-map@^0.4.2: dependencies: amdefine ">=0.0.4" -source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -4704,6 +4972,12 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" +ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + dependencies: + safe-buffer "^5.1.1" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -4732,6 +5006,13 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + stream-http@^2.7.2: version "2.8.2" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87" @@ -4742,6 +5023,10 @@ stream-http@^2.7.2: to-arraybuffer "^1.0.0" xtend "^4.0.0" +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -4754,7 +5039,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0: +"string-width@^1.0.2 || 2": version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: @@ -4789,14 +5074,6 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" @@ -4814,6 +5091,12 @@ style-loader@~0.18.2: loader-utils "^1.0.2" schema-utils "^0.3.0" +supports-color@5.4.0, supports-color@^5.3.0, supports-color@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + dependencies: + has-flag "^3.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -4830,12 +5113,6 @@ supports-color@^4.2.1: dependencies: has-flag "^2.0.0" -supports-color@^5.3.0, supports-color@^5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - dependencies: - has-flag "^3.0.0" - svgo@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" @@ -4848,9 +5125,9 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" -tapable@^0.2.7: - version "0.2.8" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" +tapable@^1.0.0, tapable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.0.tgz#0d076a172e3d9ba088fd2272b2668fb8d194b78c" tar@^2.0.0: version "2.2.1" @@ -4872,6 +5149,13 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" +through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + through@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -4920,10 +5204,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -toposort@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" - tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" @@ -4938,6 +5218,10 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -4952,6 +5236,10 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + type-is@~1.6.15, type-is@~1.6.16: version "1.6.16" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" @@ -4959,6 +5247,17 @@ type-is@~1.6.15, type-is@~1.6.16: media-typer "0.3.0" mime-types "~2.1.18" +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uglify-es@^3.3.4: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + uglify-js@3.3.x: version "3.3.28" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.28.tgz#0efb9a13850e11303361c1051f64d2ec68d9be06" @@ -4966,26 +5265,25 @@ uglify-js@3.3.x: commander "~2.15.0" source-map "~0.6.1" -uglify-js@^2.8.29: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" +uglify-js@3.4.x: + version "3.4.9" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + commander "~2.17.1" + source-map "~0.6.1" -uglifyjs-webpack-plugin@^0.4.6: - version "0.4.6" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" +uglifyjs-webpack-plugin@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz#75f548160858163a08643e086d5fefe18a5d67de" dependencies: - source-map "^0.5.6" - uglify-js "^2.8.29" - webpack-sources "^1.0.1" + cacache "^10.0.4" + find-cache-dir "^1.0.0" + schema-utils "^0.4.5" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + uglify-es "^3.3.4" + webpack-sources "^1.1.0" + worker-farm "^1.5.2" union-value@^1.0.0: version "1.0.0" @@ -5004,6 +5302,18 @@ uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" +unique-filename@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" + dependencies: + imurmurhash "^0.1.4" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -5057,6 +5367,13 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + util@0.10.3, util@^0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -5112,7 +5429,7 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" -watchpack@^1.4.0: +watchpack@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" dependencies: @@ -5168,39 +5485,41 @@ webpack-dev-server@~2.9.1: webpack-dev-middleware "^1.11.0" yargs "^6.6.0" -webpack-sources@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" +webpack-sources@^1.1.0, webpack-sources@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" dependencies: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.6.0.tgz#a89a929fbee205d35a4fa2cc487be9cbec8898bc" +webpack@^4.22.0: + version "4.22.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.22.0.tgz#b168111e2e7b05f5169ac484e79e62093ec39e0d" dependencies: - acorn "^5.0.0" - acorn-dynamic-import "^2.0.0" - ajv "^5.1.5" - ajv-keywords "^2.0.0" - async "^2.1.2" - enhanced-resolve "^3.4.0" - escope "^3.6.0" - interpret "^1.0.0" - json-loader "^0.5.4" - json5 "^0.5.1" + "@webassemblyjs/ast" "1.7.8" + "@webassemblyjs/helper-module-context" "1.7.8" + "@webassemblyjs/wasm-edit" "1.7.8" + "@webassemblyjs/wasm-parser" "1.7.8" + acorn "^5.6.2" + acorn-dynamic-import "^3.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + chrome-trace-event "^1.0.0" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.0" + json-parse-better-errors "^1.0.2" loader-runner "^2.3.0" loader-utils "^1.1.0" memory-fs "~0.4.1" + micromatch "^3.1.8" mkdirp "~0.5.0" + neo-async "^2.5.0" node-libs-browser "^2.0.0" - source-map "^0.5.3" - supports-color "^4.2.1" - tapable "^0.2.7" - uglifyjs-webpack-plugin "^0.4.6" - watchpack "^1.4.0" - webpack-sources "^1.0.1" - yargs "^8.0.2" + schema-utils "^0.4.4" + tapable "^1.1.0" + uglifyjs-webpack-plugin "^1.2.4" + watchpack "^1.5.0" + webpack-sources "^1.3.0" websocket-driver@>=0.5.1: version "0.7.0" @@ -5221,10 +5540,6 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - which@1, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -5237,13 +5552,11 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" +worker-farm@^1.5.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" + dependencies: + errno "~0.1.7" wrap-ansi@^2.0.0: version "2.1.0" @@ -5256,7 +5569,7 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -xtend@^4.0.0: +xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -5264,6 +5577,10 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -5284,12 +5601,6 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - dependencies: - camelcase "^4.1.0" - yargs@^6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" @@ -5325,30 +5636,3 @@ yargs@^7.0.0: which-module "^1.0.0" y18n "^3.2.1" yargs-parser "^5.0.0" - -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" From a4314521d01c03cdeddb3139f491f58789c94285 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 10:42:07 +0200 Subject: [PATCH 07/34] Created Profile component --- src/app.js | 20 ++------ src/components/GithubUser.js | 8 +++- src/components/Profile.js | 79 +++++++++++++++++++++++++++++++ test/components/GithubUserTest.js | 3 +- 4 files changed, 93 insertions(+), 17 deletions(-) create mode 100644 src/components/Profile.js diff --git a/src/app.js b/src/app.js index 826fd76..ab531d6 100755 --- a/src/app.js +++ b/src/app.js @@ -1,5 +1,6 @@ import './assets/scss/app.scss'; import $ from 'cash-dom'; +import {GithubUser} from "./components/GithubUser"; export class App { initializeApp() { @@ -14,7 +15,6 @@ export class App { }, }; - setDefaults(); addEventListeners(); Object.defineProperty(self, "username", { @@ -34,15 +34,6 @@ export class App { }, }); - function setDefaults() { - self.profile = { - bio: '', - avatar_url: '', - html_url: '', - login: '', - }; - } - function handleWhitelistedEvent(item) { if ('string' !== typeof item.type || 'object' !== typeof item.payload) { throw new Error('Provided values must be string'); @@ -74,8 +65,7 @@ export class App { } function updateGithubProfile(body) { - self.profile = body; - console.log(body); + self.profile = new GithubUser(body); updateProfile(); } @@ -167,9 +157,9 @@ export class App { } function updateProfile() { - $('#profile-name').text(self.username); - $('#profile-image').attr('src', self.profile.avatar_url); - $('#profile-url').attr('href', self.profile.html_url).text(self.profile.login); + $('#profile-name').text(self.profile.name); + $('#profile-image').attr('src', self.profile.avatar); + $('#profile-url').attr('href', self.profile.url).text(self.profile.login); $('#profile-bio').text(self.profile.bio || '(no information)') } } diff --git a/src/components/GithubUser.js b/src/components/GithubUser.js index f6d8d21..b84d9b4 100644 --- a/src/components/GithubUser.js +++ b/src/components/GithubUser.js @@ -2,6 +2,12 @@ export class GithubUser { constructor(profileResponse) { const self = this; + Object.defineProperty(self, "name", { + get: function () { + return profileResponse.name; + } + }); + Object.defineProperty(self, "login", { get: function () { return profileResponse.login; @@ -27,7 +33,7 @@ export class GithubUser { }); function validateProfileResponse() { - let keys = ['bio', 'avatar_url', 'html_url', 'login']; + let keys = ['name', 'bio', 'avatar_url', 'html_url', 'login']; Object.values(keys).map(function (item) { if ('undefined' === typeof profileResponse[item]) { diff --git a/src/components/Profile.js b/src/components/Profile.js new file mode 100644 index 0000000..4786adc --- /dev/null +++ b/src/components/Profile.js @@ -0,0 +1,79 @@ +export class Profile { + constructor(GithubUser, containerId) { + const self = this; + + Object.defineProperty(self, "user", { + get: function () { + if (!GithubUser instanceof GithubUser) { + throw new Error('GithubUser is not instance of itself'); + } + + return GithubUser; + } + }); + + Object.defineProperty(self, "container", { + get: function () { + const element = document.getElementById(containerId); + + if ('object' !== typeof element) { + throw new Error('containerId ' + containerId + ' was not found'); + } + + return element; + } + }); + } + + getMediaElement() { + const mediaElement = document.createElement('DIV'); + mediaElement.classList.add('media'); + + function getMediaLeft() { + const mediaLeft = document.createElement('DIV'); + const figure = document.createElement('FIGURE'); + const img = document.createElement('IMG'); + + mediaLeft.classList.add('media-left'); + figure.classList.add('media-left', 'image', 'is-64x64'); + img.id = 'profile-image'; + img.src = self.user.avatar; + figure.appendChild(img); + mediaLeft.appendChild(figure); + + return mediaLeft; + } + + function getMediaContent() { + const mediaContent = document.createElement('DIV'); + const profileName = document.createElement('DIV'); + const subtitle = document.createElement('DIV'); + const anchorProfileUrl = document.createElement('A'); + + mediaContent.classList.add('media-left'); + profileName.classList.add('title', 'is-5'); + profileName.id = 'profile-name'; + profileName.innerText = self.user.name; + subtitle.classList.add('subtitle', 'is-6'); + anchorProfileUrl.href = self.user.url; + anchorProfileUrl.id = 'profile-url'; + anchorProfileUrl.innerText = '@' + self.user.login; + + subtitle.appendChild(anchorProfileUrl); + mediaContent.appendChild(profileName); + mediaContent.appendChild(subtitle); + + return mediaContent; + } + + mediaElement.appendChild(getMediaLeft()); + mediaElement.appendChild(getMediaContent()); + + + return mediaElement; + } + + static append() { + self.container.appendChild(self.getMediaElement()); + } +} diff --git a/test/components/GithubUserTest.js b/test/components/GithubUserTest.js index 2ab30bd..ddba976 100644 --- a/test/components/GithubUserTest.js +++ b/test/components/GithubUserTest.js @@ -6,10 +6,11 @@ const expect = require('chai').expect; describe('GithubUserTest', function () { it('test valid creation of obj', function () { const validResponse = { + name: 'baboon', bio: "I'r baboon", avatar_url: "https://fakeadress.com/avatar.png", html_url: "https://fakeadress.com/index.html", - login: "baboon" + login: "baboonX" }; const validGithubUser = new GithubUser(validResponse); From 78d36d5401b829e97d71af1df50d733db3b15a1f Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 12:47:33 +0200 Subject: [PATCH 08/34] Tests for Profile, GithubUser Todo: move GithubUser onto entity folder --- package.json | 5 +- src/components/Profile.js | 21 +- test/components/GithubUserTest.js | 16 +- test/components/ProfileComponentTest.js | 46 ++++ test/plainJsTestHelper.js | 10 + yarn.lock | 333 +++++++++++++++++++++++- 6 files changed, 410 insertions(+), 21 deletions(-) create mode 100644 test/components/ProfileComponentTest.js create mode 100644 test/plainJsTestHelper.js diff --git a/package.json b/package.json index 9d5e271..061a083 100755 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "start": "./node_modules/.bin/webpack-dev-server", "build": "./node_modules/.bin/webpack -p", "watch": "./node_modules/.bin/webpack --watch", - "test": "./node_modules/mocha/bin/mocha --compilers js:babel-core/register test/ --recursive" + "test": "./node_modules/mocha/bin/mocha --compilers js:babel-core/register test/ --recursive --require test/plainJsTestHelper.js" }, "babel": { "presets": [ @@ -22,8 +22,8 @@ "babel-core": "~6.26.0", "babel-loader": "~7.1.2", "babel-preset-env": "~1.6.0", - "babel-preset-stage-3": "^6.17.0", "babel-preset-latest": "^6.16.0", + "babel-preset-stage-3": "^6.17.0", "clean-webpack-plugin": "~0.1.17", "css-loader": "~0.28.7", "extract-text-webpack-plugin": "^4.0.0-beta.0", @@ -42,6 +42,7 @@ "bulma-timeline": "^2.0.3", "cash-dom": "^2.1.7", "chai": "^4.2.0", + "jsdom": "^12.2.0", "mocha": "^5.2.0" } } diff --git a/src/components/Profile.js b/src/components/Profile.js index 4786adc..2cd26f9 100644 --- a/src/components/Profile.js +++ b/src/components/Profile.js @@ -1,22 +1,27 @@ export class Profile { - constructor(GithubUser, containerId) { + constructor(githubUser, containerId) { const self = this; - Object.defineProperty(self, "user", { + Object.defineProperty(self, 'user', { get: function () { - if (!GithubUser instanceof GithubUser) { + const undefinedCheck = 'object' !== typeof githubUser + || 'undefined' === typeof githubUser.constructor; + const check = undefinedCheck || githubUser.constructor.name !== 'GithubUser'; + + if (check) { throw new Error('GithubUser is not instance of itself'); } - return GithubUser; + return githubUser; } }); - Object.defineProperty(self, "container", { + Object.defineProperty(self, 'container', { get: function () { const element = document.getElementById(containerId); + console.log(element); - if ('object' !== typeof element) { + if (null === element) { throw new Error('containerId ' + containerId + ' was not found'); } @@ -26,6 +31,7 @@ export class Profile { } getMediaElement() { + const self = this; const mediaElement = document.createElement('DIV'); mediaElement.classList.add('media'); @@ -73,7 +79,8 @@ export class Profile { return mediaElement; } - static append() { + appendHtml() { + const self = this; self.container.appendChild(self.getMediaElement()); } } diff --git a/test/components/GithubUserTest.js b/test/components/GithubUserTest.js index ddba976..0ba004a 100644 --- a/test/components/GithubUserTest.js +++ b/test/components/GithubUserTest.js @@ -7,10 +7,10 @@ describe('GithubUserTest', function () { it('test valid creation of obj', function () { const validResponse = { name: 'baboon', - bio: "I'r baboon", - avatar_url: "https://fakeadress.com/avatar.png", - html_url: "https://fakeadress.com/index.html", - login: "baboonX" + bio: 'I\'r baboon', + avatar_url: 'https://fakeadress.com/avatar.png', + html_url: 'https://fakeadress.com/index.html', + login: 'baboonX' }; const validGithubUser = new GithubUser(validResponse); @@ -18,14 +18,16 @@ describe('GithubUserTest', function () { }); it('test invalid creation of obj', function () { + let thrown; + try { - new GithubUser("some invalid string"); + new GithubUser('some invalid string'); } catch (e) { expect(e.message).to.be.equal('Invalid profileResponse'); - const thrown = true; + thrown = true; } - expect('boolean' === typeof thrown); + expect(thrown).to.be.true; }); }); diff --git a/test/components/ProfileComponentTest.js b/test/components/ProfileComponentTest.js new file mode 100644 index 0000000..c74cc2b --- /dev/null +++ b/test/components/ProfileComponentTest.js @@ -0,0 +1,46 @@ +'use strict'; + +import {Profile} from "../../src/components/Profile"; +import {GithubUser} from "../../src/components/GithubUser"; +const expect = require('chai').expect; + +describe('ProfileComponentTest', function () { + it('test append method', function () { + const validResponse = { + name: 'baboon', + bio: "I'r baboon", + avatar_url: 'https://fakeadress.com/avatar.png', + html_url: 'https://fakeadress.com/index.html', + login: 'baboonX' + }; + const expectedHTML = '
'; + + const user = new GithubUser(validResponse); + const profile = new Profile(user, 'beforeRow'); + const htmlNode = document.getElementById('beforeRow'); + profile.appendHtml(); + expect(htmlNode.innerHTML).to.be.equal(expectedHTML); + }); + + it('test invalid creation', function () { + let thrown; + let thrown1; + + try { + thrown = new Profile('some invalid string').user; + } catch (e) { + expect(e.message).to.be.equal('GithubUser is not instance of itself'); + thrown = true; + } + + try { + thrown1 = new Profile('some invalid string', 'fakeId').container; + } catch (e) { + expect(e.message).to.be.equal('containerId fakeId was not found'); + thrown1 = true; + } + + expect(thrown).to.be.true; + expect(thrown1).to.be.true; + }); +}); diff --git a/test/plainJsTestHelper.js b/test/plainJsTestHelper.js new file mode 100644 index 0000000..22b8580 --- /dev/null +++ b/test/plainJsTestHelper.js @@ -0,0 +1,10 @@ +import { JSDOM } from 'jsdom'; + +const dom = new JSDOM( + `
` +); +export const win = dom.window; +export const document = dom.window.document; + +global.window = win; +global.document = document; diff --git a/yarn.lock b/yarn.lock index b1f780c..a142c8f 100755 --- a/yarn.lock +++ b/yarn.lock @@ -135,6 +135,10 @@ version "4.2.1" resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" +abab@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -152,6 +156,17 @@ acorn-dynamic-import@^3.0.0: dependencies: acorn "^5.0.0" +acorn-globals@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-walk@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.0.tgz#c957f4a1460da46af4a0388ce28b4c99355b0cbc" + acorn@^5.0.0: version "5.5.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" @@ -160,11 +175,15 @@ acorn@^5.6.2: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" +acorn@^6.0.1, acorn@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.2.tgz#6a459041c320ab17592c6317abbfdf4bbaa98ca4" + ajv-keywords@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" -ajv@^5.0.0, ajv@^5.1.0: +ajv@^5.0.0, ajv@^5.1.0, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -261,6 +280,10 @@ arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -340,6 +363,10 @@ async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -377,6 +404,10 @@ aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -1046,6 +1077,10 @@ brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" +browser-process-hrtime@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" + browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -1439,6 +1474,12 @@ combined-stream@1.0.6, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + dependencies: + delayed-stream "~1.0.0" + commander@2.15.1, commander@2.15.x, commander@~2.15.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" @@ -1694,6 +1735,16 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" +cssom@0.3.x, cssom@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + +cssstyle@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" + dependencies: + cssom "0.3.x" + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -1710,6 +1761,14 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-urls@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.1.tgz#d416ac3896918f29ca84d81085bc3705834da579" + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.1.0" + whatwg-url "^7.0.0" + date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -1748,6 +1807,10 @@ deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -1884,6 +1947,12 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + dependencies: + webidl-conversions "^4.0.2" + domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" @@ -2019,6 +2088,17 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +escodegen@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + eslint-scope@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" @@ -2030,7 +2110,7 @@ esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esprima@~3.1.0: +esprima@^3.1.3, esprima@~3.1.0: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" @@ -2040,7 +2120,7 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" @@ -2149,6 +2229,10 @@ extend@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" @@ -2197,6 +2281,10 @@ fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" @@ -2329,6 +2417,14 @@ form-data@~2.3.1: combined-stream "1.0.6" mime-types "^2.1.12" +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -2517,6 +2613,13 @@ har-validator@~5.0.3: ajv "^5.1.0" har-schema "^2.0.0" +har-validator@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" + dependencies: + ajv "^5.3.0" + har-schema "^2.0.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -2622,6 +2725,12 @@ html-comment-regex@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + dependencies: + whatwg-encoding "^1.0.1" + html-entities@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" @@ -2739,6 +2848,12 @@ iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + dependencies: + safer-buffer ">= 2.1.2 < 3" + iconv-lite@^0.4.4: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" @@ -3108,6 +3223,36 @@ jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" +jsdom@^12.2.0: + version "12.2.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-12.2.0.tgz#7cf3f5b5eafd47f8f09ca52315d367ff6e95de23" + dependencies: + abab "^2.0.0" + acorn "^6.0.2" + acorn-globals "^4.3.0" + array-equal "^1.0.0" + cssom "^0.3.4" + cssstyle "^1.1.1" + data-urls "^1.0.1" + domexception "^1.0.1" + escodegen "^1.11.0" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.0.9" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.5" + saxes "^3.1.3" + symbol-tree "^3.2.2" + tough-cookie "^2.4.3" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + ws "^6.1.0" + xml-name-validator "^3.0.0" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -3179,6 +3324,13 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -3228,6 +3380,10 @@ lodash.mergewith@^4.6.0: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" @@ -3240,7 +3396,7 @@ lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.4, lodash@~4.17.10: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" -lodash@^4.17.11: +lodash@^4.13.1, lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" @@ -3388,12 +3544,22 @@ miller-rabin@^4.0.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" +mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: version "2.1.18" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" dependencies: mime-db "~1.33.0" +mime-types@~2.1.19: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + dependencies: + mime-db "~1.37.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -3720,10 +3886,18 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +nwsapi@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" + oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -3792,6 +3966,17 @@ opn@^5.1.0: dependencies: is-wsl "^1.1.0" +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + original@>=0.0.5: version "1.0.1" resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" @@ -3886,6 +4071,10 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" @@ -3974,6 +4163,10 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + portfinder@^1.0.9: version "1.0.13" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -4231,6 +4424,10 @@ postcss@^6.0.1: source-map "^0.6.1" supports-color "^5.4.0" +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -4277,6 +4474,10 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +psl@^1.1.24: + version "1.1.29" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + public-encrypt@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" @@ -4322,7 +4523,7 @@ qs@6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" -qs@~6.5.1: +qs@~6.5.1, qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -4550,6 +4751,20 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + request@2, request@^2.79.0: version "2.87.0" resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" @@ -4575,6 +4790,31 @@ request@2, request@^2.79.0: tunnel-agent "^0.6.0" uuid "^3.1.0" +request@^2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4665,6 +4905,12 @@ sax@^1.2.4, sax@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" +saxes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.3.tgz#334ab3b802a465ccda96fff9bdefbd505546ffa8" + dependencies: + xmlchars "^1.3.1" + schema-utils@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" @@ -4999,6 +5245,10 @@ stdout-stream@^1.4.0: dependencies: readable-stream "^2.0.1" +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + stream-browserify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" @@ -5125,6 +5375,10 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" +symbol-tree@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + tapable@^1.0.0, tapable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.0.tgz#0d076a172e3d9ba088fd2272b2668fb8d194b78c" @@ -5204,12 +5458,25 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +tough-cookie@>=2.3.3, tough-cookie@^2.4.3, tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: punycode "^1.4.1" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -5236,6 +5503,12 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -5400,6 +5673,10 @@ uuid@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + validate-npm-package-license@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" @@ -5429,6 +5706,12 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + dependencies: + browser-process-hrtime "^0.1.2" + watchpack@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" @@ -5443,6 +5726,10 @@ wbuf@^1.1.0, wbuf@^1.7.2: dependencies: minimalistic-assert "^1.0.0" +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + webpack-dev-middleware@^1.11.0: version "1.12.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" @@ -5532,6 +5819,24 @@ websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz#a3d58ef10b76009b042d03e25591ece89b88d171" + +whatwg-url@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" @@ -5552,6 +5857,10 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + worker-farm@^1.5.2: version "1.6.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" @@ -5569,6 +5878,20 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" +ws@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.0.tgz#119a9dbf92c54e190ec18d10e871d55c95cf9373" + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + +xmlchars@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-1.3.1.tgz#1dda035f833dbb4f86a0c28eaa6ca769214793cf" + xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" From 1ca9fc466e6236ea95edbb8fd111d5d83681ca72 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 12:49:15 +0200 Subject: [PATCH 09/34] Moved GithubUser onto entity dir --- src/app.js | 2 +- src/components/Profile.js | 2 -- src/{components => entity}/GithubUser.js | 0 test/components/GithubUserTest.js | 2 +- test/components/ProfileComponentTest.js | 2 +- 5 files changed, 3 insertions(+), 5 deletions(-) rename src/{components => entity}/GithubUser.js (100%) diff --git a/src/app.js b/src/app.js index ab531d6..5064410 100755 --- a/src/app.js +++ b/src/app.js @@ -1,6 +1,6 @@ import './assets/scss/app.scss'; import $ from 'cash-dom'; -import {GithubUser} from "./components/GithubUser"; +import {GithubUser} from "./entity/GithubUser"; export class App { initializeApp() { diff --git a/src/components/Profile.js b/src/components/Profile.js index 2cd26f9..0507c07 100644 --- a/src/components/Profile.js +++ b/src/components/Profile.js @@ -19,7 +19,6 @@ export class Profile { Object.defineProperty(self, 'container', { get: function () { const element = document.getElementById(containerId); - console.log(element); if (null === element) { throw new Error('containerId ' + containerId + ' was not found'); @@ -75,7 +74,6 @@ export class Profile { mediaElement.appendChild(getMediaLeft()); mediaElement.appendChild(getMediaContent()); - return mediaElement; } diff --git a/src/components/GithubUser.js b/src/entity/GithubUser.js similarity index 100% rename from src/components/GithubUser.js rename to src/entity/GithubUser.js diff --git a/test/components/GithubUserTest.js b/test/components/GithubUserTest.js index 0ba004a..825b354 100644 --- a/test/components/GithubUserTest.js +++ b/test/components/GithubUserTest.js @@ -1,6 +1,6 @@ 'use strict'; -import {GithubUser} from '../../src/components/GithubUser'; +import {GithubUser} from '../../src/entity/GithubUser'; const expect = require('chai').expect; describe('GithubUserTest', function () { diff --git a/test/components/ProfileComponentTest.js b/test/components/ProfileComponentTest.js index c74cc2b..3a34f39 100644 --- a/test/components/ProfileComponentTest.js +++ b/test/components/ProfileComponentTest.js @@ -1,7 +1,7 @@ 'use strict'; import {Profile} from "../../src/components/Profile"; -import {GithubUser} from "../../src/components/GithubUser"; +import {GithubUser} from "../../src/entity/GithubUser"; const expect = require('chai').expect; describe('ProfileComponentTest', function () { From 286d52587a044c5d184b35fa347eea5c05777fa9 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 12:50:44 +0200 Subject: [PATCH 10/34] moved GithubUserTest onto new dir --- test/{components => entity}/GithubUserTest.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/{components => entity}/GithubUserTest.js (100%) diff --git a/test/components/GithubUserTest.js b/test/entity/GithubUserTest.js similarity index 100% rename from test/components/GithubUserTest.js rename to test/entity/GithubUserTest.js From 96530811c52222788826b85488ea803edd38bad6 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 13:42:19 +0200 Subject: [PATCH 11/34] Added GithubEvent and GithubEventTest --- src/entity/GithubEvent.js | 69 ++++++++++++++++++++++++++++++++++ test/entity/GithubEventTest.js | 33 ++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 src/entity/GithubEvent.js create mode 100644 test/entity/GithubEventTest.js diff --git a/src/entity/GithubEvent.js b/src/entity/GithubEvent.js new file mode 100644 index 0000000..9dfb35f --- /dev/null +++ b/src/entity/GithubEvent.js @@ -0,0 +1,69 @@ +export class GithubEvent { + constructor(responseBody) { + const self = this; + + Object.defineProperty(self, "payload", { + get: function () { + checkIfObj(responseBody.payload); + + return responseBody.payload; + } + }); + + Object.defineProperty(self, "repo", { + get: function () { + checkIfObj(responseBody.repo); + + return responseBody.repo; + } + }); + + Object.defineProperty(self, "type", { + get: function () { + checkIfString(responseBody.type); + + return responseBody.type; + } + }); + + Object.defineProperty(self, "created", { + get: function () { + checkIfString(responseBody.created_at); + + return responseBody.created_at; + } + }); + + function checkIfObj(item) { + if ('object' !== typeof item) { + throw new Error(item + 'is not an object'); + } + } + + function checkIfString(item) { + if ('string' !== typeof item) { + throw new Error(item + 'is not a string'); + } + } + + function validateProfileResponse() { + let allowedObjectTypes = [ + {name: 'payload', type: 'object'}, + {name: 'repo', type: 'object'}, + {name: 'type', type: 'string'}, + {name: 'created_at', type: 'string'}, + ]; + + Object.values(allowedObjectTypes).map(function (item) { + const name = item.name; + const type = item.type; + + if (type !== typeof responseBody[name]) { + throw new Error('Invalid responseBody'); + } + }); + } + + validateProfileResponse(); + } +} diff --git a/test/entity/GithubEventTest.js b/test/entity/GithubEventTest.js new file mode 100644 index 0000000..de168ff --- /dev/null +++ b/test/entity/GithubEventTest.js @@ -0,0 +1,33 @@ +'use strict'; + +import {GithubEvent} from '../../src/entity/GithubEvent'; +const expect = require('chai').expect; + +describe('GithubEventTest', function () { + it('test valid creation of obj', function () { + const validResponse = { + payload: {}, + repo: {}, + type: 'fake', + created_at: '2066-06-06x§', + }; + const validGithubEvent = new GithubEvent(validResponse); + + expect(validGithubEvent).to.be.instanceOf(GithubEvent); + }); + + it('test invalid creation of obj', function () { + let thrown; + + try { + new GithubEvent('some invalid string'); + } catch (e) { + expect(e.message).to.be.equal('Invalid responseBody'); + thrown = true; + } + + expect(thrown).to.be.true; + }); +}); + + From cfd852935c6ae7798e471700bf87526a56b1fe14 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 14:59:45 +0200 Subject: [PATCH 12/34] Test collection of github events, Test filtering this collections for certain events --- src/app.js | 3 +- src/entity/GithubEvent.js | 22 +- src/factory/EventCollectionFactory.js | 57 + test/factory/EventCollectionFactoryTest.js | 6785 ++++++++++++++++++++ 4 files changed, 6845 insertions(+), 22 deletions(-) create mode 100644 src/factory/EventCollectionFactory.js create mode 100644 test/factory/EventCollectionFactoryTest.js diff --git a/src/app.js b/src/app.js index 5064410..c299d99 100755 --- a/src/app.js +++ b/src/app.js @@ -60,7 +60,8 @@ export class App { let endpoint = 'https://api.github.com/users/{username}/events/public'; endpoint = endpoint.replace('{username}', self.username); fetch(endpoint) - .then(response => { return handleResponse(response) }) + .then(response => { + return handleResponse(response) }) .then(body => updateGithubHistory(body)) } diff --git a/src/entity/GithubEvent.js b/src/entity/GithubEvent.js index 9dfb35f..0b5e3f0 100644 --- a/src/entity/GithubEvent.js +++ b/src/entity/GithubEvent.js @@ -4,48 +4,28 @@ export class GithubEvent { Object.defineProperty(self, "payload", { get: function () { - checkIfObj(responseBody.payload); - return responseBody.payload; } }); Object.defineProperty(self, "repo", { get: function () { - checkIfObj(responseBody.repo); - return responseBody.repo; } }); - Object.defineProperty(self, "type", { + Object.defineProperty(self, "eventType", { get: function () { - checkIfString(responseBody.type); - return responseBody.type; } }); Object.defineProperty(self, "created", { get: function () { - checkIfString(responseBody.created_at); - return responseBody.created_at; } }); - function checkIfObj(item) { - if ('object' !== typeof item) { - throw new Error(item + 'is not an object'); - } - } - - function checkIfString(item) { - if ('string' !== typeof item) { - throw new Error(item + 'is not a string'); - } - } - function validateProfileResponse() { let allowedObjectTypes = [ {name: 'payload', type: 'object'}, diff --git a/src/factory/EventCollectionFactory.js b/src/factory/EventCollectionFactory.js new file mode 100644 index 0000000..c7eb34b --- /dev/null +++ b/src/factory/EventCollectionFactory.js @@ -0,0 +1,57 @@ +import {GithubEvent} from "../entity/GithubEvent"; + +export class EventCollectionFactory { + constructor(responseBody) { + const self = this; + + Object.defineProperty(self, 'allowedKeys', { + get: function () { + return [ + { + name: 'PullRequestEvent', + allowed: ['opened', 'closed'] + }, + { + name: 'PullRequestReviewCommentEvent', + allowed: ['created', 'deleted', 'edited'] + }, + ] + } + }); + + Object.defineProperty(self, 'collection', { + get: function () { + if ('object' !== typeof responseBody) { + throw new Error('Invalid responseBody'); + } + + return responseBody; + } + }); + } + + withAllowedEventsOnly() { + const self = this; + let cacheArr = []; + + Object.values(self.collection).map(function (item) { + const event = new GithubEvent(item); + + Object.values(self.allowedKeys).map(function (allowedKey) { + if (allowedKey.name !== event.eventType) { + return; + } + + if ('undefined' === typeof event.payload.action) { + return; + } + + if (allowedKey.allowed.includes(event.payload.action)) { + cacheArr.push(event); + } + }); + }); + + return cacheArr; + } +} diff --git a/test/factory/EventCollectionFactoryTest.js b/test/factory/EventCollectionFactoryTest.js new file mode 100644 index 0000000..1ae45c2 --- /dev/null +++ b/test/factory/EventCollectionFactoryTest.js @@ -0,0 +1,6785 @@ +'use strict'; + +import {EventCollectionFactory} from "../../src/factory/EventCollectionFactory"; +const expect = require('chai').expect; + +describe('EventCollectionFactoryTest', function () { + it('test invalid creation factory', function () { + let thrown; + + try { + const factory = new EventCollectionFactory([{fake: 'non-valid'}, {fake: 'non-valid'}]); + thrown = factory.withAllowedEventsOnly(); + } catch (e) { + expect(e.message).to.be.equal('Invalid responseBody'); + thrown = true; + } + + expect(thrown).to.be.true; + }); + + it('test valid on withAllowedEventsOnly()', function () { + const factory = new EventCollectionFactory(validResponse); + const withAllowed = factory.withAllowedEventsOnly(); + const properEventsCount = 14; + const randomNumber = Math.floor(Math.random() * 14) + 1; + const randomValidEvent = withAllowed[randomNumber]; + let methodsAllowed = []; + + expect(withAllowed.length).to.be.equal(properEventsCount); + + if (randomValidEvent.eventType === 'PullRequestEvent') { + methodsAllowed = ['opened', 'closed']; + } + + if (randomValidEvent.eventType === 'PullRequestReviewCommentEvent') { + methodsAllowed = ['created', 'deleted', 'edited']; + } + + expect(methodsAllowed.includes(randomValidEvent.payload.action)).to.be.true; + }) +}); + +const validResponse = [{ + "id": "8448335270", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2973844189, + "size": 2, + "distinct_size": 2, + "ref": "refs/heads/next", + "head": "e2f87cffb71dfd9cba949c4f50c033bdd179da3b", + "before": "65053d50303b480c69956a5c89abf5e56a9f2903", + "commits": [ + { + "sha": "7c15e4ac5e3bcc3f37ae99806886d652a69fa063", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "2.4.0-2", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/7c15e4ac5e3bcc3f37ae99806886d652a69fa063" + }, + { + "sha": "e2f87cffb71dfd9cba949c4f50c033bdd179da3b", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #95 from tgorskievo/release-v2.4.0-2\n\n2.4.0-2", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/e2f87cffb71dfd9cba949c4f50c033bdd179da3b" + } + ] + }, + "public": true, + "created_at": "2018-10-19T10:58:30Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } +}, + { + "id": "8448335229", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 95, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/95", + "id": 224226935, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjI0MjI2OTM1", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/95", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/95.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/95.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/95", + "number": 95, + "state": "closed", + "locked": false, + "title": "2.4.0-2", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-19T09:38:54Z", + "updated_at": "2018-10-19T10:58:30Z", + "closed_at": "2018-10-19T10:58:29Z", + "merged_at": "2018-10-19T10:58:29Z", + "merge_commit_sha": "e2f87cffb71dfd9cba949c4f50c033bdd179da3b", + "assignee": null, + "assignees": [], + "requested_reviewers": [ + { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/95/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/95/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/95/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/7c15e4ac5e3bcc3f37ae99806886d652a69fa063", + "head": { + "label": "tgorskievo:release-v2.4.0-2", + "ref": "release-v2.4.0-2", + "sha": "7c15e4ac5e3bcc3f37ae99806886d652a69fa063", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-10-18T13:30:07Z", + "pushed_at": "2018-10-19T09:37:17Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2546, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "65053d50303b480c69956a5c89abf5e56a9f2903", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-18T13:18:15Z", + "pushed_at": "2018-10-19T10:58:29Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2556, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 10, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 10, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/95" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/95" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/95" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/95/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/95/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/95/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/7c15e4ac5e3bcc3f37ae99806886d652a69fa063" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 1, + "additions": 2, + "deletions": 2, + "changed_files": 2 + } + }, + "public": true, + "created_at": "2018-10-19T10:58:30Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8447406381", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2973366654, + "size": 6, + "distinct_size": 6, + "ref": "refs/heads/next", + "head": "65053d50303b480c69956a5c89abf5e56a9f2903", + "before": "4a2f5cc515fceaf41d66f9e1cc68bbeb039834e9", + "commits": [ + { + "sha": "d81ec60ba0769fbb3081f71abcca70c1c77f1a58", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Added possibility to store values from \"textarea\" and \"input\" fields too", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/d81ec60ba0769fbb3081f71abcca70c1c77f1a58" + }, + { + "sha": "f25609471ab954e121ae34be6eb327fe194aa437", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Added possibility to check \"textarea\" and \"input\" fields by text matcher", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/f25609471ab954e121ae34be6eb327fe194aa437" + }, + { + "sha": "7b5d2f42f75fd8bafeb96567761ccc3107ef39c0", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Added functional test covering this functionalities", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/7b5d2f42f75fd8bafeb96567761ccc3107ef39c0" + }, + { + "sha": "a3b0fd5cc645862ccc49b11a61c6cda851997acd", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Update matchers unit tests", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/a3b0fd5cc645862ccc49b11a61c6cda851997acd" + }, + { + "sha": "7b743070690fa29f3f34e3e2a5d28b7b9fface1c", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Split functional test to separated scenario", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/7b743070690fa29f3f34e3e2a5d28b7b9fface1c" + }, + { + "sha": "65053d50303b480c69956a5c89abf5e56a9f2903", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #94 from tgorskievo/feature/handle-getText-on-inputs\n\nFeature/handle get text on inputs", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/65053d50303b480c69956a5c89abf5e56a9f2903" + } + ] + }, + "public": true, + "created_at": "2018-10-19T07:57:14Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8447406296", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 94, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/94", + "id": 224117271, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjI0MTE3Mjcx", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/94", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/94.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/94.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/94", + "number": 94, + "state": "closed", + "locked": false, + "title": "Feature/handle get text on inputs", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-18T22:21:44Z", + "updated_at": "2018-10-19T07:57:13Z", + "closed_at": "2018-10-19T07:57:12Z", + "merged_at": "2018-10-19T07:57:12Z", + "merge_commit_sha": "65053d50303b480c69956a5c89abf5e56a9f2903", + "assignee": null, + "assignees": [], + "requested_reviewers": [ + { + "login": "simonsipl", + "id": 12040649, + "node_id": "MDQ6VXNlcjEyMDQwNjQ5", + "avatar_url": "https://avatars3.githubusercontent.com/u/12040649?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/simonsipl", + "html_url": "https://github.com/simonsipl", + "followers_url": "https://api.github.com/users/simonsipl/followers", + "following_url": "https://api.github.com/users/simonsipl/following{/other_user}", + "gists_url": "https://api.github.com/users/simonsipl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/simonsipl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/simonsipl/subscriptions", + "organizations_url": "https://api.github.com/users/simonsipl/orgs", + "repos_url": "https://api.github.com/users/simonsipl/repos", + "events_url": "https://api.github.com/users/simonsipl/events{/privacy}", + "received_events_url": "https://api.github.com/users/simonsipl/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/94/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/94/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/94/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/7b743070690fa29f3f34e3e2a5d28b7b9fface1c", + "head": { + "label": "tgorskievo:feature/handle-getText-on-inputs", + "ref": "feature/handle-getText-on-inputs", + "sha": "7b743070690fa29f3f34e3e2a5d28b7b9fface1c", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-10-18T13:30:07Z", + "pushed_at": "2018-10-19T07:47:24Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2544, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "4a2f5cc515fceaf41d66f9e1cc68bbeb039834e9", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-18T13:18:15Z", + "pushed_at": "2018-10-19T07:57:12Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2544, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 10, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 10, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/94" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/94" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/94" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/94/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/94/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/94/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/7b743070690fa29f3f34e3e2a5d28b7b9fface1c" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 5, + "additions": 252, + "deletions": 26, + "changed_files": 7 + } + }, + "public": true, + "created_at": "2018-10-19T07:57:13Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8443159241", + "type": "CreateEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "ref": "v2.4.0-1", + "ref_type": "tag", + "master_branch": "master", + "description": "An E2E testing framework", + "pusher_type": "user" + }, + "public": true, + "created_at": "2018-10-18T14:56:12Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8443146131", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2971141997, + "size": 6, + "distinct_size": 3, + "ref": "refs/heads/next", + "head": "4a2f5cc515fceaf41d66f9e1cc68bbeb039834e9", + "before": "2d13095242ac901c78c74e51cc17febaf1f75c0a", + "commits": [ + { + "sha": "4ce4b5f29dd4e241d52bbbdf4aa4317c224d87fc", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #85 from TheSoftwareHouse/next\n\nRelease 2.3.0", + "distinct": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/4ce4b5f29dd4e241d52bbbdf4aa4317c224d87fc" + }, + { + "sha": "a44043ec4c9656e7006cee3c1c03dc73054808cd", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Configured Travis CI - unit tests", + "distinct": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/a44043ec4c9656e7006cee3c1c03dc73054808cd" + }, + { + "sha": "1a54c49d430dfa4a9c1d9ca4bcf5097501097008", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #92 from tgorskievo/feature/add-travis-CI\n\nConfigured Travis CI - unit tests", + "distinct": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/1a54c49d430dfa4a9c1d9ca4bcf5097501097008" + }, + { + "sha": "a8f8a05adb196ac6f97a6bba4c1a530b945d873e", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Merge remote-tracking branch 'origin/master' into prerelease-v2.5.0-0", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/a8f8a05adb196ac6f97a6bba4c1a530b945d873e" + }, + { + "sha": "356d6dc95cd5090d43e48506fff03211d3b3cc9c", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "2.4.0-1", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/356d6dc95cd5090d43e48506fff03211d3b3cc9c" + }, + { + "sha": "4a2f5cc515fceaf41d66f9e1cc68bbeb039834e9", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #93 from tgorskievo/release-v2.5.0-0\n\nRelease v2.4.0 1", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/4a2f5cc515fceaf41d66f9e1cc68bbeb039834e9" + } + ] + }, + "public": true, + "created_at": "2018-10-18T14:54:27Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8443146003", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 93, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/93", + "id": 223977688, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIzOTc3Njg4", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/93", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/93.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/93.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/93", + "number": 93, + "state": "closed", + "locked": false, + "title": "Release v2.5.0 0", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-18T14:25:54Z", + "updated_at": "2018-10-18T14:54:26Z", + "closed_at": "2018-10-18T14:54:26Z", + "merged_at": "2018-10-18T14:54:26Z", + "merge_commit_sha": "4a2f5cc515fceaf41d66f9e1cc68bbeb039834e9", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/93/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/93/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/93/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/356d6dc95cd5090d43e48506fff03211d3b3cc9c", + "head": { + "label": "tgorskievo:release-v2.5.0-0", + "ref": "release-v2.5.0-0", + "sha": "356d6dc95cd5090d43e48506fff03211d3b3cc9c", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-10-18T13:30:07Z", + "pushed_at": "2018-10-18T14:52:42Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2489, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "2d13095242ac901c78c74e51cc17febaf1f75c0a", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-18T13:18:15Z", + "pushed_at": "2018-10-18T14:54:26Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2501, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 10, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 10, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/93" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/93" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/93" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/93/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/93/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/93/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/356d6dc95cd5090d43e48506fff03211d3b3cc9c" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 5, + "additions": 7, + "deletions": 2, + "changed_files": 3 + } + }, + "public": true, + "created_at": "2018-10-18T14:54:26Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8442457217", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2970791014, + "size": 2, + "distinct_size": 2, + "ref": "refs/heads/master", + "head": "1a54c49d430dfa4a9c1d9ca4bcf5097501097008", + "before": "4ce4b5f29dd4e241d52bbbdf4aa4317c224d87fc", + "commits": [ + { + "sha": "a44043ec4c9656e7006cee3c1c03dc73054808cd", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Configured Travis CI - unit tests", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/a44043ec4c9656e7006cee3c1c03dc73054808cd" + }, + { + "sha": "1a54c49d430dfa4a9c1d9ca4bcf5097501097008", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #92 from tgorskievo/feature/add-travis-CI\n\nConfigured Travis CI - unit tests", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/1a54c49d430dfa4a9c1d9ca4bcf5097501097008" + } + ] + }, + "public": true, + "created_at": "2018-10-18T13:18:14Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8442457115", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 92, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/92", + "id": 223915238, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIzOTE1MjM4", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/92", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/92.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/92.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/92", + "number": 92, + "state": "closed", + "locked": false, + "title": "Configured Travis CI - unit tests", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-18T11:09:25Z", + "updated_at": "2018-10-18T13:18:13Z", + "closed_at": "2018-10-18T13:18:13Z", + "merged_at": "2018-10-18T13:18:13Z", + "merge_commit_sha": "1a54c49d430dfa4a9c1d9ca4bcf5097501097008", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/92/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/92/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/92/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/a44043ec4c9656e7006cee3c1c03dc73054808cd", + "head": { + "label": "tgorskievo:feature/add-travis-CI", + "ref": "feature/add-travis-CI", + "sha": "a44043ec4c9656e7006cee3c1c03dc73054808cd", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-10-18T10:55:15Z", + "pushed_at": "2018-10-18T12:57:16Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2537, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:master", + "ref": "master", + "sha": "4ce4b5f29dd4e241d52bbbdf4aa4317c224d87fc", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-18T13:18:13Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2500, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 10, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 10, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/92" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/92" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/92" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/92/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/92/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/92/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/a44043ec4c9656e7006cee3c1c03dc73054808cd" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 1, + "additions": 5, + "deletions": 0, + "changed_files": 1 + } + }, + "public": true, + "created_at": "2018-10-18T13:18:13Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8437515373", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2968215029, + "size": 5, + "distinct_size": 5, + "ref": "refs/heads/next", + "head": "2d13095242ac901c78c74e51cc17febaf1f75c0a", + "before": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "commits": [ + { + "sha": "b2b985eb6f67d0c6832e85703d9c1b62af29fdea", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Multibrowsering feature - added safari browser", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/b2b985eb6f67d0c6832e85703d9c1b62af29fdea" + }, + { + "sha": "025162cde578eb299a125a62bdda6609c4f62577", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Added trim() to checkbox form_handler", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/025162cde578eb299a125a62bdda6609c4f62577" + }, + { + "sha": "79041f89619a8c3de197703397517fd85297ab65", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Added \"multibrowsering\" section to the docs", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/79041f89619a8c3de197703397517fd85297ab65" + }, + { + "sha": "68732fb3efda65ea2ec49d7ca083be92d3c50d84", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Updated \"cross-browser\" section in the documentation", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/68732fb3efda65ea2ec49d7ca083be92d3c50d84" + }, + { + "sha": "2d13095242ac901c78c74e51cc17febaf1f75c0a", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #91 from tgorskievo/feature/safari-browser-with-cli\n\nFeature/safari browser with cli", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/2d13095242ac901c78c74e51cc17febaf1f75c0a" + } + ] + }, + "public": true, + "created_at": "2018-10-17T18:20:12Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8437515285", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 91, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91", + "id": 223698546, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIzNjk4NTQ2", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91", + "number": 91, + "state": "closed", + "locked": false, + "title": "Feature/safari browser with cli", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-17T17:55:01Z", + "updated_at": "2018-10-17T18:20:11Z", + "closed_at": "2018-10-17T18:20:11Z", + "merged_at": "2018-10-17T18:20:11Z", + "merge_commit_sha": "2d13095242ac901c78c74e51cc17febaf1f75c0a", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/68732fb3efda65ea2ec49d7ca083be92d3c50d84", + "head": { + "label": "tgorskievo:feature/safari-browser-with-cli", + "ref": "feature/safari-browser-with-cli", + "sha": "68732fb3efda65ea2ec49d7ca083be92d3c50d84", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-10-17T18:15:14Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2525, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-17T18:20:11Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2439, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 10, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 10, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/91" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/68732fb3efda65ea2ec49d7ca083be92d3c50d84" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 5, + "maintainer_can_modify": false, + "commits": 4, + "additions": 856, + "deletions": 163, + "changed_files": 26 + } + }, + "public": true, + "created_at": "2018-10-17T18:20:11Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8437433922", + "type": "PullRequestReviewCommentEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "created", + "comment": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/226038131", + "pull_request_review_id": 165764671, + "id": 226038131, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNjAzODEzMQ==", + "diff_hunk": "@@ -0,0 +1,6 @@\n+import shell from 'shelljs';\n+import path from \"path\";\n+\n+export const safariBrowserConfigurator = (config) => {\n+ shell.exec(`defaults write -app Safari DownloadsPath ${path.join(config.projectPath, config.downloads)}`);", + "path": "src/helpers/safari-browser-configurator.helper.js", + "position": 5, + "original_position": 5, + "commit_id": "79041f89619a8c3de197703397517fd85297ab65", + "original_commit_id": "79041f89619a8c3de197703397517fd85297ab65", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "body": "This has to be done through command line? There is no option to pass it with options?", + "created_at": "2018-10-17T18:05:45Z", + "updated_at": "2018-10-17T18:05:58Z", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91#discussion_r226038131", + "pull_request_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91", + "author_association": "CONTRIBUTOR", + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/226038131" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/91#discussion_r226038131" + }, + "pull_request": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91" + } + } + }, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91", + "id": 223698546, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIzNjk4NTQ2", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91", + "number": 91, + "state": "open", + "locked": false, + "title": "Feature/safari browser with cli", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-17T17:55:01Z", + "updated_at": "2018-10-17T18:05:58Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "f47e626c8cc9c6c28c964c9d3d48bdf704f63221", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/79041f89619a8c3de197703397517fd85297ab65", + "head": { + "label": "tgorskievo:feature/safari-browser-with-cli", + "ref": "feature/safari-browser-with-cli", + "sha": "79041f89619a8c3de197703397517fd85297ab65", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-10-17T17:53:17Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2525, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-17T17:55:02Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2439, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 11, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 11, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/91" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/79041f89619a8c3de197703397517fd85297ab65" + } + }, + "author_association": "COLLABORATOR" + } + }, + "public": true, + "created_at": "2018-10-17T18:05:45Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8437433916", + "type": "PullRequestReviewCommentEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "created", + "comment": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/226037661", + "pull_request_review_id": 165764671, + "id": 226037661, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNjAzNzY2MQ==", + "diff_hunk": "@@ -0,0 +1,25 @@\n+## Multibrowsering", + "path": "docs-src/multibrowsering.md", + "position": 1, + "original_position": 1, + "commit_id": "79041f89619a8c3de197703397517fd85297ab65", + "original_commit_id": "79041f89619a8c3de197703397517fd85297ab65", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "body": "Cross-browser support :)", + "created_at": "2018-10-17T18:04:19Z", + "updated_at": "2018-10-17T18:05:58Z", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91#discussion_r226037661", + "pull_request_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91", + "author_association": "CONTRIBUTOR", + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/226037661" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/91#discussion_r226037661" + }, + "pull_request": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91" + } + } + }, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91", + "id": 223698546, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIzNjk4NTQ2", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91", + "number": 91, + "state": "open", + "locked": false, + "title": "Feature/safari browser with cli", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-17T17:55:01Z", + "updated_at": "2018-10-17T18:05:58Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "f47e626c8cc9c6c28c964c9d3d48bdf704f63221", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/79041f89619a8c3de197703397517fd85297ab65", + "head": { + "label": "tgorskievo:feature/safari-browser-with-cli", + "ref": "feature/safari-browser-with-cli", + "sha": "79041f89619a8c3de197703397517fd85297ab65", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-10-17T17:53:17Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2525, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-17T17:55:02Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2439, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 11, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 11, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/91" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/79041f89619a8c3de197703397517fd85297ab65" + } + }, + "author_association": "COLLABORATOR" + } + }, + "public": true, + "created_at": "2018-10-17T18:04:19Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8437417226", + "type": "PullRequestReviewCommentEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "created", + "comment": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/226037210", + "pull_request_review_id": 165764098, + "id": 226037210, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNjAzNzIxMA==", + "diff_hunk": "@@ -15,20 +15,18 @@ class CheckboxHandler {\n }\n \n handleFill(page, elementName, desiredValue) {\n- return page[elementName].filter(function (elem) {\n- return elem.element(by.xpath('..')).getText().then(function (text) {\n- return text === desiredValue;\n+ return page[elementName].filter(elem => {\n+ return elem.element(by.xpath('..')).getText().then((text) => {\n+ return text.trim() === desiredValue;", + "path": "src/form-handlers/handler/checkbox.handler.js", + "position": 18, + "original_position": 18, + "commit_id": "79041f89619a8c3de197703397517fd85297ab65", + "original_commit_id": "79041f89619a8c3de197703397517fd85297ab65", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "body": "Nice catch!", + "created_at": "2018-10-17T18:03:00Z", + "updated_at": "2018-10-17T18:03:01Z", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91#discussion_r226037210", + "pull_request_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91", + "author_association": "CONTRIBUTOR", + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/226037210" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/91#discussion_r226037210" + }, + "pull_request": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91" + } + }, + "in_reply_to_id": 226036425 + }, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91", + "id": 223698546, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIzNjk4NTQ2", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/91.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91", + "number": 91, + "state": "open", + "locked": false, + "title": "Feature/safari browser with cli", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-17T17:55:01Z", + "updated_at": "2018-10-17T18:03:01Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "f47e626c8cc9c6c28c964c9d3d48bdf704f63221", + "assignee": null, + "assignees": [], + "requested_reviewers": [ + { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/79041f89619a8c3de197703397517fd85297ab65", + "head": { + "label": "tgorskievo:feature/safari-browser-with-cli", + "ref": "feature/safari-browser-with-cli", + "sha": "79041f89619a8c3de197703397517fd85297ab65", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-10-17T17:53:17Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2525, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-17T17:55:02Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2439, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 11, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 11, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/91" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/91/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/91/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/79041f89619a8c3de197703397517fd85297ab65" + } + }, + "author_association": "COLLABORATOR" + } + }, + "public": true, + "created_at": "2018-10-17T18:03:00Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8430323060", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2964513808, + "size": 4, + "distinct_size": 4, + "ref": "refs/heads/next", + "head": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "before": "b16fec27d0b24866c0f8b4572ddc71b95b7699a8", + "commits": [ + { + "sha": "9f11ac9ae35223c9b2f880cb5f1b07651f649cc5", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Update dependencies", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/9f11ac9ae35223c9b2f880cb5f1b07651f649cc5" + }, + { + "sha": "e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Add firefox with CLI", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/e8d49b3a68683bf7647654e9b26d0b74b8829f79" + }, + { + "sha": "1f839ce62faca5e2197b33ab790d0231d197902a", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Fixed after CI - added possibility to run more than one instance of browser", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/1f839ce62faca5e2197b33ab790d0231d197902a" + }, + { + "sha": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #89 from tgorskievo/feature/firefox-with-cli\n\nFeature/firefox with cli", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/37b3d0b76b2d5dca68d4d36ce63fcae21e842499" + } + ] + }, + "public": true, + "created_at": "2018-10-16T18:00:40Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8430322965", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 89, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89", + "id": 222446755, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIyNDQ2NzU1", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89", + "number": 89, + "state": "closed", + "locked": false, + "title": "Feature/firefox with cli", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-12T12:14:52Z", + "updated_at": "2018-10-16T18:00:38Z", + "closed_at": "2018-10-16T18:00:38Z", + "merged_at": "2018-10-16T18:00:38Z", + "merge_commit_sha": "37b3d0b76b2d5dca68d4d36ce63fcae21e842499", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/1f839ce62faca5e2197b33ab790d0231d197902a", + "head": { + "label": "tgorskievo:feature/firefox-with-cli", + "ref": "feature/firefox-with-cli", + "sha": "1f839ce62faca5e2197b33ab790d0231d197902a", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-10-16T14:22:19Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2476, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "b16fec27d0b24866c0f8b4572ddc71b95b7699a8", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-16T18:00:38Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2584, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 10, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 10, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/89" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/1f839ce62faca5e2197b33ab790d0231d197902a" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 2, + "maintainer_can_modify": false, + "commits": 3, + "additions": 496, + "deletions": 400, + "changed_files": 10 + } + }, + "public": true, + "created_at": "2018-10-16T18:00:39Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8417955324", + "type": "IssuesEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "issue": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/54", + "repository_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/54/labels{/name}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/54/comments", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/54/events", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/issues/54", + "id": 330620046, + "node_id": "MDU6SXNzdWUzMzA2MjAwNDY=", + "number": 54, + "title": "Support for saving email text matching given regex in variable store.", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2018-06-08T11:21:36Z", + "updated_at": "2018-10-14T19:20:40Z", + "closed_at": "2018-10-14T19:20:40Z", + "author_association": "CONTRIBUTOR", + "body": "" + } + }, + "public": true, + "created_at": "2018-10-14T19:20:41Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8417954752", + "type": "IssuesEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "issue": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76", + "repository_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76/labels{/name}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76/comments", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76/events", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/issues/76", + "id": 357943394, + "node_id": "MDU6SXNzdWUzNTc5NDMzOTQ=", + "number": 76, + "title": "Deprecated `html_body` and `txt_body` fields in Mailtrap API endpoint", + "user": { + "login": "TheGeniesis", + "id": 7303008, + "node_id": "MDQ6VXNlcjczMDMwMDg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/7303008?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheGeniesis", + "html_url": "https://github.com/TheGeniesis", + "followers_url": "https://api.github.com/users/TheGeniesis/followers", + "following_url": "https://api.github.com/users/TheGeniesis/following{/other_user}", + "gists_url": "https://api.github.com/users/TheGeniesis/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheGeniesis/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheGeniesis/subscriptions", + "organizations_url": "https://api.github.com/users/TheGeniesis/orgs", + "repos_url": "https://api.github.com/users/TheGeniesis/repos", + "events_url": "https://api.github.com/users/TheGeniesis/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheGeniesis/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2018-09-07T07:00:52Z", + "updated_at": "2018-10-14T19:20:22Z", + "closed_at": "2018-10-14T19:20:22Z", + "author_association": "NONE", + "body": "Hi,\r\nResponse for endpoint `{endpoint}/inboxes/{inboxId}/messages` in Mailtrap API was changed: https://mailtrap.io/blog/2018-06-06-mailtraps-upcoming-api-changes\r\n\r\nProblem:\r\nAt this moment we can't test email body, because of this change.\r\n\r\nExpectation:\r\nKakunin will be able to handle new response. " + } + }, + "public": true, + "created_at": "2018-10-14T19:20:22Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8417954750", + "type": "IssueCommentEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "created", + "issue": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76", + "repository_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76/labels{/name}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76/comments", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76/events", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/issues/76", + "id": 357943394, + "node_id": "MDU6SXNzdWUzNTc5NDMzOTQ=", + "number": 76, + "title": "Deprecated `html_body` and `txt_body` fields in Mailtrap API endpoint", + "user": { + "login": "TheGeniesis", + "id": 7303008, + "node_id": "MDQ6VXNlcjczMDMwMDg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/7303008?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheGeniesis", + "html_url": "https://github.com/TheGeniesis", + "followers_url": "https://api.github.com/users/TheGeniesis/followers", + "following_url": "https://api.github.com/users/TheGeniesis/following{/other_user}", + "gists_url": "https://api.github.com/users/TheGeniesis/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheGeniesis/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheGeniesis/subscriptions", + "organizations_url": "https://api.github.com/users/TheGeniesis/orgs", + "repos_url": "https://api.github.com/users/TheGeniesis/repos", + "events_url": "https://api.github.com/users/TheGeniesis/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheGeniesis/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2018-09-07T07:00:52Z", + "updated_at": "2018-10-14T19:20:22Z", + "closed_at": "2018-10-14T19:20:22Z", + "author_association": "NONE", + "body": "Hi,\r\nResponse for endpoint `{endpoint}/inboxes/{inboxId}/messages` in Mailtrap API was changed: https://mailtrap.io/blog/2018-06-06-mailtraps-upcoming-api-changes\r\n\r\nProblem:\r\nAt this moment we can't test email body, because of this change.\r\n\r\nExpectation:\r\nKakunin will be able to handle new response. " + }, + "comment": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments/429654151", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/issues/76#issuecomment-429654151", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/76", + "id": 429654151, + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTY1NDE1MQ==", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2018-10-14T19:20:22Z", + "updated_at": "2018-10-14T19:20:22Z", + "author_association": "CONTRIBUTOR", + "body": "Fixed in last release." + } + }, + "public": true, + "created_at": "2018-10-14T19:20:22Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8417049105", + "type": "PullRequestReviewCommentEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "created", + "comment": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/224987389", + "pull_request_review_id": 164492971, + "id": 224987389, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNDk4NzM4OQ==", + "diff_hunk": "@@ -0,0 +1,15 @@\n+include .env\n+\n+install:", + "path": "dist/templates/Makefile", + "position": 3, + "original_position": 3, + "commit_id": "5dc0785b2b604a4fda4849b88d6d1aa5c9ff1bc6", + "original_commit_id": "5dc0785b2b604a4fda4849b88d6d1aa5c9ff1bc6", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "body": "Shouldn't this be executed on Docker image start?", + "created_at": "2018-10-14T10:27:18Z", + "updated_at": "2018-10-14T10:38:04Z", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/90#discussion_r224987389", + "pull_request_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90", + "author_association": "CONTRIBUTOR", + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/224987389" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/90#discussion_r224987389" + }, + "pull_request": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90" + } + } + }, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90", + "id": 222593090, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIyNTkzMDkw", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/90", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/90.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/90.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/90", + "number": 90, + "state": "open", + "locked": false, + "title": "Docker for Kakunin", + "user": { + "login": "simonsipl", + "id": 12040649, + "node_id": "MDQ6VXNlcjEyMDQwNjQ5", + "avatar_url": "https://avatars3.githubusercontent.com/u/12040649?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/simonsipl", + "html_url": "https://github.com/simonsipl", + "followers_url": "https://api.github.com/users/simonsipl/followers", + "following_url": "https://api.github.com/users/simonsipl/following{/other_user}", + "gists_url": "https://api.github.com/users/simonsipl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/simonsipl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/simonsipl/subscriptions", + "organizations_url": "https://api.github.com/users/simonsipl/orgs", + "repos_url": "https://api.github.com/users/simonsipl/repos", + "events_url": "https://api.github.com/users/simonsipl/events{/privacy}", + "received_events_url": "https://api.github.com/users/simonsipl/received_events", + "type": "User", + "site_admin": false + }, + "body": "- please do not merge as it's not finished and it's in testing phase.", + "created_at": "2018-10-12T21:38:39Z", + "updated_at": "2018-10-14T10:38:04Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "f90387f9cc8413a2303e495a1da1484dfe1431e0", + "assignee": null, + "assignees": [], + "requested_reviewers": [ + { + "login": "aherok", + "id": 82140, + "node_id": "MDQ6VXNlcjgyMTQw", + "avatar_url": "https://avatars1.githubusercontent.com/u/82140?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/aherok", + "html_url": "https://github.com/aherok", + "followers_url": "https://api.github.com/users/aherok/followers", + "following_url": "https://api.github.com/users/aherok/following{/other_user}", + "gists_url": "https://api.github.com/users/aherok/gists{/gist_id}", + "starred_url": "https://api.github.com/users/aherok/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/aherok/subscriptions", + "organizations_url": "https://api.github.com/users/aherok/orgs", + "repos_url": "https://api.github.com/users/aherok/repos", + "events_url": "https://api.github.com/users/aherok/events{/privacy}", + "received_events_url": "https://api.github.com/users/aherok/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [], + "labels": [ + { + "id": 1089260984, + "node_id": "MDU6TGFiZWwxMDg5MjYwOTg0", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels/Don't%20Merge", + "name": "Don't Merge", + "color": "b60205", + "default": false + }, + { + "id": 1089261207, + "node_id": "MDU6TGFiZWwxMDg5MjYxMjA3", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels/Testing", + "name": "Testing", + "color": "0e8a16", + "default": false + } + ], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/90/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/5dc0785b2b604a4fda4849b88d6d1aa5c9ff1bc6", + "head": { + "label": "simonsipl:feature/docker", + "ref": "feature/docker", + "sha": "5dc0785b2b604a4fda4849b88d6d1aa5c9ff1bc6", + "user": { + "login": "simonsipl", + "id": 12040649, + "node_id": "MDQ6VXNlcjEyMDQwNjQ5", + "avatar_url": "https://avatars3.githubusercontent.com/u/12040649?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/simonsipl", + "html_url": "https://github.com/simonsipl", + "followers_url": "https://api.github.com/users/simonsipl/followers", + "following_url": "https://api.github.com/users/simonsipl/following{/other_user}", + "gists_url": "https://api.github.com/users/simonsipl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/simonsipl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/simonsipl/subscriptions", + "organizations_url": "https://api.github.com/users/simonsipl/orgs", + "repos_url": "https://api.github.com/users/simonsipl/repos", + "events_url": "https://api.github.com/users/simonsipl/events{/privacy}", + "received_events_url": "https://api.github.com/users/simonsipl/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 102950857, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDI5NTA4NTc=", + "name": "Kakunin", + "full_name": "simonsipl/Kakunin", + "private": false, + "owner": { + "login": "simonsipl", + "id": 12040649, + "node_id": "MDQ6VXNlcjEyMDQwNjQ5", + "avatar_url": "https://avatars3.githubusercontent.com/u/12040649?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/simonsipl", + "html_url": "https://github.com/simonsipl", + "followers_url": "https://api.github.com/users/simonsipl/followers", + "following_url": "https://api.github.com/users/simonsipl/following{/other_user}", + "gists_url": "https://api.github.com/users/simonsipl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/simonsipl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/simonsipl/subscriptions", + "organizations_url": "https://api.github.com/users/simonsipl/orgs", + "repos_url": "https://api.github.com/users/simonsipl/repos", + "events_url": "https://api.github.com/users/simonsipl/events{/privacy}", + "received_events_url": "https://api.github.com/users/simonsipl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/simonsipl/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/simonsipl/Kakunin", + "forks_url": "https://api.github.com/repos/simonsipl/Kakunin/forks", + "keys_url": "https://api.github.com/repos/simonsipl/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/simonsipl/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/simonsipl/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/simonsipl/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/simonsipl/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/simonsipl/Kakunin/events", + "assignees_url": "https://api.github.com/repos/simonsipl/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/simonsipl/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/simonsipl/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/simonsipl/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/simonsipl/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/simonsipl/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/simonsipl/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/simonsipl/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/simonsipl/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/simonsipl/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/simonsipl/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/simonsipl/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/simonsipl/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/simonsipl/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/simonsipl/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/simonsipl/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/simonsipl/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/simonsipl/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/simonsipl/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/simonsipl/Kakunin/merges", + "archive_url": "https://api.github.com/repos/simonsipl/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/simonsipl/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/simonsipl/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/simonsipl/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/simonsipl/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/simonsipl/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/simonsipl/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/simonsipl/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/simonsipl/Kakunin/deployments", + "created_at": "2017-09-09T11:43:18Z", + "updated_at": "2018-10-12T20:45:35Z", + "pushed_at": "2018-10-12T22:40:57Z", + "git_url": "git://github.com/simonsipl/Kakunin.git", + "ssh_url": "git@github.com:simonsipl/Kakunin.git", + "clone_url": "https://github.com/simonsipl/Kakunin.git", + "svn_url": "https://github.com/simonsipl/Kakunin", + "homepage": "http://kakunin.io", + "size": 2281, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:master", + "ref": "master", + "sha": "4ce4b5f29dd4e241d52bbbdf4aa4317c224d87fc", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-12T22:40:58Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2584, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 13, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 13, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/90" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/90" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/90/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/90/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/5dc0785b2b604a4fda4849b88d6d1aa5c9ff1bc6" + } + }, + "author_association": "COLLABORATOR" + } + }, + "public": true, + "created_at": "2018-10-14T10:27:18Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8412615822", + "type": "PullRequestReviewCommentEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "created", + "comment": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/224857276", + "pull_request_review_id": 164333484, + "id": 224857276, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNDg1NzI3Ng==", + "diff_hunk": "@@ -34,6 +36,23 @@ const chromeConfig = {\n }\n };\n \n+const firefoxConfig = {\n+ browserName: 'firefox',\n+ marionette: true,\n+ 'moz:firefoxOptions': {\n+ args: []\n+ }\n+};\n+\n+const configureBrowsers = async () => {", + "path": "src/protractor.conf.js", + "position": 23, + "original_position": 23, + "commit_id": "e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "original_commit_id": "e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "body": "It's not entirely what I expected. In my opinion we should support `--chrome` too here and build an array of configurations here instead of returning single item array", + "created_at": "2018-10-12T17:14:57Z", + "updated_at": "2018-10-12T17:20:54Z", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89#discussion_r224857276", + "pull_request_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89", + "author_association": "CONTRIBUTOR", + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/224857276" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/89#discussion_r224857276" + }, + "pull_request": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89" + } + } + }, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89", + "id": 222446755, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIyNDQ2NzU1", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89", + "number": 89, + "state": "open", + "locked": false, + "title": "Feature/firefox with cli", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-12T12:14:52Z", + "updated_at": "2018-10-12T17:20:54Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "606dfaee52dba66ad8d23307e2f71512ecafd249", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "head": { + "label": "tgorskievo:feature/firefox-with-cli", + "ref": "feature/firefox-with-cli", + "sha": "e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-10-12T13:23:17Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2778, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "b16fec27d0b24866c0f8b4572ddc71b95b7699a8", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-12T13:23:18Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2584, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 12, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 12, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/89" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/e8d49b3a68683bf7647654e9b26d0b74b8829f79" + } + }, + "author_association": "COLLABORATOR" + } + }, + "public": true, + "created_at": "2018-10-12T17:14:57Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8412615817", + "type": "PullRequestReviewCommentEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "created", + "comment": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/224858718", + "pull_request_review_id": 164333484, + "id": 224858718, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNDg1ODcxOA==", + "diff_hunk": "@@ -60,6 +79,12 @@ if (config.headless) {\n '--headless',\n `--window-size=${config.browserWidth}x${config.browserHeight}`\n ];\n+\n+ firefoxConfig['moz:firefoxOptions'].args = [", + "path": "src/protractor.conf.js", + "position": 40, + "original_position": 40, + "commit_id": "e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "original_commit_id": "e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "user": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "body": "I don't like this idea. It's getting out of control. Imagine we will add safari and ie soon, so we will have to add another global config ? We definitely need to polish this into some high quality code. Maybe some factory?", + "created_at": "2018-10-12T17:20:35Z", + "updated_at": "2018-10-12T17:20:54Z", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89#discussion_r224858718", + "pull_request_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89", + "author_association": "CONTRIBUTOR", + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments/224858718" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/89#discussion_r224858718" + }, + "pull_request": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89" + } + } + }, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89", + "id": 222446755, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjIyNDQ2NzU1", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/89.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89", + "number": 89, + "state": "open", + "locked": false, + "title": "Feature/firefox with cli", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-10-12T12:14:52Z", + "updated_at": "2018-10-12T17:20:54Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "606dfaee52dba66ad8d23307e2f71512ecafd249", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "head": { + "label": "tgorskievo:feature/firefox-with-cli", + "ref": "feature/firefox-with-cli", + "sha": "e8d49b3a68683bf7647654e9b26d0b74b8829f79", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-10-12T13:23:17Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2778, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "b16fec27d0b24866c0f8b4572ddc71b95b7699a8", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-10-03T20:30:34Z", + "pushed_at": "2018-10-12T13:23:18Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2584, + "stargazers_count": 76, + "watchers_count": 76, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 12, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 12, + "watchers": 76, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/89" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/89/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/89/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/e8d49b3a68683bf7647654e9b26d0b74b8829f79" + } + }, + "author_association": "COLLABORATOR" + } + }, + "public": true, + "created_at": "2018-10-12T17:20:35Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8388734563", + "type": "MemberEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 151211522, + "name": "TheSoftwareHouse/fogger", + "url": "https://api.github.com/repos/TheSoftwareHouse/fogger" + }, + "payload": { + "member": { + "login": "tsurowiec", + "id": 4466652, + "node_id": "MDQ6VXNlcjQ0NjY2NTI=", + "avatar_url": "https://avatars3.githubusercontent.com/u/4466652?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tsurowiec", + "html_url": "https://github.com/tsurowiec", + "followers_url": "https://api.github.com/users/tsurowiec/followers", + "following_url": "https://api.github.com/users/tsurowiec/following{/other_user}", + "gists_url": "https://api.github.com/users/tsurowiec/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tsurowiec/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tsurowiec/subscriptions", + "organizations_url": "https://api.github.com/users/tsurowiec/orgs", + "repos_url": "https://api.github.com/users/tsurowiec/repos", + "events_url": "https://api.github.com/users/tsurowiec/events{/privacy}", + "received_events_url": "https://api.github.com/users/tsurowiec/received_events", + "type": "User", + "site_admin": false + }, + "action": "added" + }, + "public": true, + "created_at": "2018-10-09T07:31:02Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8354709706", + "type": "MemberEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 151211522, + "name": "TheSoftwareHouse/fogger", + "url": "https://api.github.com/repos/TheSoftwareHouse/fogger" + }, + "payload": { + "member": { + "login": "szyku-tsh", + "id": 18327178, + "node_id": "MDQ6VXNlcjE4MzI3MTc4", + "avatar_url": "https://avatars3.githubusercontent.com/u/18327178?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/szyku-tsh", + "html_url": "https://github.com/szyku-tsh", + "followers_url": "https://api.github.com/users/szyku-tsh/followers", + "following_url": "https://api.github.com/users/szyku-tsh/following{/other_user}", + "gists_url": "https://api.github.com/users/szyku-tsh/gists{/gist_id}", + "starred_url": "https://api.github.com/users/szyku-tsh/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/szyku-tsh/subscriptions", + "organizations_url": "https://api.github.com/users/szyku-tsh/orgs", + "repos_url": "https://api.github.com/users/szyku-tsh/repos", + "events_url": "https://api.github.com/users/szyku-tsh/events{/privacy}", + "received_events_url": "https://api.github.com/users/szyku-tsh/received_events", + "type": "User", + "site_admin": false + }, + "action": "added" + }, + "public": true, + "created_at": "2018-10-02T14:00:25Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8354457478", + "type": "MemberEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 151211522, + "name": "TheSoftwareHouse/fogger", + "url": "https://api.github.com/repos/TheSoftwareHouse/fogger" + }, + "payload": { + "member": { + "login": "piotrbrzezina", + "id": 6128834, + "node_id": "MDQ6VXNlcjYxMjg4MzQ=", + "avatar_url": "https://avatars0.githubusercontent.com/u/6128834?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/piotrbrzezina", + "html_url": "https://github.com/piotrbrzezina", + "followers_url": "https://api.github.com/users/piotrbrzezina/followers", + "following_url": "https://api.github.com/users/piotrbrzezina/following{/other_user}", + "gists_url": "https://api.github.com/users/piotrbrzezina/gists{/gist_id}", + "starred_url": "https://api.github.com/users/piotrbrzezina/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/piotrbrzezina/subscriptions", + "organizations_url": "https://api.github.com/users/piotrbrzezina/orgs", + "repos_url": "https://api.github.com/users/piotrbrzezina/repos", + "events_url": "https://api.github.com/users/piotrbrzezina/events{/privacy}", + "received_events_url": "https://api.github.com/users/piotrbrzezina/received_events", + "type": "User", + "site_admin": false + }, + "action": "added" + }, + "public": true, + "created_at": "2018-10-02T13:22:51Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8352486700", + "type": "CreateEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 151211522, + "name": "TheSoftwareHouse/fogger", + "url": "https://api.github.com/repos/TheSoftwareHouse/fogger" + }, + "payload": { + "ref": null, + "ref_type": "repository", + "master_branch": "master", + "description": null, + "pusher_type": "user" + }, + "public": true, + "created_at": "2018-10-02T06:44:11Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8342319424", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2917943995, + "size": 2, + "distinct_size": 2, + "ref": "refs/heads/next", + "head": "b16fec27d0b24866c0f8b4572ddc71b95b7699a8", + "before": "6d41b0eecab692a6a96a93b28a8def560b4cbc2a", + "commits": [ + { + "sha": "db14106439523adf6832e5f04bb8d51baf739b3d", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "2.4.0-0", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/db14106439523adf6832e5f04bb8d51baf739b3d" + }, + { + "sha": "b16fec27d0b24866c0f8b4572ddc71b95b7699a8", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #88 from tgorskievo/next-release-v2.4.0-0\n\n2.4.0-0", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/b16fec27d0b24866c0f8b4572ddc71b95b7699a8" + } + ] + }, + "public": true, + "created_at": "2018-09-29T14:48:23Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8342319416", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 88, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/88", + "id": 219151593, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjE5MTUxNTkz", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/88", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/88.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/88.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/88", + "number": 88, + "state": "closed", + "locked": false, + "title": "2.4.0-0", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-09-29T14:47:56Z", + "updated_at": "2018-09-29T14:48:22Z", + "closed_at": "2018-09-29T14:48:22Z", + "merged_at": "2018-09-29T14:48:22Z", + "merge_commit_sha": "b16fec27d0b24866c0f8b4572ddc71b95b7699a8", + "assignee": null, + "assignees": [], + "requested_reviewers": [ + { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/88/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/88/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/88/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/db14106439523adf6832e5f04bb8d51baf739b3d", + "head": { + "label": "tgorskievo:next-release-v2.4.0-0", + "ref": "next-release-v2.4.0-0", + "sha": "db14106439523adf6832e5f04bb8d51baf739b3d", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-09-29T14:47:11Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2527, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "6d41b0eecab692a6a96a93b28a8def560b4cbc2a", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-09-19T11:59:19Z", + "pushed_at": "2018-09-29T14:48:22Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2308, + "stargazers_count": 75, + "watchers_count": 75, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 11, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 11, + "watchers": 75, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/88" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/88" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/88" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/88/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/88/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/88/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/db14106439523adf6832e5f04bb8d51baf739b3d" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 1, + "additions": 2, + "deletions": 2, + "changed_files": 2 + } + }, + "public": true, + "created_at": "2018-09-29T14:48:18Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8342242778", + "type": "PushEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "push_id": 2917897302, + "size": 3, + "distinct_size": 3, + "ref": "refs/heads/next", + "head": "6d41b0eecab692a6a96a93b28a8def560b4cbc2a", + "before": "da62901cb8a5b627d8f02adfc6485e43e0a34776", + "commits": [ + { + "sha": "5778ab05f52bf70e985f9baa9d4c8c48dc2002ef", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Update package lock jsons - added faker", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/5778ab05f52bf70e985f9baa9d4c8c48dc2002ef" + }, + { + "sha": "3a4ab8eb54e90faeb17937b3fc2530b4dd2c558e", + "author": { + "email": "tomasz.gorski@thesoftwarehouse.pl", + "name": "Tomasz Górski" + }, + "message": "Added personalData generator and unit tests", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/3a4ab8eb54e90faeb17937b3fc2530b4dd2c558e" + }, + { + "sha": "6d41b0eecab692a6a96a93b28a8def560b4cbc2a", + "author": { + "email": "polakadam@outlook.com", + "name": "Adam Polak" + }, + "message": "Merge pull request #86 from tgorskievo/feature/personalData-generator\n\nFeature/personal data generator", + "distinct": true, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits/6d41b0eecab692a6a96a93b28a8def560b4cbc2a" + } + ] + }, + "public": true, + "created_at": "2018-09-29T13:58:35Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + }, + { + "id": "8342242744", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, + "repo": { + "id": 101873151, + "name": "TheSoftwareHouse/Kakunin", + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin" + }, + "payload": { + "action": "closed", + "number": 86, + "pull_request": { + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/86", + "id": 218813061, + "node_id": "MDExOlB1bGxSZXF1ZXN0MjE4ODEzMDYx", + "html_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/86", + "diff_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/86.diff", + "patch_url": "https://github.com/TheSoftwareHouse/Kakunin/pull/86.patch", + "issue_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/86", + "number": 86, + "state": "closed", + "locked": false, + "title": "Feature/personal data generator", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2018-09-27T23:08:08Z", + "updated_at": "2018-09-29T13:58:34Z", + "closed_at": "2018-09-29T13:58:34Z", + "merged_at": "2018-09-29T13:58:34Z", + "merge_commit_sha": "6d41b0eecab692a6a96a93b28a8def560b4cbc2a", + "assignee": null, + "assignees": [], + "requested_reviewers": [ + { + "login": "aherok", + "id": 82140, + "node_id": "MDQ6VXNlcjgyMTQw", + "avatar_url": "https://avatars1.githubusercontent.com/u/82140?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/aherok", + "html_url": "https://github.com/aherok", + "followers_url": "https://api.github.com/users/aherok/followers", + "following_url": "https://api.github.com/users/aherok/following{/other_user}", + "gists_url": "https://api.github.com/users/aherok/gists{/gist_id}", + "starred_url": "https://api.github.com/users/aherok/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/aherok/subscriptions", + "organizations_url": "https://api.github.com/users/aherok/orgs", + "repos_url": "https://api.github.com/users/aherok/repos", + "events_url": "https://api.github.com/users/aherok/events{/privacy}", + "received_events_url": "https://api.github.com/users/aherok/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "simonsipl", + "id": 12040649, + "node_id": "MDQ6VXNlcjEyMDQwNjQ5", + "avatar_url": "https://avatars3.githubusercontent.com/u/12040649?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/simonsipl", + "html_url": "https://github.com/simonsipl", + "followers_url": "https://api.github.com/users/simonsipl/followers", + "following_url": "https://api.github.com/users/simonsipl/following{/other_user}", + "gists_url": "https://api.github.com/users/simonsipl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/simonsipl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/simonsipl/subscriptions", + "organizations_url": "https://api.github.com/users/simonsipl/orgs", + "repos_url": "https://api.github.com/users/simonsipl/repos", + "events_url": "https://api.github.com/users/simonsipl/events{/privacy}", + "received_events_url": "https://api.github.com/users/simonsipl/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [], + "labels": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/86/commits", + "review_comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/86/comments", + "review_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/86/comments", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/3a4ab8eb54e90faeb17937b3fc2530b4dd2c558e", + "head": { + "label": "tgorskievo:feature/personalData-generator", + "ref": "feature/personalData-generator", + "sha": "3a4ab8eb54e90faeb17937b3fc2530b4dd2c558e", + "user": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 103289434, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDMyODk0MzQ=", + "name": "Kakunin", + "full_name": "tgorskievo/Kakunin", + "private": false, + "owner": { + "login": "tgorskievo", + "id": 31895660, + "node_id": "MDQ6VXNlcjMxODk1NjYw", + "avatar_url": "https://avatars0.githubusercontent.com/u/31895660?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tgorskievo", + "html_url": "https://github.com/tgorskievo", + "followers_url": "https://api.github.com/users/tgorskievo/followers", + "following_url": "https://api.github.com/users/tgorskievo/following{/other_user}", + "gists_url": "https://api.github.com/users/tgorskievo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tgorskievo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tgorskievo/subscriptions", + "organizations_url": "https://api.github.com/users/tgorskievo/orgs", + "repos_url": "https://api.github.com/users/tgorskievo/repos", + "events_url": "https://api.github.com/users/tgorskievo/events{/privacy}", + "received_events_url": "https://api.github.com/users/tgorskievo/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/tgorskievo/Kakunin", + "description": "An E2E testing framework", + "fork": true, + "url": "https://api.github.com/repos/tgorskievo/Kakunin", + "forks_url": "https://api.github.com/repos/tgorskievo/Kakunin/forks", + "keys_url": "https://api.github.com/repos/tgorskievo/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/tgorskievo/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/tgorskievo/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/tgorskievo/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/tgorskievo/Kakunin/events", + "assignees_url": "https://api.github.com/repos/tgorskievo/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/tgorskievo/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/tgorskievo/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/tgorskievo/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/tgorskievo/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/tgorskievo/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/tgorskievo/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/tgorskievo/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/tgorskievo/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/tgorskievo/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/tgorskievo/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/tgorskievo/Kakunin/merges", + "archive_url": "https://api.github.com/repos/tgorskievo/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/tgorskievo/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/tgorskievo/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/tgorskievo/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/tgorskievo/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/tgorskievo/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/tgorskievo/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/tgorskievo/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/tgorskievo/Kakunin/deployments", + "created_at": "2017-09-12T15:37:27Z", + "updated_at": "2018-09-11T20:36:29Z", + "pushed_at": "2018-09-28T11:04:24Z", + "git_url": "git://github.com/tgorskievo/Kakunin.git", + "ssh_url": "git@github.com:tgorskievo/Kakunin.git", + "clone_url": "https://github.com/tgorskievo/Kakunin.git", + "svn_url": "https://github.com/tgorskievo/Kakunin", + "homepage": "http://kakunin.io", + "size": 2527, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "TheSoftwareHouse:next", + "ref": "next", + "sha": "2dd5216720f9d7be60d39738fb597553b49acafa", + "user": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 101873151, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDE4NzMxNTE=", + "name": "Kakunin", + "full_name": "TheSoftwareHouse/Kakunin", + "private": false, + "owner": { + "login": "TheSoftwareHouse", + "id": 1520669, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE1MjA2Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1520669?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TheSoftwareHouse", + "html_url": "https://github.com/TheSoftwareHouse", + "followers_url": "https://api.github.com/users/TheSoftwareHouse/followers", + "following_url": "https://api.github.com/users/TheSoftwareHouse/following{/other_user}", + "gists_url": "https://api.github.com/users/TheSoftwareHouse/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TheSoftwareHouse/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TheSoftwareHouse/subscriptions", + "organizations_url": "https://api.github.com/users/TheSoftwareHouse/orgs", + "repos_url": "https://api.github.com/users/TheSoftwareHouse/repos", + "events_url": "https://api.github.com/users/TheSoftwareHouse/events{/privacy}", + "received_events_url": "https://api.github.com/users/TheSoftwareHouse/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/TheSoftwareHouse/Kakunin", + "description": "An E2E testing framework", + "fork": false, + "url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin", + "forks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/forks", + "keys_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/teams", + "hooks_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/hooks", + "issue_events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/events{/number}", + "events_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/events", + "assignees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/assignees{/user}", + "branches_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/branches{/branch}", + "tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/tags", + "blobs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/languages", + "stargazers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/stargazers", + "contributors_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contributors", + "subscribers_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscribers", + "subscription_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/subscription", + "commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/contents/{+path}", + "compare_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/merges", + "archive_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/downloads", + "issues_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues{/number}", + "pulls_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/labels{/name}", + "releases_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/releases{/id}", + "deployments_url": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/deployments", + "created_at": "2017-08-30T11:26:02Z", + "updated_at": "2018-09-19T11:59:19Z", + "pushed_at": "2018-09-29T13:58:34Z", + "git_url": "git://github.com/TheSoftwareHouse/Kakunin.git", + "ssh_url": "git@github.com:TheSoftwareHouse/Kakunin.git", + "clone_url": "https://github.com/TheSoftwareHouse/Kakunin.git", + "svn_url": "https://github.com/TheSoftwareHouse/Kakunin", + "homepage": "http://kakunin.io", + "size": 2308, + "stargazers_count": 75, + "watchers_count": 75, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": true, + "forks_count": 10, + "mirror_url": null, + "archived": false, + "open_issues_count": 11, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 10, + "open_issues": 11, + "watchers": 75, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/86" + }, + "html": { + "href": "https://github.com/TheSoftwareHouse/Kakunin/pull/86" + }, + "issue": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/86" + }, + "comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/issues/86/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/86/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/pulls/86/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/TheSoftwareHouse/Kakunin/statuses/3a4ab8eb54e90faeb17937b3fc2530b4dd2c558e" + } + }, + "author_association": "COLLABORATOR", + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "sethii", + "id": 2310778, + "node_id": "MDQ6VXNlcjIzMTA3Nzg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/2310778?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "html_url": "https://github.com/sethii", + "followers_url": "https://api.github.com/users/sethii/followers", + "following_url": "https://api.github.com/users/sethii/following{/other_user}", + "gists_url": "https://api.github.com/users/sethii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sethii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sethii/subscriptions", + "organizations_url": "https://api.github.com/users/sethii/orgs", + "repos_url": "https://api.github.com/users/sethii/repos", + "events_url": "https://api.github.com/users/sethii/events{/privacy}", + "received_events_url": "https://api.github.com/users/sethii/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 2, + "additions": 1108, + "deletions": 412, + "changed_files": 13 + } + }, + "public": true, + "created_at": "2018-09-29T13:58:34Z", + "org": { + "id": 1520669, + "login": "TheSoftwareHouse", + "gravatar_id": "", + "url": "https://api.github.com/orgs/TheSoftwareHouse", + "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" + } + } +] + From 3b0a52004ca732669f6832a90729af1408ac15a8 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 15:01:50 +0200 Subject: [PATCH 13/34] Created timelineComponent, TODO: Fill timeline with filtered events, Render everything onto html --- src/components/{timeline.js => Timeline.js} | 10 ++++------ test/components/TimelineComponentTest.js | 9 +++++++++ 2 files changed, 13 insertions(+), 6 deletions(-) rename src/components/{timeline.js => Timeline.js} (85%) create mode 100644 test/components/TimelineComponentTest.js diff --git a/src/components/timeline.js b/src/components/Timeline.js similarity index 85% rename from src/components/timeline.js rename to src/components/Timeline.js index 2cc369b..1a760c4 100644 --- a/src/components/timeline.js +++ b/src/components/Timeline.js @@ -1,4 +1,4 @@ -export class timeline { +export class Timeline { constructor(identifier, response) { const self = this; @@ -7,11 +7,9 @@ export class timeline { return { PullRequestEvent: { allowed: ['opened', 'closed'], - handler: handlePullRequestEvent, }, PullRequestReviewCommentEvent: { allowed: ['created', 'deleted', 'edited'], - handler: handlePullRequestReviewCommentEvent, }, }; } @@ -21,11 +19,11 @@ export class timeline { get: function () { const element = document.getElementById(identifier); - if ('object' === typeof element) { - return element; + if (null === element) { + throw new Error(identifier + 'not found'); } - throw new Error(identifier + 'not found'); + return element; }, }); diff --git a/test/components/TimelineComponentTest.js b/test/components/TimelineComponentTest.js new file mode 100644 index 0000000..13767ed --- /dev/null +++ b/test/components/TimelineComponentTest.js @@ -0,0 +1,9 @@ +'use strict'; + +import {Timeline} from "../../src/components/Timeline"; +import {GithubUser} from "../../src/entity/GithubUser"; +const expect = require('chai').expect; + +describe('ProfileComponentTest', function () { + +}); From bc6fb82c5bebb92d767594255913017ec2af5516 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 17:18:39 +0200 Subject: [PATCH 14/34] Added static constructor for response from Event --- src/app.js | 219 ++++++--------------- src/components/Timeline.js | 53 ++--- src/entity/GithubEvent.js | 37 +++- src/entity/GithubUser.js | 27 +++ src/factory/EventCollectionFactory.js | 2 +- src/index.html | 2 +- test/components/TimelineComponentTest.js | 5 +- test/entity/GithubEventTest.js | 2 +- test/entity/GithubUserTest.js | 32 +++ test/factory/EventCollectionFactoryTest.js | 6 +- 10 files changed, 175 insertions(+), 210 deletions(-) diff --git a/src/app.js b/src/app.js index c299d99..83577f6 100755 --- a/src/app.js +++ b/src/app.js @@ -1,167 +1,64 @@ import './assets/scss/app.scss'; import $ from 'cash-dom'; import {GithubUser} from "./entity/GithubUser"; +import {Profile} from "./components/Profile"; +import {Timeline} from "./components/Timeline"; +import {EventCollectionFactory} from "./factory/EventCollectionFactory"; export class App { - initializeApp() { - let self = this; - const input = $('.username.input'); - const whitelistedEvents = { - PullRequestEvent: { - allowed: ['opened', 'closed'], - }, - PullRequestReviewCommentEvent: { - allowed: ['created', 'deleted', 'edited'], - }, - }; - - addEventListeners(); - - Object.defineProperty(self, "username", { - get: function () { - const username = input.val(); - const regexp = new RegExp(/^[a-zA-Z0-9-_]+$/); - - if ('string' === typeof username && username.match(regexp)) { - input.removeClass('.input--error'); - - return username; - } - - input.addClass('input--error'); - - throw new Error('app.username is not valid'); - }, - }); - - function handleWhitelistedEvent(item) { - if ('string' !== typeof item.type || 'object' !== typeof item.payload) { - throw new Error('Provided values must be string'); - } - - Object.keys(whitelistedEvents).map(function (eventKey, eventProperties) { - const typeCheck = eventKey === item.type; - const payloadActionCheck = 'string' === typeof item.payload.action; - - if (typeCheck && payloadActionCheck && eventProperties.allowed.includes(item.payload.action)) { - eventProperties.handler(); - } - }); - } - - function addEventListeners() { - $('.load-username').on('click', function () { - fetch('https://api.github.com/users/' + self.username) - .then(response => { return handleResponse(response) }) - .then(body => updateGithubProfile(body)) - .then(() => fetchUserHistory()); - - function fetchUserHistory() { - let endpoint = 'https://api.github.com/users/{username}/events/public'; - endpoint = endpoint.replace('{username}', self.username); - fetch(endpoint) - .then(response => { - return handleResponse(response) }) - .then(body => updateGithubHistory(body)) - } - - function updateGithubProfile(body) { - self.profile = new GithubUser(body); - updateProfile(); - } - - function updateGithubHistory(body) { - let even = false; - const timeline = document.getElementById('user-timeline'); - - Object.values(body).map(function (item) { - const marker = document.createElement('DIV'); - const content = document.createElement('DIV'); - - appendToContent(); - handleWhitelistedEvent(item); - - //TODO: move logic from appendToContent, build skeleton for each event rendering - - function appendToContent() { - const heading = document.createElement('P'); - const nestedContent = document.createElement('DIV'); - const img = document.createElement('IMG'); - const eventAnchor = document.createElement('A'); - let eventName; - - function eventTypeVoter() { - return 'undefined' !== item.actor - && 'undefined' !== item.created_at - && handleProperEventType(); - } - - function appendPreparedItemContent() { - const span = document.createElement('SPAN'); - const usernameAnchor = document.createElement('A'); - usernameAnchor.href = item.actor.url; - usernameAnchor.innerText = item.actor.login; - span.classList.add("gh-username"); - span.append(img, usernameAnchor); - nestedContent.append(span); - nestedContent.innerText += 'closed'; - eventAnchor.innerText = item.type; - nestedContent.appendChild(eventAnchor); - } - - content.appendChild(heading); - content.appendChild(nestedContent); - } - - function handleProperEventType() - { - let check = false; - - if ('string' !== typeof item.type || 'object' !== typeof item.payload) { - throw new Error('Provided values must be string'); - } - - Object.keys(whitelistedEvents).map(function (key, index, value) { - const typeCheck = key === item.type; - const payloadActionCheck = 'string' === typeof item.payload.action; - - if (typeCheck && payloadActionCheck && value.includes(item.payload.action)) { - check = true; - } - }); - - return check; - } - - function appendToTimeline() { - marker.classList.add('timeline-marker'); - content.classList.add('timeline-content'); - - timeline.appendChild(marker); - timeline.appendChild(content); - } - }) - } - - function handleResponse(response) { - if (200 === response.status) { - return response.json() - } - - if (404 === response.status) { - input.addClass('input--error'); - } - - throw new Error('Could not fetch username. Error: ' + response.status); - } - }); - } - - function updateProfile() { - $('#profile-name').text(self.profile.name); - $('#profile-image').attr('src', self.profile.avatar); - $('#profile-url').attr('href', self.profile.url).text(self.profile.login); - $('#profile-bio').text(self.profile.bio || '(no information)') - } - } + constructor() { + const self = this; + + Object.defineProperty(self, 'githubUser', { + enumerable: true, + writable: true, + }); + } + + initializeApp() { + let self = this; + + function addEventListeners() { + $('.load-username').on('click', function () { + fetch('https://api.github.com/users/' + self.username) + .then(response => { return handleResponse(response) }) + .then(body => {self.updateGithubProfile(body)}) + .then(() => fetchUserHistory()); + + function fetchUserHistory() { + let endpoint = 'https://api.github.com/users/{username}/events/public'; + endpoint = endpoint.replace('{username}', self.username); + fetch(endpoint) + .then(response => { + return handleResponse(response) }) + .then(body => self.updateGithubTimeline(body)) + } + + function handleResponse(response) { + if (200 === response.status) { + return response.json() + } + + if (404 === response.status) { + input.addClass('input--error'); + } + + throw new Error('Could not fetch username. Error: ' + response.status); + } + }); + } + } + + updateGithubProfile(body) { + const self = this; + self.githubUser = new GithubUser(body); + const profile = new Profile(self.githubUser, 'githubProfile'); + profile.appendHtml(); + } + + updateGithubTimeline(body) { + const eventCollection = new EventCollectionFactory(body).getAllowedEventsOnly(); + const timeline = new Timeline(eventCollection); + timeline.appendHtml(); + } } diff --git a/src/components/Timeline.js b/src/components/Timeline.js index 1a760c4..b0917b7 100644 --- a/src/components/Timeline.js +++ b/src/components/Timeline.js @@ -1,60 +1,39 @@ +import {EventCollectionFactory} from "../factory/EventCollectionFactory"; + export class Timeline { - constructor(identifier, response) { + constructor(containerId, responseBody) { const self = this; - Object.defineProperty(self, "whitelistedEvents", { - get: function () { - return { - PullRequestEvent: { - allowed: ['opened', 'closed'], - }, - PullRequestReviewCommentEvent: { - allowed: ['created', 'deleted', 'edited'], - }, - }; - } - }); - - Object.defineProperty(self, "element", { + Object.defineProperty(self, 'container', { get: function () { - const element = document.getElementById(identifier); + const element = document.getElementById(containerId); if (null === element) { - throw new Error(identifier + 'not found'); + throw new Error(containerId + 'not found'); } return element; }, }); - Object.defineProperty(self, "collection", { + Object.defineProperty(self, 'collection', { get: function () { - if ('object' !== typeof response) { - throw new Error("invalid response: " + response); + if ('object' !== typeof responseBody) { + throw new Error('Invalid responseBody'); } - return response; + return new EventCollectionFactory(responseBody).getAllowedEventsOnly(); } }); } - prepareCollection() { - let collection = []; - - function handleWhitelistedEvent(item) { - if ('string' !== typeof item.type || 'object' !== typeof item.payload) { - throw new Error('Provided values must be string'); - } + renderHtml() { + const self = this; + let even = false; - Object.keys(self.whitelistedEvents).map(function (eventKey, eventProperties) { - const typeCheck = eventKey === item.type; - const payloadActionCheck = 'string' === typeof item.payload.action; + Object.values(self.collection).map(function (item) { + even = !even; + }) - if (typeCheck && payloadActionCheck && eventProperties.allowed.includes(item.payload.action)) { - collection.push({ - }) - } - }); - } } } diff --git a/src/entity/GithubEvent.js b/src/entity/GithubEvent.js index 0b5e3f0..d3e2b01 100644 --- a/src/entity/GithubEvent.js +++ b/src/entity/GithubEvent.js @@ -1,26 +1,28 @@ +import {GithubUser} from "./GithubUser"; + export class GithubEvent { constructor(responseBody) { const self = this; - Object.defineProperty(self, "payload", { + Object.defineProperty(self, 'payload', { get: function () { return responseBody.payload; } }); - Object.defineProperty(self, "repo", { + Object.defineProperty(self, 'repo', { get: function () { return responseBody.repo; } }); - Object.defineProperty(self, "eventType", { + Object.defineProperty(self, 'eventType', { get: function () { return responseBody.type; } }); - Object.defineProperty(self, "created", { + Object.defineProperty(self, 'created', { get: function () { return responseBody.created_at; } @@ -46,4 +48,31 @@ export class GithubEvent { validateProfileResponse(); } + + returnHtmlNode(even) { + const self = this; + const mainNode = document.createElement('DIV'); + const marker = document.createElement('DIV'); + const heading = document.createElement('P'); + const nestedContent = document.createElement('DIV'); + mainNode.classList.add('timeline-item'); + marker.classList.add('timeline-marker'); + heading.classList.add('heading'); + heading.innerHTML = new Date(self.created).toDateString(); + + if ('undefined' !== even && true === even) { + mainNode.classList.add('is-primary'); + marker.classList.add('is-primary'); + } + + function prepareNestedContent() { + const nestedSpan = document.createElement('SPAN'); + const img = document.createElement('IMG'); + const anchor = document.createElement('A'); + anchor.href = ''; + + } + + + } } diff --git a/src/entity/GithubUser.js b/src/entity/GithubUser.js index b84d9b4..4387e71 100644 --- a/src/entity/GithubUser.js +++ b/src/entity/GithubUser.js @@ -44,4 +44,31 @@ export class GithubUser { validateProfileResponse(); } + + static fromGithubEventResponse(eventResponse) { + if ('object' !== typeof eventResponse.actor) { + throw new Error('Actor in eventResponse not found'); + } + + const actor = eventResponse.actor; + validateEventResponse(); + + function validateEventResponse() { + let keys = ['display_login', 'url', 'avatar_url']; + + Object.values(keys).map(function (item) { + if ('undefined' === typeof actor[item]) { + throw new Error('Invalid actor object in response from Github'); + } + }) + } + + return new GithubUser({ + 'name': false, + 'bio': false, + 'avatar_url': actor.avatar_url, + 'html_url': actor.url, + 'login': actor.display_login, + }); + } } diff --git a/src/factory/EventCollectionFactory.js b/src/factory/EventCollectionFactory.js index c7eb34b..52247fc 100644 --- a/src/factory/EventCollectionFactory.js +++ b/src/factory/EventCollectionFactory.js @@ -30,7 +30,7 @@ export class EventCollectionFactory { }); } - withAllowedEventsOnly() { + getAllowedEventsOnly() { const self = this; let cacheArr = []; diff --git a/src/index.html b/src/index.html index b384c0a..6727ab3 100755 --- a/src/index.html +++ b/src/index.html @@ -34,7 +34,7 @@

Profile

-
+
diff --git a/test/components/TimelineComponentTest.js b/test/components/TimelineComponentTest.js index 13767ed..d8bac3f 100644 --- a/test/components/TimelineComponentTest.js +++ b/test/components/TimelineComponentTest.js @@ -1,9 +1,10 @@ 'use strict'; import {Timeline} from "../../src/components/Timeline"; -import {GithubUser} from "../../src/entity/GithubUser"; const expect = require('chai').expect; describe('ProfileComponentTest', function () { - + it('test render from valid factory', function () { + const a = ''; + }); }); diff --git a/test/entity/GithubEventTest.js b/test/entity/GithubEventTest.js index de168ff..a1a7745 100644 --- a/test/entity/GithubEventTest.js +++ b/test/entity/GithubEventTest.js @@ -9,7 +9,7 @@ describe('GithubEventTest', function () { payload: {}, repo: {}, type: 'fake', - created_at: '2066-06-06x§', + created_at: '2066-06-06', }; const validGithubEvent = new GithubEvent(validResponse); diff --git a/test/entity/GithubUserTest.js b/test/entity/GithubUserTest.js index 825b354..4a445e4 100644 --- a/test/entity/GithubUserTest.js +++ b/test/entity/GithubUserTest.js @@ -29,6 +29,38 @@ describe('GithubUserTest', function () { expect(thrown).to.be.true; }); + + it('test static constructor fromGithubEventResponse', function () { + const validGithubUser = GithubUser.fromGithubEventResponse(validPullRequestEvent); + expect(validGithubUser).to.be.instanceOf(GithubUser); + }); + + it('test invalid static constructor fromGithubEventResponse', function () { + let thrown; + + try { + thrown = GithubUser.fromGithubEventResponse({'actor': { 'name' : 'Brad Pitt'}}); + } catch (e) { + expect(e.message).to.be.equal('Invalid actor object in response from Github'); + thrown = true; + } + + expect(thrown).to.be.true; + }) }); +const validPullRequestEvent = { + "id": "8448335229", + "type": "PullRequestEvent", + "actor": { + "id": 2310778, + "login": "sethii", + "display_login": "sethii", + "gravatar_id": "", + "url": "https://api.github.com/users/sethii", + "avatar_url": "https://avatars.githubusercontent.com/u/2310778?" + }, +}; + + diff --git a/test/factory/EventCollectionFactoryTest.js b/test/factory/EventCollectionFactoryTest.js index 1ae45c2..8546bd5 100644 --- a/test/factory/EventCollectionFactoryTest.js +++ b/test/factory/EventCollectionFactoryTest.js @@ -9,7 +9,7 @@ describe('EventCollectionFactoryTest', function () { try { const factory = new EventCollectionFactory([{fake: 'non-valid'}, {fake: 'non-valid'}]); - thrown = factory.withAllowedEventsOnly(); + thrown = factory.getAllowedEventsOnly(); } catch (e) { expect(e.message).to.be.equal('Invalid responseBody'); thrown = true; @@ -18,9 +18,9 @@ describe('EventCollectionFactoryTest', function () { expect(thrown).to.be.true; }); - it('test valid on withAllowedEventsOnly()', function () { + it('test valid on getAllowedEventsOnly()', function () { const factory = new EventCollectionFactory(validResponse); - const withAllowed = factory.withAllowedEventsOnly(); + const withAllowed = factory.getAllowedEventsOnly(); const properEventsCount = 14; const randomNumber = Math.floor(Math.random() * 14) + 1; const randomValidEvent = withAllowed[randomNumber]; From d72d6df0965ef4acdb75130e78e64d0eebbd80ff Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 19:09:37 +0200 Subject: [PATCH 15/34] added static getPayloadActionName for handling the key-nesting over response from api, added parser for githubEvent --- src/components/Timeline.js | 2 +- src/entity/GithubEvent.js | 47 +++++++++++++++++++--- src/entity/GithubUser.js | 2 +- src/factory/EventCollectionFactory.js | 27 ++++++++++++- test/entity/GithubUserTest.js | 1 - test/factory/EventCollectionFactoryTest.js | 18 +++++++-- 6 files changed, 83 insertions(+), 14 deletions(-) diff --git a/src/components/Timeline.js b/src/components/Timeline.js index b0917b7..31bfa5b 100644 --- a/src/components/Timeline.js +++ b/src/components/Timeline.js @@ -27,7 +27,7 @@ export class Timeline { }); } - renderHtml() { + renderHtmlCollection() { const self = this; let even = false; diff --git a/src/entity/GithubEvent.js b/src/entity/GithubEvent.js index d3e2b01..3dd418c 100644 --- a/src/entity/GithubEvent.js +++ b/src/entity/GithubEvent.js @@ -4,6 +4,12 @@ export class GithubEvent { constructor(responseBody) { const self = this; + Object.defineProperty(self, 'responseBody', { + get: function () { + return responseBody; + } + }); + Object.defineProperty(self, 'payload', { get: function () { return responseBody.payload; @@ -51,10 +57,11 @@ export class GithubEvent { returnHtmlNode(even) { const self = this; + const user = GithubUser.fromGithubEventResponse(self.responseBody); const mainNode = document.createElement('DIV'); const marker = document.createElement('DIV'); const heading = document.createElement('P'); - const nestedContent = document.createElement('DIV'); + const nestedContent = prepareNestedContent(); mainNode.classList.add('timeline-item'); marker.classList.add('timeline-marker'); heading.classList.add('heading'); @@ -66,13 +73,41 @@ export class GithubEvent { } function prepareNestedContent() { - const nestedSpan = document.createElement('SPAN'); - const img = document.createElement('IMG'); - const anchor = document.createElement('A'); - anchor.href = ''; + function prepareNestedSpanContent() { + const nestedSpan = document.createElement('SPAN'); + const img = document.createElement('IMG'); + const anchor = document.createElement('A'); + anchor.href = user.url; + anchor.innerText = user.login; + img.src = user.avatar; + nestedSpan.classList.add('gh-username'); - } + nestedSpan.appendChild(img); + nestedSpan.appendChild(anchor); + + return nestedSpan; + } + function prepareActionSpan() { + const actionSpan = document.createElement('SPAN'); + actionSpan.innerText = self.payload.action; + actionSpan.classList.add('timeline__action--js'); + return actionSpan; + } + + function prepareEventAnchor() { + const eventAnchor = document.createElement('A'); + const contextCase = ''; + eventAnchor.innerText = self.payload + } + + function appendNodesInOrder() { + const nestedContent = document.createElement('DIV'); + const actionSpan = prepareActionSpan(); + const nestedSpanContent = prepareNestedSpanContent(); + + } + } } } diff --git a/src/entity/GithubUser.js b/src/entity/GithubUser.js index 4387e71..574ea50 100644 --- a/src/entity/GithubUser.js +++ b/src/entity/GithubUser.js @@ -60,7 +60,7 @@ export class GithubUser { if ('undefined' === typeof actor[item]) { throw new Error('Invalid actor object in response from Github'); } - }) + }); } return new GithubUser({ diff --git a/src/factory/EventCollectionFactory.js b/src/factory/EventCollectionFactory.js index 52247fc..1dc1feb 100644 --- a/src/factory/EventCollectionFactory.js +++ b/src/factory/EventCollectionFactory.js @@ -9,11 +9,13 @@ export class EventCollectionFactory { return [ { name: 'PullRequestEvent', - allowed: ['opened', 'closed'] + allowed: ['opened', 'closed'], + simpleName: 'pull_request', }, { name: 'PullRequestReviewCommentEvent', - allowed: ['created', 'deleted', 'edited'] + allowed: ['created', 'deleted', 'edited'], + simpleName: 'comment', }, ] } @@ -30,6 +32,27 @@ export class EventCollectionFactory { }); } + static getPayloadActionName(githubEvent) { + const self = new EventCollectionFactory({}); + let simpleName; + + if (!(githubEvent instanceof GithubEvent)) { + throw new Error('githubEvent is not instance of GithubEvent class'); + } + + Object.values(self.allowedKeys).map(function (item) { + if (item.name === githubEvent.eventType) { + simpleName = item.simpleName; + } + }); + + if ('string' === typeof simpleName) { + return simpleName; + } + + throw new Error(githubEvent.eventType + ' not found in allowedKeys') + } + getAllowedEventsOnly() { const self = this; let cacheArr = []; diff --git a/test/entity/GithubUserTest.js b/test/entity/GithubUserTest.js index 4a445e4..501b77f 100644 --- a/test/entity/GithubUserTest.js +++ b/test/entity/GithubUserTest.js @@ -49,7 +49,6 @@ describe('GithubUserTest', function () { }) }); - const validPullRequestEvent = { "id": "8448335229", "type": "PullRequestEvent", diff --git a/test/factory/EventCollectionFactoryTest.js b/test/factory/EventCollectionFactoryTest.js index 8546bd5..d4e9c4c 100644 --- a/test/factory/EventCollectionFactoryTest.js +++ b/test/factory/EventCollectionFactoryTest.js @@ -1,6 +1,7 @@ 'use strict'; import {EventCollectionFactory} from "../../src/factory/EventCollectionFactory"; +import {GithubEvent} from "../../src/entity/GithubEvent"; const expect = require('chai').expect; describe('EventCollectionFactoryTest', function () { @@ -37,10 +38,21 @@ describe('EventCollectionFactoryTest', function () { } expect(methodsAllowed.includes(randomValidEvent.payload.action)).to.be.true; - }) + }); + + it('test static method getPayloadActionName()', function() { + const pullRequestEvent = new GithubEvent(validResponse[1]); + const pullRequestReviewCommentEvent = new GithubEvent(validResponse[11]); + const simplePayloadFromPR = EventCollectionFactory.getPayloadActionName(pullRequestEvent); + const simplePayloadFromReview = EventCollectionFactory.getPayloadActionName(pullRequestReviewCommentEvent); + + expect(simplePayloadFromPR).to.be.equal('pull_request'); + expect(simplePayloadFromReview).to.be.equal('comment'); + }); }); -const validResponse = [{ +const validResponse = [ + { "id": "8448335270", "type": "PushEvent", "actor": { @@ -6781,5 +6793,5 @@ const validResponse = [{ "avatar_url": "https://avatars.githubusercontent.com/u/1520669?" } } -] +]; From 864411bb345900bc814b473e04dfe916f4f1a020 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 20:12:22 +0200 Subject: [PATCH 16/34] getFilledNode tested over even/uneven is-primary, added method getFilledNode TODO: append this filled node into the timeline object via RENDER method --- src/entity/GithubEvent.js | 72 +++++++++++++++++----- src/factory/EventCollectionFactory.js | 13 ++++ test/factory/EventCollectionFactoryTest.js | 13 ++++ 3 files changed, 83 insertions(+), 15 deletions(-) diff --git a/src/entity/GithubEvent.js b/src/entity/GithubEvent.js index 3dd418c..9b33377 100644 --- a/src/entity/GithubEvent.js +++ b/src/entity/GithubEvent.js @@ -1,4 +1,5 @@ import {GithubUser} from "./GithubUser"; +import {EventCollectionFactory} from "../factory/EventCollectionFactory"; export class GithubEvent { constructor(responseBody) { @@ -55,21 +56,36 @@ export class GithubEvent { validateProfileResponse(); } - returnHtmlNode(even) { + getFilledNode(even) { const self = this; const user = GithubUser.fromGithubEventResponse(self.responseBody); const mainNode = document.createElement('DIV'); const marker = document.createElement('DIV'); + const timelineContent = document.createElement('DIV'); const heading = document.createElement('P'); const nestedContent = prepareNestedContent(); - mainNode.classList.add('timeline-item'); - marker.classList.add('timeline-marker'); - heading.classList.add('heading'); - heading.innerHTML = new Date(self.created).toDateString(); - - if ('undefined' !== even && true === even) { - mainNode.classList.add('is-primary'); - marker.classList.add('is-primary'); + addClasses(); + combineNodes(); + + function combineNodes() { + timelineContent.appendChild(heading); + timelineContent.appendChild(nestedContent); + mainNode.appendChild(marker); + mainNode.appendChild(timelineContent); + } + + function addClasses() { + mainNode.classList.add('timeline-item'); + marker.classList.add('timeline-marker'); + timelineContent.classList.add('timeline-content'); + nestedContent.classList.add('content'); + heading.classList.add('heading'); + heading.innerHTML = new Date(self.created).toDateString(); + + if ('undefined' !== even && true === even) { + mainNode.classList.add('is-primary'); + marker.classList.add('is-primary'); + } } function prepareNestedContent() { @@ -78,7 +94,7 @@ export class GithubEvent { const img = document.createElement('IMG'); const anchor = document.createElement('A'); anchor.href = user.url; - anchor.innerText = user.login; + anchor.innerHTML = user.login; img.src = user.avatar; nestedSpan.classList.add('gh-username'); @@ -90,7 +106,7 @@ export class GithubEvent { function prepareActionSpan() { const actionSpan = document.createElement('SPAN'); - actionSpan.innerText = self.payload.action; + actionSpan.innerHTML = self.payload.action; actionSpan.classList.add('timeline__action--js'); return actionSpan; @@ -98,16 +114,42 @@ export class GithubEvent { function prepareEventAnchor() { const eventAnchor = document.createElement('A'); - const contextCase = ''; - eventAnchor.innerText = self.payload + const contextCase = EventCollectionFactory.getPayloadActionName(self); + eventAnchor.href = self.payload[contextCase].url; + eventAnchor.innerHTML = contextCase.replace('_', ' '); + + return eventAnchor; + } + + function prepareRepoParagraph() { + const paragraph = document.createElement('P'); + const repoAnchor = document.createElement('A'); + paragraph.classList.add('repo-name'); + repoAnchor.href = self.repo.url; + repoAnchor.innerHTML = self.repo.name; + paragraph.appendChild(repoAnchor); + + return paragraph; } - function appendNodesInOrder() { + function getNestedContent() { const nestedContent = document.createElement('DIV'); - const actionSpan = prepareActionSpan(); const nestedSpanContent = prepareNestedSpanContent(); + const actionSpan = prepareActionSpan(); + const eventAnchor = prepareEventAnchor(); + const paragraphWithRepo = prepareRepoParagraph(); + nestedContent.append(nestedSpanContent); + nestedContent.append(actionSpan); + nestedContent.append(eventAnchor); + nestedContent.append(paragraphWithRepo); + + return nestedContent; } + + return getNestedContent(); } + + return mainNode; } } diff --git a/src/factory/EventCollectionFactory.js b/src/factory/EventCollectionFactory.js index 1dc1feb..8e0533b 100644 --- a/src/factory/EventCollectionFactory.js +++ b/src/factory/EventCollectionFactory.js @@ -53,6 +53,19 @@ export class EventCollectionFactory { throw new Error(githubEvent.eventType + ' not found in allowedKeys') } + getFilledNode() { + const self = this; + const filledNode = document.createElement('DIV'); + let isEven = true; + + Object.values(self.getAllowedEventsOnly()).map(function (item) { + isEven = !isEven; + filledNode.append(item.getFilledNode(isEven)); + }); + + return filledNode; + } + getAllowedEventsOnly() { const self = this; let cacheArr = []; diff --git a/test/factory/EventCollectionFactoryTest.js b/test/factory/EventCollectionFactoryTest.js index d4e9c4c..80a02b7 100644 --- a/test/factory/EventCollectionFactoryTest.js +++ b/test/factory/EventCollectionFactoryTest.js @@ -49,6 +49,19 @@ describe('EventCollectionFactoryTest', function () { expect(simplePayloadFromPR).to.be.equal('pull_request'); expect(simplePayloadFromReview).to.be.equal('comment'); }); + + it('test getFilledNode() method from valid data', function () { + // const pullRequestEvent = new GithubEvent(validResponse[1]); + // const pullRequestReviewCommentEvent = new GithubEvent(validResponse[11]); + const factory = new EventCollectionFactory(validResponse); + const filledNode = factory.getFilledNode(); + const childrenLength = filledNode.children.length; + const primaryTimelineItemLength = filledNode.querySelectorAll('.timeline-item.is-primary').length; + const primaryTimelineMarkerLength = filledNode.querySelectorAll('.timeline-marker.is-primary').length; + + expect(childrenLength / primaryTimelineItemLength).to.be.equal(2); + expect(childrenLength / primaryTimelineMarkerLength).to.be.equal(2); + }); }); const validResponse = [ From 7e14ee132d5e3f893ea8901f78050c31753bf789 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 21:03:07 +0200 Subject: [PATCH 17/34] Added proper nesting within timeline --- src/components/Timeline.js | 13 +++++++------ src/factory/EventCollectionFactory.js | 2 ++ src/index.html | 4 ++-- test/components/TimelineComponentTest.js | 10 ---------- test/factory/EventCollectionFactoryTest.js | 10 ++++++++-- 5 files changed, 19 insertions(+), 20 deletions(-) delete mode 100644 test/components/TimelineComponentTest.js diff --git a/src/components/Timeline.js b/src/components/Timeline.js index 31bfa5b..95f8435 100644 --- a/src/components/Timeline.js +++ b/src/components/Timeline.js @@ -22,18 +22,19 @@ export class Timeline { throw new Error('Invalid responseBody'); } - return new EventCollectionFactory(responseBody).getAllowedEventsOnly(); + return new EventCollectionFactory(responseBody); } }); } renderHtmlCollection() { const self = this; - let even = false; - - Object.values(self.collection).map(function (item) { - even = !even; - }) + const headline = document.createElement('H2'); + headline.classList.add('subtitle'); + headline.classList.add('is-4'); + headline.innerHTML = 'HISTORY'; + self.container.append(headline); + self.container.append(self.collection.getFilledNode()); } } diff --git a/src/factory/EventCollectionFactory.js b/src/factory/EventCollectionFactory.js index 8e0533b..b86ac04 100644 --- a/src/factory/EventCollectionFactory.js +++ b/src/factory/EventCollectionFactory.js @@ -63,6 +63,8 @@ export class EventCollectionFactory { filledNode.append(item.getFilledNode(isEven)); }); + filledNode.classList.add('timeline'); + return filledNode; } diff --git a/src/index.html b/src/index.html index 6727ab3..dafad57 100755 --- a/src/index.html +++ b/src/index.html @@ -55,9 +55,9 @@

Profile

-
+

History

-
+
diff --git a/test/components/TimelineComponentTest.js b/test/components/TimelineComponentTest.js deleted file mode 100644 index d8bac3f..0000000 --- a/test/components/TimelineComponentTest.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -import {Timeline} from "../../src/components/Timeline"; -const expect = require('chai').expect; - -describe('ProfileComponentTest', function () { - it('test render from valid factory', function () { - const a = ''; - }); -}); diff --git a/test/factory/EventCollectionFactoryTest.js b/test/factory/EventCollectionFactoryTest.js index 80a02b7..bfac1d8 100644 --- a/test/factory/EventCollectionFactoryTest.js +++ b/test/factory/EventCollectionFactoryTest.js @@ -2,6 +2,7 @@ import {EventCollectionFactory} from "../../src/factory/EventCollectionFactory"; import {GithubEvent} from "../../src/entity/GithubEvent"; +import {Timeline} from "../../src/components/Timeline"; const expect = require('chai').expect; describe('EventCollectionFactoryTest', function () { @@ -51,8 +52,6 @@ describe('EventCollectionFactoryTest', function () { }); it('test getFilledNode() method from valid data', function () { - // const pullRequestEvent = new GithubEvent(validResponse[1]); - // const pullRequestReviewCommentEvent = new GithubEvent(validResponse[11]); const factory = new EventCollectionFactory(validResponse); const filledNode = factory.getFilledNode(); const childrenLength = filledNode.children.length; @@ -62,6 +61,13 @@ describe('EventCollectionFactoryTest', function () { expect(childrenLength / primaryTimelineItemLength).to.be.equal(2); expect(childrenLength / primaryTimelineMarkerLength).to.be.equal(2); }); + + it('test renderHtmlCollection() from Timeline', function () { + const timeline = new Timeline('row', validResponse); + timeline.renderHtmlCollection(); + expect(document.getElementById('row').children.length).to.be.equal(2); + expect(document.querySelector('.timeline').children.length).to.be.equal(14); + }) }); const validResponse = [ From c4e1acc88c56fa773636ea48d44d130525cab970 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Tue, 23 Oct 2018 21:39:09 +0200 Subject: [PATCH 18/34] State management added to GithubInput, TODO: add event listeners and handle states --- src/components/GithubInput.js | 92 +++++++++++++++++++++++++++++++++++ src/index.html | 2 - 2 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 src/components/GithubInput.js diff --git a/src/components/GithubInput.js b/src/components/GithubInput.js new file mode 100644 index 0000000..505c222 --- /dev/null +++ b/src/components/GithubInput.js @@ -0,0 +1,92 @@ +export class GithubInput { + constructor(elementId) { + const self = this; + + Object.defineProperty(self, 'container', { + get: function () { + const element = document.getElementById(elementId); + + if (null === element) { + throw new Error('Input with id ' + elementId + ' not found'); + } + } + }); + + Object.defineProperty(self, 'inputState', { + configurable: true, + enumerable: true, + writable: true, + }); + + self.handleState('initial'); + } + + handleState(stateName) { + if ('string' !== stateName) { + throw new Error('provided state is not valid'); + } + + const self = this; + let check = false; + + Object.values(self.getStates()).map(function (item) { + if (stateName === item.name) { + check = true; + self.inputState = stateName; + item.action(); + } + }); + + if (false === check) { + throw new Error('State is not within whitelisted ones'); + } + } + + getStates() { + const self = this; + + return [ + {name: 'initial', action: self.initialize}, + {name: 'deployed', action: self.addEventListeners}, + {name: 'invalid', action: self.invalidRequest}, + {name: 'valid', action: self.invalidRequest}, + ] + } + + initialize() { + const self = this; + + self.container.innerHTML = GithubInput.getRawHtml(); + self.handleState('deployed'); + } + + + addEventListeners() { + const self = this; + const button = self.container.querySelector('.load-username'); + + if (null === button) { + throw new Error('.load-username class was not found') + } + + //TODO: add event listeners and go to next state, + // cover it with tests + } + + invalidRequest() { + + } + + static getRawHtml() { + return '
' + + '
' + + ' ' + + '
' + + '
\n' + + ' ' + + '
' + + '
' + }; +} diff --git a/src/index.html b/src/index.html index dafad57..fa49ab8 100755 --- a/src/index.html +++ b/src/index.html @@ -19,11 +19,9 @@
- -
From ef30b82f72731377a884c3d0769e14e9b1e22d3f Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Wed, 24 Oct 2018 11:53:32 +0200 Subject: [PATCH 19/34] Added static constructor for GithubUser with proper regexp, and covered it with tests --- src/components/GithubInput.js | 9 ++++++-- src/entity/GithubUser.js | 20 ++++++++++++++++ test/entity/GithubUserTest.js | 43 ++++++++++++++++++++++++++++++++++- 3 files changed, 69 insertions(+), 3 deletions(-) diff --git a/src/components/GithubInput.js b/src/components/GithubInput.js index 505c222..4cb1413 100644 --- a/src/components/GithubInput.js +++ b/src/components/GithubInput.js @@ -64,11 +64,16 @@ export class GithubInput { addEventListeners() { const self = this; const button = self.container.querySelector('.load-username'); + const input = self.container.querySelector('.username.input'); - if (null === button) { - throw new Error('.load-username class was not found') + if (null === button && null === input) { + throw new Error('class .load-username or .username.input not found'); } + button.addEventListener('click', function () { + const inputValue = input.value; + }) + //TODO: add event listeners and go to next state, // cover it with tests } diff --git a/src/entity/GithubUser.js b/src/entity/GithubUser.js index 574ea50..37b5171 100644 --- a/src/entity/GithubUser.js +++ b/src/entity/GithubUser.js @@ -71,4 +71,24 @@ export class GithubUser { 'login': actor.display_login, }); } + + static fromStringUserName(username) { + if ('string' !== typeof username) { + throw new Error('provided username is not a string'); + } + + const regexp = new RegExp(/^[a-zA-Z0-9-_]+$/); + + if (!username.match(regexp)) { + throw new Error('provided username is not valid'); + } + + return new GithubUser({ + 'name': username, + 'bio': false, + 'avatar_url': false, + 'html_url': false, + 'login': false, + }); + } } diff --git a/test/entity/GithubUserTest.js b/test/entity/GithubUserTest.js index 501b77f..f7a9c86 100644 --- a/test/entity/GithubUserTest.js +++ b/test/entity/GithubUserTest.js @@ -46,7 +46,48 @@ describe('GithubUserTest', function () { } expect(thrown).to.be.true; - }) + }); + + it('test valid fromString static constructor', function () { + const validUserName = 'baboonX_0-1B'; + const validUser = GithubUser.fromStringUserName(validUserName); + + expect(validUser).to.be.instanceOf(GithubUser); + }); + + it('test invalid fromString static constructor', function () { + const withSpace = 'space4 Comrade'; + const withSpecialChar = 'space4$'; + const objectInsteadOfString = {}; + let thrown; + let thrown1; + let thrown2; + + try { + thrown = GithubUser.fromStringUserName(withSpace); + } catch (e) { + expect(e.message).to.be.equal('provided username is not valid'); + thrown = true; + } + + try { + thrown1 = GithubUser.fromStringUserName(withSpecialChar); + } catch(e) { + expect(e.message).to.be.equal('provided username is not valid'); + thrown1 = true; + } + + try { + thrown2 = GithubUser.fromStringUserName(objectInsteadOfString); + } catch(e) { + expect(e.message).to.be.equal('provided username is not a string'); + thrown2 = true; + } + + expect(thrown).to.be.true; + expect(thrown1).to.be.true; + expect(thrown2).to.be.true; + }); }); const validPullRequestEvent = { From 0c150ae59ac02a5c3bfee04b03f5681f67e11a79 Mon Sep 17 00:00:00 2001 From: Edward Tubbs Date: Wed, 24 Oct 2018 13:03:52 +0200 Subject: [PATCH 20/34] Profile is filled on proper request --- package.json | 3 +- src/app.js | 44 +-- src/client/GithubClient.js | 39 ++ src/components/GithubInput.js | 102 +++--- src/index.html | 23 +- yarn.lock | 649 ++++++++++++++++++---------------- 6 files changed, 469 insertions(+), 391 deletions(-) create mode 100644 src/client/GithubClient.js diff --git a/package.json b/package.json index 061a083..6f928aa 100755 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ "sass-loader": "~6.0.6", "style-loader": "~0.18.2", "webpack": "^4.22.0", - "webpack-dev-server": "~2.9.1" + "webpack-cli": "^3.1.2", + "webpack-dev-server": "^3.1.10" }, "dependencies": { "bulma": "^0.7.1", diff --git a/src/app.js b/src/app.js index 83577f6..0400dcc 100755 --- a/src/app.js +++ b/src/app.js @@ -4,6 +4,8 @@ import {GithubUser} from "./entity/GithubUser"; import {Profile} from "./components/Profile"; import {Timeline} from "./components/Timeline"; import {EventCollectionFactory} from "./factory/EventCollectionFactory"; +import {GithubClient} from "./client/GithubClient"; +import {GithubInput} from "./components/GithubInput"; export class App { constructor() { @@ -13,40 +15,24 @@ export class App { enumerable: true, writable: true, }); + + self.initializeApp(); } initializeApp() { let self = this; + const githubInput = new GithubInput('github-user-fetch', self); + githubInput.initialize(); + } - function addEventListeners() { - $('.load-username').on('click', function () { - fetch('https://api.github.com/users/' + self.username) - .then(response => { return handleResponse(response) }) - .then(body => {self.updateGithubProfile(body)}) - .then(() => fetchUserHistory()); - - function fetchUserHistory() { - let endpoint = 'https://api.github.com/users/{username}/events/public'; - endpoint = endpoint.replace('{username}', self.username); - fetch(endpoint) - .then(response => { - return handleResponse(response) }) - .then(body => self.updateGithubTimeline(body)) - } - - function handleResponse(response) { - if (200 === response.status) { - return response.json() - } - - if (404 === response.status) { - input.addClass('input--error'); - } + fetchProfile(githubUser) { + const self = this; + GithubClient.fetchUserProfile(githubUser, self); + } - throw new Error('Could not fetch username. Error: ' + response.status); - } - }); - } + fetchTimeline(githubUser) { + const self = this; + GithubClient.fetchUserTimeline(githubUser, self); } updateGithubProfile(body) { @@ -54,9 +40,11 @@ export class App { self.githubUser = new GithubUser(body); const profile = new Profile(self.githubUser, 'githubProfile'); profile.appendHtml(); + self.fetchTimeline(self.githubUser, self); } updateGithubTimeline(body) { + console.log(body); const eventCollection = new EventCollectionFactory(body).getAllowedEventsOnly(); const timeline = new Timeline(eventCollection); timeline.appendHtml(); diff --git a/src/client/GithubClient.js b/src/client/GithubClient.js new file mode 100644 index 0000000..4f3e31f --- /dev/null +++ b/src/client/GithubClient.js @@ -0,0 +1,39 @@ +import {GithubUser} from "../entity/GithubUser"; + +// Due to there are no credentials over calls by now, there is no need of constructor/credentials builder; + +export class GithubClient { + static fetchUserProfile(githubUser, observerCallback) { + // observerCallback must have updateGithubProfile(body) method; + if (!(githubUser instanceof GithubUser)) { + throw new Error('githubUser is not instance of itself'); + } + + fetch('https://api.github.com/users/' + githubUser.name) + .then(response => { return GithubClient.handleResponse(response) }) + .then(body => {observerCallback.updateGithubProfile(body)}) + } + + static fetchUserTimeline(githubUser, observerCallback) { + // observerCallback must have updateGithubProfile(body) method; + if (!(githubUser instanceof GithubUser)) { + throw new Error('githubUser is not instance of itself'); + } + + let endpoint = 'https://api.github.com/users/{username}/events/public'; + endpoint = endpoint.replace('{username}', githubUser.login); + + fetch(endpoint) + .then(response => { + return GithubClient.handleResponse(response) }) + .then(body => observerCallback.updateGithubTimeline(body)) + } + + static handleResponse(response) { + if (200 === response.status) { + return response.json() + } + + throw new Error('Could not fetch username. Error: ' + response.status); + } +} diff --git a/src/components/GithubInput.js b/src/components/GithubInput.js index 4cb1413..25efa9a 100644 --- a/src/components/GithubInput.js +++ b/src/components/GithubInput.js @@ -1,5 +1,8 @@ +import {GithubUser} from "../entity/GithubUser"; +import {App} from "../app"; + export class GithubInput { - constructor(elementId) { + constructor(elementId, mainApp) { const self = this; Object.defineProperty(self, 'container', { @@ -7,79 +10,86 @@ export class GithubInput { const element = document.getElementById(elementId); if (null === element) { - throw new Error('Input with id ' + elementId + ' not found'); + throw new Error('htmlNode with id ' + elementId + ' not found'); } + + return element; } }); - Object.defineProperty(self, 'inputState', { - configurable: true, - enumerable: true, - writable: true, - }); + Object.defineProperty(self, 'app', { + get: function () { + if (!(mainApp instanceof App)) { + throw new Error('mainApp is not instance of App'); + } - self.handleState('initial'); - } + return mainApp; + } + }); - handleState(stateName) { - if ('string' !== stateName) { - throw new Error('provided state is not valid'); - } + Object.defineProperty(self, 'input', { + get: function () { + const input = self.container.querySelector('.username.input'); - const self = this; - let check = false; + if (null === input) { + throw new Error('input with class .username.input not found'); + } - Object.values(self.getStates()).map(function (item) { - if (stateName === item.name) { - check = true; - self.inputState = stateName; - item.action(); + return input; } }); - if (false === check) { - throw new Error('State is not within whitelisted ones'); - } - } + Object.defineProperty(self, 'button', { + get: function () { + const button = self.container.querySelector('.load-username'); - getStates() { - const self = this; + if (null === button) { + throw new Error('button with class .load-username not found'); + } + + return button; + } + }); - return [ - {name: 'initial', action: self.initialize}, - {name: 'deployed', action: self.addEventListeners}, - {name: 'invalid', action: self.invalidRequest}, - {name: 'valid', action: self.invalidRequest}, - ] + self.initialize(); } initialize() { const self = this; self.container.innerHTML = GithubInput.getRawHtml(); - self.handleState('deployed'); + self.addEventListeners(); } - addEventListeners() { const self = this; - const button = self.container.querySelector('.load-username'); - const input = self.container.querySelector('.username.input'); - if (null === button && null === input) { - throw new Error('class .load-username or .username.input not found'); - } + self.button.addEventListener('click', function () { + let githubUser; + self.cleanseErrorStates(); - button.addEventListener('click', function () { - const inputValue = input.value; - }) + try { + githubUser = GithubUser.fromStringUserName(self.input.value); + } catch (e) { + if ('provided username is not valid' === e.message) { + return self.invalidUsername(); + } - //TODO: add event listeners and go to next state, - // cover it with tests + throw e; + } + + self.app.fetchProfile(githubUser); + }); } - invalidRequest() { + invalidUsername() { + const self = this; + self.input.classList.add('input--error'); + } + cleanseErrorStates() { + const self = this; + self.input.classList.remove('input--error'); } static getRawHtml() { @@ -87,7 +97,7 @@ export class GithubInput { '
' + ' ' + '
' + - '
\n' + + '
' + ' ' + diff --git a/src/index.html b/src/index.html index fa49ab8..c2ff893 100755 --- a/src/index.html +++ b/src/index.html @@ -7,7 +7,7 @@