├── .gitignore
├── circle.yml
├── example
├── .gitignore
├── components
│ ├── Navigation.js
│ └── SignInOrProfileLink.js
├── package.json
├── pages
│ ├── _document.js
│ ├── index.js
│ ├── private.js
│ ├── public.js
│ ├── sign-in.js
│ └── sign-out.js
├── readme.md
└── yarn.lock
├── package.json
├── readme.md
├── run-example.sh
├── run-tests.js
├── screen.gif
├── src
├── decorators
│ ├── DemandSignedIn.js
│ ├── GithubContext.js
│ ├── PrivatePage.js
│ └── PublicPage.js
├── index.js
├── modules
│ ├── NextGlobalClientStore.js
│ ├── compose.js
│ ├── configureSignIn.js
│ ├── demandEnvVar.js
│ ├── getGithubAccessTokenCookie.js
│ └── getGithubAuthorizeUrl.js
└── pages
│ ├── SignIn.js
│ └── SignOut.js
├── test
├── helpers
│ ├── ensureGithubSignin.js
│ ├── revokeAppAccess.js
│ └── startBrowser.js
├── signed-in.js
└── signed-out.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | lib
3 | *.log
4 |
--------------------------------------------------------------------------------
/circle.yml:
--------------------------------------------------------------------------------
1 | machine:
2 | environment:
3 | PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"
4 | node:
5 | version: 6
6 | post:
7 | # Note: test depedency issue without this
8 | - rm -rf ./next-github-auth/node_modules
9 | dependencies:
10 | override:
11 | - yarn install
12 | test:
13 | override:
14 | - node ./run-tests.js
15 |
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .next
3 |
--------------------------------------------------------------------------------
/example/components/Navigation.js:
--------------------------------------------------------------------------------
1 | import Link from 'next/link'
2 |
3 | const Navigation = () => {
4 | const listStyle = {
5 | listStyle: 'none',
6 | margin: 0,
7 | paddingLeft: 0,
8 | display: 'inline-block'
9 | }
10 |
11 | const itemStyle = {
12 | display: 'inline-block'
13 | }
14 |
15 | return (
16 |
37 | )
38 | }
39 |
40 | export default Navigation
41 |
--------------------------------------------------------------------------------
/example/components/SignInOrProfileLink.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import PropTypes from 'prop-types'
3 | import Link from 'next/link'
4 |
5 | const styles = {
6 | position: 'absolute',
7 | right: 20,
8 | top: 20
9 | }
10 |
11 | const signOutLink = (
12 |
13 | sign out
14 |
15 | )
16 |
17 | const SignInOrProfileLink = (props, { github }) => {
18 | return (
19 |
20 | {github.user
21 | ?
hi {github.user.login} ({signOutLink})
22 | :
sign in
23 | }
24 |
25 | )
26 | }
27 |
28 | SignInOrProfileLink.contextTypes = {
29 | github: PropTypes.shape({
30 | user: PropTypes.shape({
31 | login: PropTypes.string
32 | })
33 | })
34 | }
35 |
36 | export default SignInOrProfileLink
37 |
--------------------------------------------------------------------------------
/example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "dev": "next",
4 | "build": "next build",
5 | "start": "next start"
6 | },
7 | "dependencies": {
8 | "axios": "^0.15.3",
9 | "next": "^2.1.1",
10 | "next-github-auth": "file:..",
11 | "react": "^15.5.3",
12 | "react-dom": "^15.5.3"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/example/pages/_document.js:
--------------------------------------------------------------------------------
1 | import Document, { Head, Main, NextScript } from 'next/document'
2 |
3 | const resetCssUrl =
4 | 'https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css'
5 |
6 | class Root extends Document {
7 | static async getInitialProps (pageContext) {
8 | return pageContext.renderPage()
9 | }
10 |
11 | render () {
12 | return (
13 |
14 |
15 | Next Github auth example
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | )
25 | }
26 | }
27 |
28 | export default Root
29 |
--------------------------------------------------------------------------------
/example/pages/index.js:
--------------------------------------------------------------------------------
1 | import Navigation from '../components/Navigation'
2 | import SignInOrProfileLink from '../components/SignInOrProfileLink'
3 | import { PublicPage } from 'next-github-auth'
4 |
5 | const Home = () => (
6 |
7 |
8 |
9 |
10 |
11 |
12 |
home page!
13 |
14 | )
15 |
16 | export default PublicPage(Home)
17 |
--------------------------------------------------------------------------------
/example/pages/private.js:
--------------------------------------------------------------------------------
1 | import { Component } from 'react'
2 | import PropTypes from 'prop-types'
3 | import Navigation from '../components/Navigation'
4 | import SignInOrProfileLink from '../components/SignInOrProfileLink'
5 | import { PrivatePage } from 'next-github-auth'
6 | import request from 'axios'
7 |
8 | const getGithubRepos = async githubAccessToken => {
9 | const url = `https://api.github.com/user/repos`
10 | const headers = { Authorization: `token ${githubAccessToken}` }
11 | const params = { type: 'owner', sort: 'updated' }
12 | const options = { headers, params }
13 |
14 | const result = await request.get(url, options)
15 | return result.data.slice(0, 3)
16 | }
17 |
18 | const repoView = ({ full_name }) => ({ fullName: full_name })
19 |
20 | class Private extends Component {
21 | static propTypes = {
22 | repos: PropTypes.arrayOf(PropTypes.shape({
23 | fullName: PropTypes.string.isRequired
24 | })).isRequired
25 | }
26 |
27 | static async getInitialProps ({ github: { accessToken } }) {
28 | const githubRepos = await getGithubRepos(accessToken)
29 | const repos = githubRepos.map(repoView)
30 | return { repos }
31 | }
32 |
33 | render () {
34 | const { repos } = this.props
35 |
36 | return (
37 |
38 |
39 |
40 |
41 |
42 |
43 |
private page!
44 |
45 |
46 |
47 | {!repos.length && (
48 |
cool, you have 0 repos!
49 | )}
50 |
51 | {!!repos.length && (
52 |
53 | {repos.map(({ fullName }) => (
54 | - {fullName}
55 | ))}
56 |
57 | )}
58 |
59 | )
60 | }
61 | }
62 |
63 | export default PrivatePage(Private)
64 |
--------------------------------------------------------------------------------
/example/pages/public.js:
--------------------------------------------------------------------------------
1 | import Navigation from '../components/Navigation'
2 | import SignInOrProfileLink from '../components/SignInOrProfileLink'
3 | import { PublicPage } from 'next-github-auth'
4 |
5 | const Public = () => (
6 |
7 |
8 |
9 |
10 |
11 |
12 |
public page!
13 |
14 | )
15 |
16 | export default PublicPage(Public)
17 |
--------------------------------------------------------------------------------
/example/pages/sign-in.js:
--------------------------------------------------------------------------------
1 | import { configureSignIn } from 'next-github-auth'
2 |
3 | // Note: See README for simpler approach if you don't need to configure the
4 | // sign in page.
5 | const SignIn = configureSignIn({ scope: 'repo' })
6 | export default SignIn
7 |
--------------------------------------------------------------------------------
/example/pages/sign-out.js:
--------------------------------------------------------------------------------
1 | import { SignOut } from 'next-github-auth'
2 | export default SignOut
3 |
--------------------------------------------------------------------------------
/example/readme.md:
--------------------------------------------------------------------------------
1 | # Next.js with Github auth example
2 |
3 | A [Next.js](https://github.com/zeit/next.js) example using [Github](https://github.com) authentication
4 |
5 | ## Setup app environment
6 |
7 | 1. [Add an OAuth application](https://github.com/settings/developers) to your Github account to generate a client id and secret
8 |
9 | Set the callback URL to the public URL of the deployed app
10 |
11 | 1. Setup environment
12 |
13 | Export your GitHub app's client id and secret as environment variables
14 |
15 | ```
16 | export GITHUB_CLIENT_ID=YOUR_APP_ID
17 | export GITHUB_CLIENT_SECRET=YOUR_APP_SECRET
18 | ```
19 |
20 | ## Quick start
21 |
22 | 1. Run provided script
23 |
24 | ```
25 | cd ./example && ./run.sh
26 | ```
27 |
28 | ## Manual start
29 |
30 | 1. Build and install
31 |
32 | Start by installing the library in the root of the repo
33 |
34 | ```
35 | yarn install
36 | yarn link
37 | ```
38 |
39 | Install the example
40 |
41 | ```
42 | cd example
43 | yarn install
44 | yarn link next-github-auth
45 | ```
46 |
47 | 1. Start the app
48 |
49 | ```
50 | yarn dev
51 | ```
52 |
53 | ## Demo
54 |
55 | The example app is deployed to [https://next-github-auth-example.now.sh](https://next-github-auth-example.now.sh)
56 |
57 | ## Deploy
58 |
59 | Deploy to [now](https://now.sh)
60 |
61 | ```
62 | now secret add next-github-id YOUR_APP_ID
63 | now secret add next-github-secret YOUR_APP_SECRET
64 |
65 | now -e GITHUB_CLIENT_ID=@next-github-id -e GITHUB_CLIENT_SECRET=@next-github-secret
66 | ```
67 |
--------------------------------------------------------------------------------
/example/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | abbrev@1:
6 | version "1.1.0"
7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
8 |
9 | acorn-dynamic-import@^2.0.0:
10 | version "2.0.2"
11 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
12 | dependencies:
13 | acorn "^4.0.3"
14 |
15 | acorn@^4.0.3, acorn@^4.0.4:
16 | version "4.0.11"
17 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
18 |
19 | ajv-keywords@^1.1.1:
20 | version "1.5.1"
21 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
22 |
23 | ajv@^4.7.0, ajv@^4.9.1:
24 | version "4.11.6"
25 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.6.tgz#947e93049790942b2a2d60a8289b28924d39f987"
26 | dependencies:
27 | co "^4.6.0"
28 | json-stable-stringify "^1.0.1"
29 |
30 | align-text@^0.1.1, align-text@^0.1.3:
31 | version "0.1.4"
32 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
33 | dependencies:
34 | kind-of "^3.0.2"
35 | longest "^1.0.1"
36 | repeat-string "^1.5.2"
37 |
38 | amdefine@>=0.0.4:
39 | version "1.0.1"
40 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
41 |
42 | ansi-html@0.0.7:
43 | version "0.0.7"
44 | resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
45 |
46 | ansi-regex@^2.0.0:
47 | version "2.1.1"
48 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
49 |
50 | ansi-styles@^2.2.1:
51 | version "2.2.1"
52 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
53 |
54 | any-promise@^1.0.0, any-promise@^1.1.0:
55 | version "1.3.0"
56 | resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
57 |
58 | anymatch@^1.3.0:
59 | version "1.3.0"
60 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
61 | dependencies:
62 | arrify "^1.0.0"
63 | micromatch "^2.1.5"
64 |
65 | aproba@^1.0.3:
66 | version "1.1.1"
67 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
68 |
69 | are-we-there-yet@~1.1.2:
70 | version "1.1.2"
71 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
72 | dependencies:
73 | delegates "^1.0.0"
74 | readable-stream "^2.0.0 || ^1.1.13"
75 |
76 | arr-diff@^2.0.0:
77 | version "2.0.0"
78 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
79 | dependencies:
80 | arr-flatten "^1.0.1"
81 |
82 | arr-flatten@^1.0.1:
83 | version "1.0.1"
84 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b"
85 |
86 | array-union@^1.0.1:
87 | version "1.0.2"
88 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
89 | dependencies:
90 | array-uniq "^1.0.1"
91 |
92 | array-uniq@^1.0.1:
93 | version "1.0.3"
94 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
95 |
96 | array-unique@^0.2.1:
97 | version "0.2.1"
98 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
99 |
100 | arrify@^1.0.0:
101 | version "1.0.1"
102 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
103 |
104 | asap@~2.0.3:
105 | version "2.0.5"
106 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
107 |
108 | asn1.js@^4.0.0:
109 | version "4.9.1"
110 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
111 | dependencies:
112 | bn.js "^4.0.0"
113 | inherits "^2.0.1"
114 | minimalistic-assert "^1.0.0"
115 |
116 | asn1@~0.2.3:
117 | version "0.2.3"
118 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
119 |
120 | assert-plus@1.0.0, assert-plus@^1.0.0:
121 | version "1.0.0"
122 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
123 |
124 | assert-plus@^0.2.0:
125 | version "0.2.0"
126 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
127 |
128 | assert@^1.1.1:
129 | version "1.4.1"
130 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
131 | dependencies:
132 | util "0.10.3"
133 |
134 | async-each@^1.0.0:
135 | version "1.0.1"
136 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
137 |
138 | async@^2.1.2:
139 | version "2.3.0"
140 | resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
141 | dependencies:
142 | lodash "^4.14.0"
143 |
144 | asynckit@^0.4.0:
145 | version "0.4.0"
146 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
147 |
148 | aws-sign2@~0.6.0:
149 | version "0.6.0"
150 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
151 |
152 | aws4@^1.2.1:
153 | version "1.6.0"
154 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
155 |
156 | axios@^0.15.3:
157 | version "0.15.3"
158 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.15.3.tgz#2c9d638b2e191a08ea1d6cc988eadd6ba5bdc053"
159 | dependencies:
160 | follow-redirects "1.0.0"
161 |
162 | axios@^0.16.0:
163 | version "0.16.1"
164 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.16.1.tgz#c0b6d26600842384b8f509e57111f0d2df8223ca"
165 | dependencies:
166 | follow-redirects "^1.2.3"
167 |
168 | babel-code-frame@^6.20.0, babel-code-frame@^6.22.0:
169 | version "6.22.0"
170 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
171 | dependencies:
172 | chalk "^1.1.0"
173 | esutils "^2.0.2"
174 | js-tokens "^3.0.0"
175 |
176 | babel-core@6.24.0:
177 | version "6.24.0"
178 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.0.tgz#8f36a0a77f5c155aed6f920b844d23ba56742a02"
179 | dependencies:
180 | babel-code-frame "^6.22.0"
181 | babel-generator "^6.24.0"
182 | babel-helpers "^6.23.0"
183 | babel-messages "^6.23.0"
184 | babel-register "^6.24.0"
185 | babel-runtime "^6.22.0"
186 | babel-template "^6.23.0"
187 | babel-traverse "^6.23.1"
188 | babel-types "^6.23.0"
189 | babylon "^6.11.0"
190 | convert-source-map "^1.1.0"
191 | debug "^2.1.1"
192 | json5 "^0.5.0"
193 | lodash "^4.2.0"
194 | minimatch "^3.0.2"
195 | path-is-absolute "^1.0.0"
196 | private "^0.1.6"
197 | slash "^1.0.0"
198 | source-map "^0.5.0"
199 |
200 | babel-core@^6.24.1:
201 | version "6.24.1"
202 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83"
203 | dependencies:
204 | babel-code-frame "^6.22.0"
205 | babel-generator "^6.24.1"
206 | babel-helpers "^6.24.1"
207 | babel-messages "^6.23.0"
208 | babel-register "^6.24.1"
209 | babel-runtime "^6.22.0"
210 | babel-template "^6.24.1"
211 | babel-traverse "^6.24.1"
212 | babel-types "^6.24.1"
213 | babylon "^6.11.0"
214 | convert-source-map "^1.1.0"
215 | debug "^2.1.1"
216 | json5 "^0.5.0"
217 | lodash "^4.2.0"
218 | minimatch "^3.0.2"
219 | path-is-absolute "^1.0.0"
220 | private "^0.1.6"
221 | slash "^1.0.0"
222 | source-map "^0.5.0"
223 |
224 | babel-generator@6.24.0, babel-generator@^6.24.0:
225 | version "6.24.0"
226 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.0.tgz#eba270a8cc4ce6e09a61be43465d7c62c1f87c56"
227 | dependencies:
228 | babel-messages "^6.23.0"
229 | babel-runtime "^6.22.0"
230 | babel-types "^6.23.0"
231 | detect-indent "^4.0.0"
232 | jsesc "^1.3.0"
233 | lodash "^4.2.0"
234 | source-map "^0.5.0"
235 | trim-right "^1.0.1"
236 |
237 | babel-generator@^6.24.1:
238 | version "6.24.1"
239 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497"
240 | dependencies:
241 | babel-messages "^6.23.0"
242 | babel-runtime "^6.22.0"
243 | babel-types "^6.24.1"
244 | detect-indent "^4.0.0"
245 | jsesc "^1.3.0"
246 | lodash "^4.2.0"
247 | source-map "^0.5.0"
248 | trim-right "^1.0.1"
249 |
250 | babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
251 | version "6.24.1"
252 | resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
253 | dependencies:
254 | babel-helper-explode-assignable-expression "^6.24.1"
255 | babel-runtime "^6.22.0"
256 | babel-types "^6.24.1"
257 |
258 | babel-helper-builder-react-jsx@^6.24.1:
259 | version "6.24.1"
260 | resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc"
261 | dependencies:
262 | babel-runtime "^6.22.0"
263 | babel-types "^6.24.1"
264 | esutils "^2.0.0"
265 |
266 | babel-helper-call-delegate@^6.24.1:
267 | version "6.24.1"
268 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
269 | dependencies:
270 | babel-helper-hoist-variables "^6.24.1"
271 | babel-runtime "^6.22.0"
272 | babel-traverse "^6.24.1"
273 | babel-types "^6.24.1"
274 |
275 | babel-helper-define-map@^6.24.1:
276 | version "6.24.1"
277 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080"
278 | dependencies:
279 | babel-helper-function-name "^6.24.1"
280 | babel-runtime "^6.22.0"
281 | babel-types "^6.24.1"
282 | lodash "^4.2.0"
283 |
284 | babel-helper-explode-assignable-expression@^6.24.1:
285 | version "6.24.1"
286 | resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
287 | dependencies:
288 | babel-runtime "^6.22.0"
289 | babel-traverse "^6.24.1"
290 | babel-types "^6.24.1"
291 |
292 | babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.24.1:
293 | version "6.24.1"
294 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
295 | dependencies:
296 | babel-helper-get-function-arity "^6.24.1"
297 | babel-runtime "^6.22.0"
298 | babel-template "^6.24.1"
299 | babel-traverse "^6.24.1"
300 | babel-types "^6.24.1"
301 |
302 | babel-helper-get-function-arity@^6.24.1:
303 | version "6.24.1"
304 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
305 | dependencies:
306 | babel-runtime "^6.22.0"
307 | babel-types "^6.24.1"
308 |
309 | babel-helper-hoist-variables@^6.24.1:
310 | version "6.24.1"
311 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
312 | dependencies:
313 | babel-runtime "^6.22.0"
314 | babel-types "^6.24.1"
315 |
316 | babel-helper-optimise-call-expression@^6.24.1:
317 | version "6.24.1"
318 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
319 | dependencies:
320 | babel-runtime "^6.22.0"
321 | babel-types "^6.24.1"
322 |
323 | babel-helper-regex@^6.24.1:
324 | version "6.24.1"
325 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8"
326 | dependencies:
327 | babel-runtime "^6.22.0"
328 | babel-types "^6.24.1"
329 | lodash "^4.2.0"
330 |
331 | babel-helper-remap-async-to-generator@^6.24.1:
332 | version "6.24.1"
333 | resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
334 | dependencies:
335 | babel-helper-function-name "^6.24.1"
336 | babel-runtime "^6.22.0"
337 | babel-template "^6.24.1"
338 | babel-traverse "^6.24.1"
339 | babel-types "^6.24.1"
340 |
341 | babel-helper-replace-supers@^6.24.1:
342 | version "6.24.1"
343 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
344 | dependencies:
345 | babel-helper-optimise-call-expression "^6.24.1"
346 | babel-messages "^6.23.0"
347 | babel-runtime "^6.22.0"
348 | babel-template "^6.24.1"
349 | babel-traverse "^6.24.1"
350 | babel-types "^6.24.1"
351 |
352 | babel-helpers@^6.23.0, babel-helpers@^6.24.1:
353 | version "6.24.1"
354 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
355 | dependencies:
356 | babel-runtime "^6.22.0"
357 | babel-template "^6.24.1"
358 |
359 | babel-loader@6.4.1:
360 | version "6.4.1"
361 | resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca"
362 | dependencies:
363 | find-cache-dir "^0.1.1"
364 | loader-utils "^0.2.16"
365 | mkdirp "^0.5.1"
366 | object-assign "^4.0.1"
367 |
368 | babel-messages@^6.23.0, babel-messages@^6.8.0:
369 | version "6.23.0"
370 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
371 | dependencies:
372 | babel-runtime "^6.22.0"
373 |
374 | babel-plugin-check-es2015-constants@^6.22.0:
375 | version "6.22.0"
376 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
377 | dependencies:
378 | babel-runtime "^6.22.0"
379 |
380 | babel-plugin-module-resolver@2.6.2:
381 | version "2.6.2"
382 | resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.6.2.tgz#66845c8855865dd7fd4d5256be93272e3d16701d"
383 | dependencies:
384 | find-babel-config "^1.0.1"
385 | glob "^7.1.1"
386 | resolve "^1.3.2"
387 |
388 | babel-plugin-react-require@3.0.0:
389 | version "3.0.0"
390 | resolved "https://registry.yarnpkg.com/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz#2e4e7b4496b93a654a1c80042276de4e4eeb20e3"
391 |
392 | babel-plugin-syntax-async-functions@^6.8.0:
393 | version "6.13.0"
394 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
395 |
396 | babel-plugin-syntax-class-properties@^6.8.0:
397 | version "6.13.0"
398 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
399 |
400 | babel-plugin-syntax-exponentiation-operator@^6.8.0:
401 | version "6.13.0"
402 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
403 |
404 | babel-plugin-syntax-flow@^6.18.0:
405 | version "6.18.0"
406 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d"
407 |
408 | babel-plugin-syntax-jsx@6.18.0, babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0:
409 | version "6.18.0"
410 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
411 |
412 | babel-plugin-syntax-object-rest-spread@^6.8.0:
413 | version "6.13.0"
414 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
415 |
416 | babel-plugin-syntax-trailing-function-commas@^6.22.0:
417 | version "6.22.0"
418 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
419 |
420 | babel-plugin-transform-async-to-generator@^6.24.1:
421 | version "6.24.1"
422 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
423 | dependencies:
424 | babel-helper-remap-async-to-generator "^6.24.1"
425 | babel-plugin-syntax-async-functions "^6.8.0"
426 | babel-runtime "^6.22.0"
427 |
428 | babel-plugin-transform-class-properties@6.22.0:
429 | version "6.22.0"
430 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.22.0.tgz#aa78f8134495c7de06c097118ba061844e1dc1d8"
431 | dependencies:
432 | babel-helper-function-name "^6.22.0"
433 | babel-plugin-syntax-class-properties "^6.8.0"
434 | babel-runtime "^6.22.0"
435 | babel-template "^6.22.0"
436 |
437 | babel-plugin-transform-es2015-arrow-functions@^6.22.0:
438 | version "6.22.0"
439 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
440 | dependencies:
441 | babel-runtime "^6.22.0"
442 |
443 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
444 | version "6.22.0"
445 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
446 | dependencies:
447 | babel-runtime "^6.22.0"
448 |
449 | babel-plugin-transform-es2015-block-scoping@^6.24.1:
450 | version "6.24.1"
451 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576"
452 | dependencies:
453 | babel-runtime "^6.22.0"
454 | babel-template "^6.24.1"
455 | babel-traverse "^6.24.1"
456 | babel-types "^6.24.1"
457 | lodash "^4.2.0"
458 |
459 | babel-plugin-transform-es2015-classes@^6.24.1:
460 | version "6.24.1"
461 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
462 | dependencies:
463 | babel-helper-define-map "^6.24.1"
464 | babel-helper-function-name "^6.24.1"
465 | babel-helper-optimise-call-expression "^6.24.1"
466 | babel-helper-replace-supers "^6.24.1"
467 | babel-messages "^6.23.0"
468 | babel-runtime "^6.22.0"
469 | babel-template "^6.24.1"
470 | babel-traverse "^6.24.1"
471 | babel-types "^6.24.1"
472 |
473 | babel-plugin-transform-es2015-computed-properties@^6.24.1:
474 | version "6.24.1"
475 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
476 | dependencies:
477 | babel-runtime "^6.22.0"
478 | babel-template "^6.24.1"
479 |
480 | babel-plugin-transform-es2015-destructuring@^6.22.0:
481 | version "6.23.0"
482 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
483 | dependencies:
484 | babel-runtime "^6.22.0"
485 |
486 | babel-plugin-transform-es2015-duplicate-keys@^6.24.1:
487 | version "6.24.1"
488 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
489 | dependencies:
490 | babel-runtime "^6.22.0"
491 | babel-types "^6.24.1"
492 |
493 | babel-plugin-transform-es2015-for-of@^6.22.0:
494 | version "6.23.0"
495 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
496 | dependencies:
497 | babel-runtime "^6.22.0"
498 |
499 | babel-plugin-transform-es2015-function-name@^6.24.1:
500 | version "6.24.1"
501 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
502 | dependencies:
503 | babel-helper-function-name "^6.24.1"
504 | babel-runtime "^6.22.0"
505 | babel-types "^6.24.1"
506 |
507 | babel-plugin-transform-es2015-literals@^6.22.0:
508 | version "6.22.0"
509 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
510 | dependencies:
511 | babel-runtime "^6.22.0"
512 |
513 | babel-plugin-transform-es2015-modules-amd@^6.24.1:
514 | version "6.24.1"
515 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
516 | dependencies:
517 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
518 | babel-runtime "^6.22.0"
519 | babel-template "^6.24.1"
520 |
521 | babel-plugin-transform-es2015-modules-commonjs@6.24.0:
522 | version "6.24.0"
523 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz#e921aefb72c2cc26cb03d107626156413222134f"
524 | dependencies:
525 | babel-plugin-transform-strict-mode "^6.22.0"
526 | babel-runtime "^6.22.0"
527 | babel-template "^6.23.0"
528 | babel-types "^6.23.0"
529 |
530 | babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
531 | version "6.24.1"
532 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe"
533 | dependencies:
534 | babel-plugin-transform-strict-mode "^6.24.1"
535 | babel-runtime "^6.22.0"
536 | babel-template "^6.24.1"
537 | babel-types "^6.24.1"
538 |
539 | babel-plugin-transform-es2015-modules-systemjs@^6.24.1:
540 | version "6.24.1"
541 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
542 | dependencies:
543 | babel-helper-hoist-variables "^6.24.1"
544 | babel-runtime "^6.22.0"
545 | babel-template "^6.24.1"
546 |
547 | babel-plugin-transform-es2015-modules-umd@^6.24.1:
548 | version "6.24.1"
549 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
550 | dependencies:
551 | babel-plugin-transform-es2015-modules-amd "^6.24.1"
552 | babel-runtime "^6.22.0"
553 | babel-template "^6.24.1"
554 |
555 | babel-plugin-transform-es2015-object-super@^6.24.1:
556 | version "6.24.1"
557 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
558 | dependencies:
559 | babel-helper-replace-supers "^6.24.1"
560 | babel-runtime "^6.22.0"
561 |
562 | babel-plugin-transform-es2015-parameters@^6.24.1:
563 | version "6.24.1"
564 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
565 | dependencies:
566 | babel-helper-call-delegate "^6.24.1"
567 | babel-helper-get-function-arity "^6.24.1"
568 | babel-runtime "^6.22.0"
569 | babel-template "^6.24.1"
570 | babel-traverse "^6.24.1"
571 | babel-types "^6.24.1"
572 |
573 | babel-plugin-transform-es2015-shorthand-properties@^6.24.1:
574 | version "6.24.1"
575 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
576 | dependencies:
577 | babel-runtime "^6.22.0"
578 | babel-types "^6.24.1"
579 |
580 | babel-plugin-transform-es2015-spread@^6.22.0:
581 | version "6.22.0"
582 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
583 | dependencies:
584 | babel-runtime "^6.22.0"
585 |
586 | babel-plugin-transform-es2015-sticky-regex@^6.24.1:
587 | version "6.24.1"
588 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
589 | dependencies:
590 | babel-helper-regex "^6.24.1"
591 | babel-runtime "^6.22.0"
592 | babel-types "^6.24.1"
593 |
594 | babel-plugin-transform-es2015-template-literals@^6.22.0:
595 | version "6.22.0"
596 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
597 | dependencies:
598 | babel-runtime "^6.22.0"
599 |
600 | babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
601 | version "6.23.0"
602 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
603 | dependencies:
604 | babel-runtime "^6.22.0"
605 |
606 | babel-plugin-transform-es2015-unicode-regex@^6.24.1:
607 | version "6.24.1"
608 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
609 | dependencies:
610 | babel-helper-regex "^6.24.1"
611 | babel-runtime "^6.22.0"
612 | regexpu-core "^2.0.0"
613 |
614 | babel-plugin-transform-exponentiation-operator@^6.24.1:
615 | version "6.24.1"
616 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
617 | dependencies:
618 | babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
619 | babel-plugin-syntax-exponentiation-operator "^6.8.0"
620 | babel-runtime "^6.22.0"
621 |
622 | babel-plugin-transform-flow-strip-types@^6.22.0:
623 | version "6.22.0"
624 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf"
625 | dependencies:
626 | babel-plugin-syntax-flow "^6.18.0"
627 | babel-runtime "^6.22.0"
628 |
629 | babel-plugin-transform-object-rest-spread@6.22.0:
630 | version "6.22.0"
631 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz#1d419b55e68d2e4f64a5ff3373bd67d73c8e83bc"
632 | dependencies:
633 | babel-plugin-syntax-object-rest-spread "^6.8.0"
634 | babel-runtime "^6.22.0"
635 |
636 | babel-plugin-transform-react-display-name@^6.23.0:
637 | version "6.23.0"
638 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz#4398910c358441dc4cef18787264d0412ed36b37"
639 | dependencies:
640 | babel-runtime "^6.22.0"
641 |
642 | babel-plugin-transform-react-jsx-self@^6.22.0:
643 | version "6.22.0"
644 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e"
645 | dependencies:
646 | babel-plugin-syntax-jsx "^6.8.0"
647 | babel-runtime "^6.22.0"
648 |
649 | babel-plugin-transform-react-jsx-source@6.22.0, babel-plugin-transform-react-jsx-source@^6.22.0:
650 | version "6.22.0"
651 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6"
652 | dependencies:
653 | babel-plugin-syntax-jsx "^6.8.0"
654 | babel-runtime "^6.22.0"
655 |
656 | babel-plugin-transform-react-jsx@^6.23.0:
657 | version "6.24.1"
658 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
659 | dependencies:
660 | babel-helper-builder-react-jsx "^6.24.1"
661 | babel-plugin-syntax-jsx "^6.8.0"
662 | babel-runtime "^6.22.0"
663 |
664 | babel-plugin-transform-react-remove-prop-types@0.3.3:
665 | version "0.3.3"
666 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.3.3.tgz#d09f48b9a9503a69c1ced39b3825c2f45d29333c"
667 |
668 | babel-plugin-transform-regenerator@^6.24.1:
669 | version "6.24.1"
670 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418"
671 | dependencies:
672 | regenerator-transform "0.9.11"
673 |
674 | babel-plugin-transform-runtime@6.22.0:
675 | version "6.22.0"
676 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.22.0.tgz#10968d760bbf6517243081eec778e10fa828551c"
677 | dependencies:
678 | babel-runtime "^6.22.0"
679 |
680 | babel-plugin-transform-strict-mode@^6.22.0, babel-plugin-transform-strict-mode@^6.24.1:
681 | version "6.24.1"
682 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
683 | dependencies:
684 | babel-runtime "^6.22.0"
685 | babel-types "^6.24.1"
686 |
687 | babel-preset-es2015@^6.24.0:
688 | version "6.24.1"
689 | resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
690 | dependencies:
691 | babel-plugin-check-es2015-constants "^6.22.0"
692 | babel-plugin-transform-es2015-arrow-functions "^6.22.0"
693 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
694 | babel-plugin-transform-es2015-block-scoping "^6.24.1"
695 | babel-plugin-transform-es2015-classes "^6.24.1"
696 | babel-plugin-transform-es2015-computed-properties "^6.24.1"
697 | babel-plugin-transform-es2015-destructuring "^6.22.0"
698 | babel-plugin-transform-es2015-duplicate-keys "^6.24.1"
699 | babel-plugin-transform-es2015-for-of "^6.22.0"
700 | babel-plugin-transform-es2015-function-name "^6.24.1"
701 | babel-plugin-transform-es2015-literals "^6.22.0"
702 | babel-plugin-transform-es2015-modules-amd "^6.24.1"
703 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
704 | babel-plugin-transform-es2015-modules-systemjs "^6.24.1"
705 | babel-plugin-transform-es2015-modules-umd "^6.24.1"
706 | babel-plugin-transform-es2015-object-super "^6.24.1"
707 | babel-plugin-transform-es2015-parameters "^6.24.1"
708 | babel-plugin-transform-es2015-shorthand-properties "^6.24.1"
709 | babel-plugin-transform-es2015-spread "^6.22.0"
710 | babel-plugin-transform-es2015-sticky-regex "^6.24.1"
711 | babel-plugin-transform-es2015-template-literals "^6.22.0"
712 | babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
713 | babel-plugin-transform-es2015-unicode-regex "^6.24.1"
714 | babel-plugin-transform-regenerator "^6.24.1"
715 |
716 | babel-preset-es2016@^6.22.0:
717 | version "6.24.1"
718 | resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.24.1.tgz#f900bf93e2ebc0d276df9b8ab59724ebfd959f8b"
719 | dependencies:
720 | babel-plugin-transform-exponentiation-operator "^6.24.1"
721 |
722 | babel-preset-es2017@^6.22.0:
723 | version "6.24.1"
724 | resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.24.1.tgz#597beadfb9f7f208bcfd8a12e9b2b29b8b2f14d1"
725 | dependencies:
726 | babel-plugin-syntax-trailing-function-commas "^6.22.0"
727 | babel-plugin-transform-async-to-generator "^6.24.1"
728 |
729 | babel-preset-flow@^6.23.0:
730 | version "6.23.0"
731 | resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d"
732 | dependencies:
733 | babel-plugin-transform-flow-strip-types "^6.22.0"
734 |
735 | babel-preset-latest@6.24.0:
736 | version "6.24.0"
737 | resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.24.0.tgz#a68d20f509edcc5d7433a48dfaebf7e4f2cd4cb7"
738 | dependencies:
739 | babel-preset-es2015 "^6.24.0"
740 | babel-preset-es2016 "^6.22.0"
741 | babel-preset-es2017 "^6.22.0"
742 |
743 | babel-preset-react@6.23.0:
744 | version "6.23.0"
745 | resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.23.0.tgz#eb7cee4de98a3f94502c28565332da9819455195"
746 | dependencies:
747 | babel-plugin-syntax-jsx "^6.3.13"
748 | babel-plugin-transform-react-display-name "^6.23.0"
749 | babel-plugin-transform-react-jsx "^6.23.0"
750 | babel-plugin-transform-react-jsx-self "^6.22.0"
751 | babel-plugin-transform-react-jsx-source "^6.22.0"
752 | babel-preset-flow "^6.23.0"
753 |
754 | babel-register@^6.24.0, babel-register@^6.24.1:
755 | version "6.24.1"
756 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f"
757 | dependencies:
758 | babel-core "^6.24.1"
759 | babel-runtime "^6.22.0"
760 | core-js "^2.4.0"
761 | home-or-tmp "^2.0.0"
762 | lodash "^4.2.0"
763 | mkdirp "^0.5.1"
764 | source-map-support "^0.4.2"
765 |
766 | babel-runtime@6.23.0, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0:
767 | version "6.23.0"
768 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
769 | dependencies:
770 | core-js "^2.4.0"
771 | regenerator-runtime "^0.10.0"
772 |
773 | babel-template@^6.22.0, babel-template@^6.23.0, babel-template@^6.24.1, babel-template@^6.7.0:
774 | version "6.24.1"
775 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333"
776 | dependencies:
777 | babel-runtime "^6.22.0"
778 | babel-traverse "^6.24.1"
779 | babel-types "^6.24.1"
780 | babylon "^6.11.0"
781 | lodash "^4.2.0"
782 |
783 | babel-traverse@6.21.0:
784 | version "6.21.0"
785 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad"
786 | dependencies:
787 | babel-code-frame "^6.20.0"
788 | babel-messages "^6.8.0"
789 | babel-runtime "^6.20.0"
790 | babel-types "^6.21.0"
791 | babylon "^6.11.0"
792 | debug "^2.2.0"
793 | globals "^9.0.0"
794 | invariant "^2.2.0"
795 | lodash "^4.2.0"
796 |
797 | babel-traverse@^6.23.1, babel-traverse@^6.24.1:
798 | version "6.24.1"
799 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695"
800 | dependencies:
801 | babel-code-frame "^6.22.0"
802 | babel-messages "^6.23.0"
803 | babel-runtime "^6.22.0"
804 | babel-types "^6.24.1"
805 | babylon "^6.15.0"
806 | debug "^2.2.0"
807 | globals "^9.0.0"
808 | invariant "^2.2.0"
809 | lodash "^4.2.0"
810 |
811 | babel-types@^6.19.0, babel-types@^6.21.0, babel-types@^6.23.0, babel-types@^6.24.1:
812 | version "6.24.1"
813 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975"
814 | dependencies:
815 | babel-runtime "^6.22.0"
816 | esutils "^2.0.2"
817 | lodash "^4.2.0"
818 | to-fast-properties "^1.0.1"
819 |
820 | babylon@6.14.1:
821 | version "6.14.1"
822 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815"
823 |
824 | babylon@^6.11.0, babylon@^6.15.0:
825 | version "6.16.1"
826 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
827 |
828 | balanced-match@^0.4.1:
829 | version "0.4.2"
830 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
831 |
832 | base64-js@^1.0.2:
833 | version "1.2.0"
834 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
835 |
836 | bcrypt-pbkdf@^1.0.0:
837 | version "1.0.1"
838 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
839 | dependencies:
840 | tweetnacl "^0.14.3"
841 |
842 | big.js@^3.1.3:
843 | version "3.1.3"
844 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
845 |
846 | binary-extensions@^1.0.0:
847 | version "1.8.0"
848 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
849 |
850 | block-stream@*:
851 | version "0.0.9"
852 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
853 | dependencies:
854 | inherits "~2.0.0"
855 |
856 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
857 | version "4.11.6"
858 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
859 |
860 | boom@2.x.x:
861 | version "2.10.1"
862 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
863 | dependencies:
864 | hoek "2.x.x"
865 |
866 | brace-expansion@^1.0.0:
867 | version "1.1.7"
868 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
869 | dependencies:
870 | balanced-match "^0.4.1"
871 | concat-map "0.0.1"
872 |
873 | braces@^1.8.2:
874 | version "1.8.5"
875 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
876 | dependencies:
877 | expand-range "^1.8.1"
878 | preserve "^0.2.0"
879 | repeat-element "^1.1.2"
880 |
881 | brorand@^1.0.1:
882 | version "1.1.0"
883 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
884 |
885 | browserify-aes@^1.0.0, browserify-aes@^1.0.4:
886 | version "1.0.6"
887 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
888 | dependencies:
889 | buffer-xor "^1.0.2"
890 | cipher-base "^1.0.0"
891 | create-hash "^1.1.0"
892 | evp_bytestokey "^1.0.0"
893 | inherits "^2.0.1"
894 |
895 | browserify-cipher@^1.0.0:
896 | version "1.0.0"
897 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
898 | dependencies:
899 | browserify-aes "^1.0.4"
900 | browserify-des "^1.0.0"
901 | evp_bytestokey "^1.0.0"
902 |
903 | browserify-des@^1.0.0:
904 | version "1.0.0"
905 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
906 | dependencies:
907 | cipher-base "^1.0.1"
908 | des.js "^1.0.0"
909 | inherits "^2.0.1"
910 |
911 | browserify-rsa@^4.0.0:
912 | version "4.0.1"
913 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
914 | dependencies:
915 | bn.js "^4.1.0"
916 | randombytes "^2.0.1"
917 |
918 | browserify-sign@^4.0.0:
919 | version "4.0.4"
920 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
921 | dependencies:
922 | bn.js "^4.1.1"
923 | browserify-rsa "^4.0.0"
924 | create-hash "^1.1.0"
925 | create-hmac "^1.1.2"
926 | elliptic "^6.0.0"
927 | inherits "^2.0.1"
928 | parse-asn1 "^5.0.0"
929 |
930 | browserify-zlib@^0.1.4:
931 | version "0.1.4"
932 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
933 | dependencies:
934 | pako "~0.2.0"
935 |
936 | buffer-shims@~1.0.0:
937 | version "1.0.0"
938 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
939 |
940 | buffer-xor@^1.0.2:
941 | version "1.0.3"
942 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
943 |
944 | buffer@^4.3.0:
945 | version "4.9.1"
946 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
947 | dependencies:
948 | base64-js "^1.0.2"
949 | ieee754 "^1.1.4"
950 | isarray "^1.0.0"
951 |
952 | builtin-modules@^1.0.0:
953 | version "1.1.1"
954 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
955 |
956 | builtin-status-codes@^3.0.0:
957 | version "3.0.0"
958 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
959 |
960 | camelcase@^1.0.2:
961 | version "1.2.1"
962 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
963 |
964 | camelcase@^3.0.0:
965 | version "3.0.0"
966 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
967 |
968 | case-sensitive-paths-webpack-plugin@2.0.0:
969 | version "2.0.0"
970 | resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.0.0.tgz#60142d7d0beabdb35676ef0aeace3027da0578ba"
971 |
972 | caseless@~0.12.0:
973 | version "0.12.0"
974 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
975 |
976 | center-align@^0.1.1:
977 | version "0.1.3"
978 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
979 | dependencies:
980 | align-text "^0.1.3"
981 | lazy-cache "^1.0.3"
982 |
983 | chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
984 | version "1.1.3"
985 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
986 | dependencies:
987 | ansi-styles "^2.2.1"
988 | escape-string-regexp "^1.0.2"
989 | has-ansi "^2.0.0"
990 | strip-ansi "^3.0.0"
991 | supports-color "^2.0.0"
992 |
993 | chokidar@^1.4.3:
994 | version "1.6.1"
995 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
996 | dependencies:
997 | anymatch "^1.3.0"
998 | async-each "^1.0.0"
999 | glob-parent "^2.0.0"
1000 | inherits "^2.0.1"
1001 | is-binary-path "^1.0.0"
1002 | is-glob "^2.0.0"
1003 | path-is-absolute "^1.0.0"
1004 | readdirp "^2.0.0"
1005 | optionalDependencies:
1006 | fsevents "^1.0.0"
1007 |
1008 | cipher-base@^1.0.0, cipher-base@^1.0.1:
1009 | version "1.0.3"
1010 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
1011 | dependencies:
1012 | inherits "^2.0.1"
1013 |
1014 | cliui@^2.1.0:
1015 | version "2.1.0"
1016 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
1017 | dependencies:
1018 | center-align "^0.1.1"
1019 | right-align "^0.1.1"
1020 | wordwrap "0.0.2"
1021 |
1022 | cliui@^3.2.0:
1023 | version "3.2.0"
1024 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
1025 | dependencies:
1026 | string-width "^1.0.1"
1027 | strip-ansi "^3.0.1"
1028 | wrap-ansi "^2.0.0"
1029 |
1030 | co@^4.6.0:
1031 | version "4.6.0"
1032 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
1033 |
1034 | code-point-at@^1.0.0:
1035 | version "1.1.0"
1036 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
1037 |
1038 | combined-stream@^1.0.5, combined-stream@~1.0.5:
1039 | version "1.0.5"
1040 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
1041 | dependencies:
1042 | delayed-stream "~1.0.0"
1043 |
1044 | commondir@^1.0.1:
1045 | version "1.0.1"
1046 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
1047 |
1048 | concat-map@0.0.1:
1049 | version "0.0.1"
1050 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
1051 |
1052 | console-browserify@^1.1.0:
1053 | version "1.1.0"
1054 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
1055 | dependencies:
1056 | date-now "^0.1.4"
1057 |
1058 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
1059 | version "1.1.0"
1060 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
1061 |
1062 | constants-browserify@^1.0.0:
1063 | version "1.0.0"
1064 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
1065 |
1066 | convert-source-map@1.3.0:
1067 | version "1.3.0"
1068 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
1069 |
1070 | convert-source-map@^1.1.0:
1071 | version "1.5.0"
1072 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
1073 |
1074 | core-js@^1.0.0:
1075 | version "1.2.7"
1076 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
1077 |
1078 | core-js@^2.4.0:
1079 | version "2.4.1"
1080 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
1081 |
1082 | core-util-is@~1.0.0:
1083 | version "1.0.2"
1084 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
1085 |
1086 | create-ecdh@^4.0.0:
1087 | version "4.0.0"
1088 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
1089 | dependencies:
1090 | bn.js "^4.1.0"
1091 | elliptic "^6.0.0"
1092 |
1093 | create-hash@^1.1.0, create-hash@^1.1.1:
1094 | version "1.1.2"
1095 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
1096 | dependencies:
1097 | cipher-base "^1.0.1"
1098 | inherits "^2.0.1"
1099 | ripemd160 "^1.0.0"
1100 | sha.js "^2.3.6"
1101 |
1102 | create-hmac@^1.1.0, create-hmac@^1.1.2:
1103 | version "1.1.4"
1104 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
1105 | dependencies:
1106 | create-hash "^1.1.0"
1107 | inherits "^2.0.1"
1108 |
1109 | cross-spawn@5.1.0:
1110 | version "5.1.0"
1111 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
1112 | dependencies:
1113 | lru-cache "^4.0.1"
1114 | shebang-command "^1.2.0"
1115 | which "^1.2.9"
1116 |
1117 | cryptiles@2.x.x:
1118 | version "2.0.5"
1119 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
1120 | dependencies:
1121 | boom "2.x.x"
1122 |
1123 | crypto-browserify@^3.11.0:
1124 | version "3.11.0"
1125 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
1126 | dependencies:
1127 | browserify-cipher "^1.0.0"
1128 | browserify-sign "^4.0.0"
1129 | create-ecdh "^4.0.0"
1130 | create-hash "^1.1.0"
1131 | create-hmac "^1.1.0"
1132 | diffie-hellman "^5.0.0"
1133 | inherits "^2.0.1"
1134 | pbkdf2 "^3.0.3"
1135 | public-encrypt "^4.0.0"
1136 | randombytes "^2.0.0"
1137 |
1138 | dashdash@^1.12.0:
1139 | version "1.14.1"
1140 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
1141 | dependencies:
1142 | assert-plus "^1.0.0"
1143 |
1144 | date-now@^0.1.4:
1145 | version "0.1.4"
1146 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
1147 |
1148 | debug@2.6.1:
1149 | version "2.6.1"
1150 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
1151 | dependencies:
1152 | ms "0.7.2"
1153 |
1154 | debug@^2.1.1, debug@^2.2.0, debug@^2.4.5:
1155 | version "2.6.3"
1156 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d"
1157 | dependencies:
1158 | ms "0.7.2"
1159 |
1160 | decamelize@^1.0.0, decamelize@^1.1.1:
1161 | version "1.2.0"
1162 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
1163 |
1164 | deep-extend@~0.4.0:
1165 | version "0.4.1"
1166 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
1167 |
1168 | define-properties@^1.1.2:
1169 | version "1.1.2"
1170 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
1171 | dependencies:
1172 | foreach "^2.0.5"
1173 | object-keys "^1.0.8"
1174 |
1175 | del@2.2.2:
1176 | version "2.2.2"
1177 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
1178 | dependencies:
1179 | globby "^5.0.0"
1180 | is-path-cwd "^1.0.0"
1181 | is-path-in-cwd "^1.0.0"
1182 | object-assign "^4.0.1"
1183 | pify "^2.0.0"
1184 | pinkie-promise "^2.0.0"
1185 | rimraf "^2.2.8"
1186 |
1187 | delayed-stream@~1.0.0:
1188 | version "1.0.0"
1189 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
1190 |
1191 | delegates@^1.0.0:
1192 | version "1.0.0"
1193 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
1194 |
1195 | depd@1.1.0, depd@~1.1.0:
1196 | version "1.1.0"
1197 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
1198 |
1199 | des.js@^1.0.0:
1200 | version "1.0.0"
1201 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
1202 | dependencies:
1203 | inherits "^2.0.1"
1204 | minimalistic-assert "^1.0.0"
1205 |
1206 | destroy@~1.0.4:
1207 | version "1.0.4"
1208 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
1209 |
1210 | detect-indent@^4.0.0:
1211 | version "4.0.0"
1212 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
1213 | dependencies:
1214 | repeating "^2.0.0"
1215 |
1216 | diffie-hellman@^5.0.0:
1217 | version "5.0.2"
1218 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
1219 | dependencies:
1220 | bn.js "^4.1.0"
1221 | miller-rabin "^4.0.0"
1222 | randombytes "^2.0.0"
1223 |
1224 | dom-walk@^0.1.0:
1225 | version "0.1.1"
1226 | resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
1227 |
1228 | domain-browser@^1.1.1:
1229 | version "1.1.7"
1230 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
1231 |
1232 | ecc-jsbn@~0.1.1:
1233 | version "0.1.1"
1234 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
1235 | dependencies:
1236 | jsbn "~0.1.0"
1237 |
1238 | ee-first@1.1.1:
1239 | version "1.1.1"
1240 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
1241 |
1242 | elliptic@^6.0.0:
1243 | version "6.4.0"
1244 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
1245 | dependencies:
1246 | bn.js "^4.4.0"
1247 | brorand "^1.0.1"
1248 | hash.js "^1.0.0"
1249 | hmac-drbg "^1.0.0"
1250 | inherits "^2.0.1"
1251 | minimalistic-assert "^1.0.0"
1252 | minimalistic-crypto-utils "^1.0.0"
1253 |
1254 | emojis-list@^2.0.0:
1255 | version "2.1.0"
1256 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
1257 |
1258 | encodeurl@~1.0.1:
1259 | version "1.0.1"
1260 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
1261 |
1262 | encoding@^0.1.11:
1263 | version "0.1.12"
1264 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
1265 | dependencies:
1266 | iconv-lite "~0.4.13"
1267 |
1268 | enhanced-resolve@^3.0.0:
1269 | version "3.1.0"
1270 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
1271 | dependencies:
1272 | graceful-fs "^4.1.2"
1273 | memory-fs "^0.4.0"
1274 | object-assign "^4.0.1"
1275 | tapable "^0.2.5"
1276 |
1277 | errno@^0.1.3:
1278 | version "0.1.4"
1279 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
1280 | dependencies:
1281 | prr "~0.0.0"
1282 |
1283 | error-ex@^1.2.0:
1284 | version "1.3.1"
1285 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
1286 | dependencies:
1287 | is-arrayish "^0.2.1"
1288 |
1289 | error-stack-parser@^1.3.6:
1290 | version "1.3.6"
1291 | resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292"
1292 | dependencies:
1293 | stackframe "^0.3.1"
1294 |
1295 | error-stack-parser@^2.0.0:
1296 | version "2.0.0"
1297 | resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.0.tgz#9ce7777b32480e34a34c12a88b3428093fcd14b0"
1298 | dependencies:
1299 | stackframe "^1.0.2"
1300 |
1301 | es-abstract@^1.6.1:
1302 | version "1.7.0"
1303 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c"
1304 | dependencies:
1305 | es-to-primitive "^1.1.1"
1306 | function-bind "^1.1.0"
1307 | is-callable "^1.1.3"
1308 | is-regex "^1.0.3"
1309 |
1310 | es-to-primitive@^1.1.1:
1311 | version "1.1.1"
1312 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
1313 | dependencies:
1314 | is-callable "^1.1.1"
1315 | is-date-object "^1.0.1"
1316 | is-symbol "^1.0.1"
1317 |
1318 | escape-html@~1.0.3:
1319 | version "1.0.3"
1320 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
1321 |
1322 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2:
1323 | version "1.0.5"
1324 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1325 |
1326 | esutils@^2.0.0, esutils@^2.0.2:
1327 | version "2.0.2"
1328 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
1329 |
1330 | etag@~1.8.0:
1331 | version "1.8.0"
1332 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
1333 |
1334 | events@^1.0.0:
1335 | version "1.1.1"
1336 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
1337 |
1338 | evp_bytestokey@^1.0.0:
1339 | version "1.0.0"
1340 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
1341 | dependencies:
1342 | create-hash "^1.1.1"
1343 |
1344 | expand-brackets@^0.1.4:
1345 | version "0.1.5"
1346 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
1347 | dependencies:
1348 | is-posix-bracket "^0.1.0"
1349 |
1350 | expand-range@^1.8.1:
1351 | version "1.8.2"
1352 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
1353 | dependencies:
1354 | fill-range "^2.1.0"
1355 |
1356 | extend@~3.0.0:
1357 | version "3.0.0"
1358 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
1359 |
1360 | extglob@^0.3.1:
1361 | version "0.3.2"
1362 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
1363 | dependencies:
1364 | is-extglob "^1.0.0"
1365 |
1366 | extsprintf@1.0.2:
1367 | version "1.0.2"
1368 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
1369 |
1370 | fbjs@^0.8.9:
1371 | version "0.8.12"
1372 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
1373 | dependencies:
1374 | core-js "^1.0.0"
1375 | isomorphic-fetch "^2.1.1"
1376 | loose-envify "^1.0.0"
1377 | object-assign "^4.1.0"
1378 | promise "^7.1.1"
1379 | setimmediate "^1.0.5"
1380 | ua-parser-js "^0.7.9"
1381 |
1382 | filename-regex@^2.0.0:
1383 | version "2.0.0"
1384 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
1385 |
1386 | filesize@^3.2.1:
1387 | version "3.5.6"
1388 | resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.6.tgz#5fd98f3eac94ec9516ef8ed5782fad84a01a0a1a"
1389 |
1390 | fill-range@^2.1.0:
1391 | version "2.2.3"
1392 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
1393 | dependencies:
1394 | is-number "^2.1.0"
1395 | isobject "^2.0.0"
1396 | randomatic "^1.1.3"
1397 | repeat-element "^1.1.2"
1398 | repeat-string "^1.5.2"
1399 |
1400 | find-babel-config@^1.0.1:
1401 | version "1.0.1"
1402 | resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.0.1.tgz#179fa7b36bf3e94b487410855df448b6f853b9ec"
1403 | dependencies:
1404 | json5 "^0.5.0"
1405 | path-exists "^3.0.0"
1406 |
1407 | find-cache-dir@^0.1.1:
1408 | version "0.1.1"
1409 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
1410 | dependencies:
1411 | commondir "^1.0.1"
1412 | mkdirp "^0.5.1"
1413 | pkg-dir "^1.0.0"
1414 |
1415 | find-up@^1.0.0:
1416 | version "1.1.2"
1417 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
1418 | dependencies:
1419 | path-exists "^2.0.0"
1420 | pinkie-promise "^2.0.0"
1421 |
1422 | follow-redirects@1.0.0:
1423 | version "1.0.0"
1424 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.0.0.tgz#8e34298cbd2e176f254effec75a1c78cc849fd37"
1425 | dependencies:
1426 | debug "^2.2.0"
1427 |
1428 | follow-redirects@^1.2.3:
1429 | version "1.2.3"
1430 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.2.3.tgz#01abaeca85e3609837d9fcda3167a7e42fdaca21"
1431 | dependencies:
1432 | debug "^2.4.5"
1433 |
1434 | for-in@^1.0.1:
1435 | version "1.0.2"
1436 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
1437 |
1438 | for-own@^0.1.4:
1439 | version "0.1.5"
1440 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
1441 | dependencies:
1442 | for-in "^1.0.1"
1443 |
1444 | foreach@^2.0.5:
1445 | version "2.0.5"
1446 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
1447 |
1448 | forever-agent@~0.6.1:
1449 | version "0.6.1"
1450 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1451 |
1452 | form-data@~2.1.1:
1453 | version "2.1.2"
1454 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
1455 | dependencies:
1456 | asynckit "^0.4.0"
1457 | combined-stream "^1.0.5"
1458 | mime-types "^2.1.12"
1459 |
1460 | fresh@0.5.0:
1461 | version "0.5.0"
1462 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
1463 |
1464 | friendly-errors-webpack-plugin@1.5.0:
1465 | version "1.5.0"
1466 | resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.5.0.tgz#f28825890924d6c3f0d8ec53469768688329054a"
1467 | dependencies:
1468 | chalk "^1.1.3"
1469 | error-stack-parser "^2.0.0"
1470 | string-length "^1.0.1"
1471 |
1472 | fs.realpath@^1.0.0:
1473 | version "1.0.0"
1474 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1475 |
1476 | fsevents@^1.0.0:
1477 | version "1.1.1"
1478 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
1479 | dependencies:
1480 | nan "^2.3.0"
1481 | node-pre-gyp "^0.6.29"
1482 |
1483 | fstream-ignore@^1.0.5:
1484 | version "1.0.5"
1485 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
1486 | dependencies:
1487 | fstream "^1.0.0"
1488 | inherits "2"
1489 | minimatch "^3.0.0"
1490 |
1491 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
1492 | version "1.0.11"
1493 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
1494 | dependencies:
1495 | graceful-fs "^4.1.2"
1496 | inherits "~2.0.0"
1497 | mkdirp ">=0.5 0"
1498 | rimraf "2"
1499 |
1500 | function-bind@^1.0.2, function-bind@^1.1.0:
1501 | version "1.1.0"
1502 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
1503 |
1504 | gauge@~2.7.1:
1505 | version "2.7.3"
1506 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
1507 | dependencies:
1508 | aproba "^1.0.3"
1509 | console-control-strings "^1.0.0"
1510 | has-unicode "^2.0.0"
1511 | object-assign "^4.1.0"
1512 | signal-exit "^3.0.0"
1513 | string-width "^1.0.1"
1514 | strip-ansi "^3.0.1"
1515 | wide-align "^1.1.0"
1516 |
1517 | get-caller-file@^1.0.1:
1518 | version "1.0.2"
1519 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
1520 |
1521 | getpass@^0.1.1:
1522 | version "0.1.6"
1523 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
1524 | dependencies:
1525 | assert-plus "^1.0.0"
1526 |
1527 | glob-base@^0.3.0:
1528 | version "0.3.0"
1529 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
1530 | dependencies:
1531 | glob-parent "^2.0.0"
1532 | is-glob "^2.0.0"
1533 |
1534 | glob-parent@^2.0.0:
1535 | version "2.0.0"
1536 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
1537 | dependencies:
1538 | is-glob "^2.0.0"
1539 |
1540 | glob-promise@3.1.0:
1541 | version "3.1.0"
1542 | resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-3.1.0.tgz#198882a3817be7dc2c55f92623aa9e7b3f82d1eb"
1543 |
1544 | glob@^6.0.1:
1545 | version "6.0.4"
1546 | resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
1547 | dependencies:
1548 | inflight "^1.0.4"
1549 | inherits "2"
1550 | minimatch "2 || 3"
1551 | once "^1.3.0"
1552 | path-is-absolute "^1.0.0"
1553 |
1554 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.1:
1555 | version "7.1.1"
1556 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
1557 | dependencies:
1558 | fs.realpath "^1.0.0"
1559 | inflight "^1.0.4"
1560 | inherits "2"
1561 | minimatch "^3.0.2"
1562 | once "^1.3.0"
1563 | path-is-absolute "^1.0.0"
1564 |
1565 | global@^4.3.0:
1566 | version "4.3.1"
1567 | resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df"
1568 | dependencies:
1569 | min-document "^2.19.0"
1570 | process "~0.5.1"
1571 |
1572 | globals@^9.0.0:
1573 | version "9.17.0"
1574 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
1575 |
1576 | globby@^5.0.0:
1577 | version "5.0.0"
1578 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
1579 | dependencies:
1580 | array-union "^1.0.1"
1581 | arrify "^1.0.0"
1582 | glob "^7.0.3"
1583 | object-assign "^4.0.1"
1584 | pify "^2.0.0"
1585 | pinkie-promise "^2.0.0"
1586 |
1587 | graceful-fs@^4.1.2:
1588 | version "4.1.11"
1589 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
1590 |
1591 | har-schema@^1.0.5:
1592 | version "1.0.5"
1593 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
1594 |
1595 | har-validator@~4.2.1:
1596 | version "4.2.1"
1597 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
1598 | dependencies:
1599 | ajv "^4.9.1"
1600 | har-schema "^1.0.5"
1601 |
1602 | has-ansi@^2.0.0:
1603 | version "2.0.0"
1604 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
1605 | dependencies:
1606 | ansi-regex "^2.0.0"
1607 |
1608 | has-flag@^1.0.0:
1609 | version "1.0.0"
1610 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
1611 |
1612 | has-unicode@^2.0.0:
1613 | version "2.0.1"
1614 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
1615 |
1616 | has@^1.0.1:
1617 | version "1.0.1"
1618 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
1619 | dependencies:
1620 | function-bind "^1.0.2"
1621 |
1622 | hash.js@^1.0.0, hash.js@^1.0.3:
1623 | version "1.0.3"
1624 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
1625 | dependencies:
1626 | inherits "^2.0.1"
1627 |
1628 | hawk@~3.1.3:
1629 | version "3.1.3"
1630 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
1631 | dependencies:
1632 | boom "2.x.x"
1633 | cryptiles "2.x.x"
1634 | hoek "2.x.x"
1635 | sntp "1.x.x"
1636 |
1637 | hmac-drbg@^1.0.0:
1638 | version "1.0.0"
1639 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.0.tgz#3db471f45aae4a994a0688322171f51b8b91bee5"
1640 | dependencies:
1641 | hash.js "^1.0.3"
1642 | minimalistic-assert "^1.0.0"
1643 | minimalistic-crypto-utils "^1.0.1"
1644 |
1645 | hoek@2.x.x:
1646 | version "2.16.3"
1647 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
1648 |
1649 | home-or-tmp@^2.0.0:
1650 | version "2.0.0"
1651 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
1652 | dependencies:
1653 | os-homedir "^1.0.0"
1654 | os-tmpdir "^1.0.1"
1655 |
1656 | hosted-git-info@^2.1.4:
1657 | version "2.4.1"
1658 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.1.tgz#4b0445e41c004a8bd1337773a4ff790ca40318c8"
1659 |
1660 | html-entities@^1.2.0:
1661 | version "1.2.0"
1662 | resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
1663 |
1664 | htmlescape@1.1.1:
1665 | version "1.1.1"
1666 | resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351"
1667 |
1668 | http-errors@~1.4.0:
1669 | version "1.4.0"
1670 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.4.0.tgz#6c0242dea6b3df7afda153c71089b31c6e82aabf"
1671 | dependencies:
1672 | inherits "2.0.1"
1673 | statuses ">= 1.2.1 < 2"
1674 |
1675 | http-errors@~1.6.1:
1676 | version "1.6.1"
1677 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
1678 | dependencies:
1679 | depd "1.1.0"
1680 | inherits "2.0.3"
1681 | setprototypeof "1.0.3"
1682 | statuses ">= 1.3.1 < 2"
1683 |
1684 | http-signature@~1.1.0:
1685 | version "1.1.1"
1686 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
1687 | dependencies:
1688 | assert-plus "^0.2.0"
1689 | jsprim "^1.2.2"
1690 | sshpk "^1.7.0"
1691 |
1692 | http-status@1.0.1:
1693 | version "1.0.1"
1694 | resolved "https://registry.yarnpkg.com/http-status/-/http-status-1.0.1.tgz#dc43001a8bfc50ac87d485a892f7578964bc94a2"
1695 |
1696 | https-browserify@0.0.1:
1697 | version "0.0.1"
1698 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
1699 |
1700 | iconv-lite@~0.4.13:
1701 | version "0.4.15"
1702 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
1703 |
1704 | ieee754@^1.1.4:
1705 | version "1.1.8"
1706 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
1707 |
1708 | indexof@0.0.1:
1709 | version "0.0.1"
1710 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
1711 |
1712 | inflight@^1.0.4:
1713 | version "1.0.6"
1714 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1715 | dependencies:
1716 | once "^1.3.0"
1717 | wrappy "1"
1718 |
1719 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
1720 | version "2.0.3"
1721 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
1722 |
1723 | inherits@2.0.1:
1724 | version "2.0.1"
1725 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
1726 |
1727 | ini@~1.3.0:
1728 | version "1.3.4"
1729 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
1730 |
1731 | interpret@^1.0.0:
1732 | version "1.0.2"
1733 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.2.tgz#f4f623f0bb7122f15f5717c8e254b8161b5c5b2d"
1734 |
1735 | invariant@^2.2.0:
1736 | version "2.2.2"
1737 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
1738 | dependencies:
1739 | loose-envify "^1.0.0"
1740 |
1741 | invert-kv@^1.0.0:
1742 | version "1.0.0"
1743 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
1744 |
1745 | is-arrayish@^0.2.1:
1746 | version "0.2.1"
1747 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1748 |
1749 | is-binary-path@^1.0.0:
1750 | version "1.0.1"
1751 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
1752 | dependencies:
1753 | binary-extensions "^1.0.0"
1754 |
1755 | is-buffer@^1.0.2:
1756 | version "1.1.5"
1757 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
1758 |
1759 | is-builtin-module@^1.0.0:
1760 | version "1.0.0"
1761 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
1762 | dependencies:
1763 | builtin-modules "^1.0.0"
1764 |
1765 | is-callable@^1.1.1, is-callable@^1.1.3:
1766 | version "1.1.3"
1767 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
1768 |
1769 | is-date-object@^1.0.1:
1770 | version "1.0.1"
1771 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
1772 |
1773 | is-dotfile@^1.0.0:
1774 | version "1.0.2"
1775 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
1776 |
1777 | is-equal-shallow@^0.1.3:
1778 | version "0.1.3"
1779 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
1780 | dependencies:
1781 | is-primitive "^2.0.0"
1782 |
1783 | is-extendable@^0.1.1:
1784 | version "0.1.1"
1785 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
1786 |
1787 | is-extglob@^1.0.0:
1788 | version "1.0.0"
1789 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
1790 |
1791 | is-finite@^1.0.0:
1792 | version "1.0.2"
1793 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
1794 | dependencies:
1795 | number-is-nan "^1.0.0"
1796 |
1797 | is-fullwidth-code-point@^1.0.0:
1798 | version "1.0.0"
1799 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
1800 | dependencies:
1801 | number-is-nan "^1.0.0"
1802 |
1803 | is-glob@^2.0.0, is-glob@^2.0.1:
1804 | version "2.0.1"
1805 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
1806 | dependencies:
1807 | is-extglob "^1.0.0"
1808 |
1809 | is-number@^2.0.2, is-number@^2.1.0:
1810 | version "2.1.0"
1811 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
1812 | dependencies:
1813 | kind-of "^3.0.2"
1814 |
1815 | is-path-cwd@^1.0.0:
1816 | version "1.0.0"
1817 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
1818 |
1819 | is-path-in-cwd@^1.0.0:
1820 | version "1.0.0"
1821 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
1822 | dependencies:
1823 | is-path-inside "^1.0.0"
1824 |
1825 | is-path-inside@^1.0.0:
1826 | version "1.0.0"
1827 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
1828 | dependencies:
1829 | path-is-inside "^1.0.1"
1830 |
1831 | is-posix-bracket@^0.1.0:
1832 | version "0.1.1"
1833 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
1834 |
1835 | is-primitive@^2.0.0:
1836 | version "2.0.0"
1837 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
1838 |
1839 | is-regex@^1.0.3:
1840 | version "1.0.4"
1841 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
1842 | dependencies:
1843 | has "^1.0.1"
1844 |
1845 | is-stream@^1.0.1:
1846 | version "1.1.0"
1847 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
1848 |
1849 | is-symbol@^1.0.1:
1850 | version "1.0.1"
1851 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
1852 |
1853 | is-typedarray@~1.0.0:
1854 | version "1.0.0"
1855 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1856 |
1857 | is-utf8@^0.2.0:
1858 | version "0.2.1"
1859 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
1860 |
1861 | is-windows-bash@1.0.3:
1862 | version "1.0.3"
1863 | resolved "https://registry.yarnpkg.com/is-windows-bash/-/is-windows-bash-1.0.3.tgz#00132a47dcdacb00a9d68f3408a4d01d76215e88"
1864 |
1865 | isarray@0.0.1:
1866 | version "0.0.1"
1867 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
1868 |
1869 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
1870 | version "1.0.0"
1871 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1872 |
1873 | isexe@^2.0.0:
1874 | version "2.0.0"
1875 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1876 |
1877 | isobject@^2.0.0:
1878 | version "2.1.0"
1879 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
1880 | dependencies:
1881 | isarray "1.0.0"
1882 |
1883 | isomorphic-fetch@^2.1.1:
1884 | version "2.2.1"
1885 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
1886 | dependencies:
1887 | node-fetch "^1.0.1"
1888 | whatwg-fetch ">=0.10.0"
1889 |
1890 | isstream@~0.1.2:
1891 | version "0.1.2"
1892 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
1893 |
1894 | jodid25519@^1.0.0:
1895 | version "1.0.2"
1896 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
1897 | dependencies:
1898 | jsbn "~0.1.0"
1899 |
1900 | js-tokens@^3.0.0:
1901 | version "3.0.1"
1902 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
1903 |
1904 | jsbn@~0.1.0:
1905 | version "0.1.1"
1906 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1907 |
1908 | jsesc@^1.3.0:
1909 | version "1.3.0"
1910 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
1911 |
1912 | jsesc@~0.5.0:
1913 | version "0.5.0"
1914 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
1915 |
1916 | json-loader@0.5.4, json-loader@^0.5.4:
1917 | version "0.5.4"
1918 | resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de"
1919 |
1920 | json-schema@0.2.3:
1921 | version "0.2.3"
1922 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1923 |
1924 | json-stable-stringify@^1.0.1:
1925 | version "1.0.1"
1926 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
1927 | dependencies:
1928 | jsonify "~0.0.0"
1929 |
1930 | json-stringify-safe@~5.0.1:
1931 | version "5.0.1"
1932 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1933 |
1934 | json5@^0.5.0:
1935 | version "0.5.1"
1936 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
1937 |
1938 | jsonify@~0.0.0:
1939 | version "0.0.0"
1940 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
1941 |
1942 | jsprim@^1.2.2:
1943 | version "1.4.0"
1944 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
1945 | dependencies:
1946 | assert-plus "1.0.0"
1947 | extsprintf "1.0.2"
1948 | json-schema "0.2.3"
1949 | verror "1.3.6"
1950 |
1951 | kind-of@^3.0.2:
1952 | version "3.1.0"
1953 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
1954 | dependencies:
1955 | is-buffer "^1.0.2"
1956 |
1957 | lazy-cache@^1.0.3:
1958 | version "1.0.4"
1959 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
1960 |
1961 | lcid@^1.0.0:
1962 | version "1.0.0"
1963 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
1964 | dependencies:
1965 | invert-kv "^1.0.0"
1966 |
1967 | load-json-file@^1.0.0:
1968 | version "1.1.0"
1969 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
1970 | dependencies:
1971 | graceful-fs "^4.1.2"
1972 | parse-json "^2.2.0"
1973 | pify "^2.0.0"
1974 | pinkie-promise "^2.0.0"
1975 | strip-bom "^2.0.0"
1976 |
1977 | loader-runner@^2.3.0:
1978 | version "2.3.0"
1979 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
1980 |
1981 | loader-utils@1.1.0:
1982 | version "1.1.0"
1983 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
1984 | dependencies:
1985 | big.js "^3.1.3"
1986 | emojis-list "^2.0.0"
1987 | json5 "^0.5.0"
1988 |
1989 | loader-utils@^0.2.16:
1990 | version "0.2.17"
1991 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
1992 | dependencies:
1993 | big.js "^3.1.3"
1994 | emojis-list "^2.0.0"
1995 | json5 "^0.5.0"
1996 | object-assign "^4.0.1"
1997 |
1998 | lodash@^4.14.0, lodash@^4.2.0, lodash@^4.5.1, lodash@^4.6.1:
1999 | version "4.17.4"
2000 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
2001 |
2002 | longest@^1.0.1:
2003 | version "1.0.1"
2004 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
2005 |
2006 | loose-envify@^1.0.0, loose-envify@^1.1.0:
2007 | version "1.3.1"
2008 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
2009 | dependencies:
2010 | js-tokens "^3.0.0"
2011 |
2012 | lru-cache@^4.0.1:
2013 | version "4.0.2"
2014 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
2015 | dependencies:
2016 | pseudomap "^1.0.1"
2017 | yallist "^2.0.0"
2018 |
2019 | md5-file@3.1.1:
2020 | version "3.1.1"
2021 | resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-3.1.1.tgz#db3c92c09bbda5c2de883fa5490dd711fddbbab9"
2022 |
2023 | memory-fs@^0.4.0, memory-fs@~0.4.1:
2024 | version "0.4.1"
2025 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
2026 | dependencies:
2027 | errno "^0.1.3"
2028 | readable-stream "^2.0.1"
2029 |
2030 | micromatch@^2.1.5:
2031 | version "2.3.11"
2032 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
2033 | dependencies:
2034 | arr-diff "^2.0.0"
2035 | array-unique "^0.2.1"
2036 | braces "^1.8.2"
2037 | expand-brackets "^0.1.4"
2038 | extglob "^0.3.1"
2039 | filename-regex "^2.0.0"
2040 | is-extglob "^1.0.0"
2041 | is-glob "^2.0.1"
2042 | kind-of "^3.0.2"
2043 | normalize-path "^2.0.1"
2044 | object.omit "^2.0.0"
2045 | parse-glob "^3.0.4"
2046 | regex-cache "^0.4.2"
2047 |
2048 | miller-rabin@^4.0.0:
2049 | version "4.0.0"
2050 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
2051 | dependencies:
2052 | bn.js "^4.0.0"
2053 | brorand "^1.0.1"
2054 |
2055 | mime-db@~1.27.0:
2056 | version "1.27.0"
2057 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
2058 |
2059 | mime-types@^2.1.12, mime-types@~2.1.7:
2060 | version "2.1.15"
2061 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
2062 | dependencies:
2063 | mime-db "~1.27.0"
2064 |
2065 | mime@1.3.4, mime@^1.3.4:
2066 | version "1.3.4"
2067 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
2068 |
2069 | min-document@^2.19.0:
2070 | version "2.19.0"
2071 | resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
2072 | dependencies:
2073 | dom-walk "^0.1.0"
2074 |
2075 | minimalistic-assert@^1.0.0:
2076 | version "1.0.0"
2077 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
2078 |
2079 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
2080 | version "1.0.1"
2081 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
2082 |
2083 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2:
2084 | version "3.0.3"
2085 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
2086 | dependencies:
2087 | brace-expansion "^1.0.0"
2088 |
2089 | minimist@0.0.8:
2090 | version "0.0.8"
2091 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
2092 |
2093 | minimist@1.2.0, minimist@^1.2.0:
2094 | version "1.2.0"
2095 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
2096 |
2097 | mitt@1.1.0:
2098 | version "1.1.0"
2099 | resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.1.0.tgz#22f0d57e2fedd39620a62bb41b7cdd93667d3c41"
2100 |
2101 | mkdirp-then@1.2.0:
2102 | version "1.2.0"
2103 | resolved "https://registry.yarnpkg.com/mkdirp-then/-/mkdirp-then-1.2.0.tgz#a492c879ca4d873f5ee45008f8f55fd0150de3c5"
2104 | dependencies:
2105 | any-promise "^1.1.0"
2106 | mkdirp "^0.5.0"
2107 |
2108 | "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
2109 | version "0.5.1"
2110 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
2111 | dependencies:
2112 | minimist "0.0.8"
2113 |
2114 | moment@^2.11.2:
2115 | version "2.18.1"
2116 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
2117 |
2118 | ms@0.7.2:
2119 | version "0.7.2"
2120 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
2121 |
2122 | mv@2.1.1:
2123 | version "2.1.1"
2124 | resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
2125 | dependencies:
2126 | mkdirp "~0.5.1"
2127 | ncp "~2.0.0"
2128 | rimraf "~2.4.0"
2129 |
2130 | mz@2.6.0:
2131 | version "2.6.0"
2132 | resolved "https://registry.yarnpkg.com/mz/-/mz-2.6.0.tgz#c8b8521d958df0a4f2768025db69c719ee4ef1ce"
2133 | dependencies:
2134 | any-promise "^1.0.0"
2135 | object-assign "^4.0.1"
2136 | thenify-all "^1.0.0"
2137 |
2138 | nan@^2.3.0:
2139 | version "2.6.1"
2140 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.1.tgz#8c84f7b14c96b89f57fbc838012180ec8ca39a01"
2141 |
2142 | ncp@~2.0.0:
2143 | version "2.0.0"
2144 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
2145 |
2146 | "next-github-auth@file:..":
2147 | version "0.1.8"
2148 | dependencies:
2149 | axios "^0.16.0"
2150 | prop-types "^15.5.4"
2151 |
2152 | next@^2.1.1:
2153 | version "2.1.1"
2154 | resolved "https://registry.yarnpkg.com/next/-/next-2.1.1.tgz#d23f18e3cdda2ce110bd2a449ad013e855e59f83"
2155 | dependencies:
2156 | ansi-html "0.0.7"
2157 | babel-core "6.24.0"
2158 | babel-generator "6.24.0"
2159 | babel-loader "6.4.1"
2160 | babel-plugin-module-resolver "2.6.2"
2161 | babel-plugin-react-require "3.0.0"
2162 | babel-plugin-transform-class-properties "6.22.0"
2163 | babel-plugin-transform-es2015-modules-commonjs "6.24.0"
2164 | babel-plugin-transform-object-rest-spread "6.22.0"
2165 | babel-plugin-transform-react-jsx-source "6.22.0"
2166 | babel-plugin-transform-react-remove-prop-types "0.3.3"
2167 | babel-plugin-transform-runtime "6.22.0"
2168 | babel-preset-latest "6.24.0"
2169 | babel-preset-react "6.23.0"
2170 | babel-runtime "6.23.0"
2171 | case-sensitive-paths-webpack-plugin "2.0.0"
2172 | cross-spawn "5.1.0"
2173 | del "2.2.2"
2174 | friendly-errors-webpack-plugin "1.5.0"
2175 | glob "^7.1.1"
2176 | glob-promise "3.1.0"
2177 | htmlescape "1.1.1"
2178 | http-status "1.0.1"
2179 | is-windows-bash "1.0.3"
2180 | json-loader "0.5.4"
2181 | loader-utils "1.1.0"
2182 | md5-file "3.1.1"
2183 | minimist "1.2.0"
2184 | mitt "1.1.0"
2185 | mkdirp-then "1.2.0"
2186 | mv "2.1.1"
2187 | mz "2.6.0"
2188 | path-match "1.2.4"
2189 | pkg-up "1.0.0"
2190 | react-hot-loader "3.0.0-beta.6"
2191 | send "0.15.1"
2192 | source-map-support "0.4.14"
2193 | strip-ansi "3.0.1"
2194 | styled-jsx "0.5.7"
2195 | touch "1.0.0"
2196 | unfetch "2.1.2"
2197 | url "0.11.0"
2198 | uuid "3.0.1"
2199 | webpack "2.3.3"
2200 | webpack-dev-middleware "1.10.1"
2201 | webpack-hot-middleware "2.18.0"
2202 | write-file-webpack-plugin "4.0.0"
2203 |
2204 | node-fetch@^1.0.1:
2205 | version "1.6.3"
2206 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
2207 | dependencies:
2208 | encoding "^0.1.11"
2209 | is-stream "^1.0.1"
2210 |
2211 | node-libs-browser@^2.0.0:
2212 | version "2.0.0"
2213 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
2214 | dependencies:
2215 | assert "^1.1.1"
2216 | browserify-zlib "^0.1.4"
2217 | buffer "^4.3.0"
2218 | console-browserify "^1.1.0"
2219 | constants-browserify "^1.0.0"
2220 | crypto-browserify "^3.11.0"
2221 | domain-browser "^1.1.1"
2222 | events "^1.0.0"
2223 | https-browserify "0.0.1"
2224 | os-browserify "^0.2.0"
2225 | path-browserify "0.0.0"
2226 | process "^0.11.0"
2227 | punycode "^1.2.4"
2228 | querystring-es3 "^0.2.0"
2229 | readable-stream "^2.0.5"
2230 | stream-browserify "^2.0.1"
2231 | stream-http "^2.3.1"
2232 | string_decoder "^0.10.25"
2233 | timers-browserify "^2.0.2"
2234 | tty-browserify "0.0.0"
2235 | url "^0.11.0"
2236 | util "^0.10.3"
2237 | vm-browserify "0.0.4"
2238 |
2239 | node-pre-gyp@^0.6.29:
2240 | version "0.6.34"
2241 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
2242 | dependencies:
2243 | mkdirp "^0.5.1"
2244 | nopt "^4.0.1"
2245 | npmlog "^4.0.2"
2246 | rc "^1.1.7"
2247 | request "^2.81.0"
2248 | rimraf "^2.6.1"
2249 | semver "^5.3.0"
2250 | tar "^2.2.1"
2251 | tar-pack "^3.4.0"
2252 |
2253 | nopt@^4.0.1:
2254 | version "4.0.1"
2255 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
2256 | dependencies:
2257 | abbrev "1"
2258 | osenv "^0.1.4"
2259 |
2260 | nopt@~1.0.10:
2261 | version "1.0.10"
2262 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
2263 | dependencies:
2264 | abbrev "1"
2265 |
2266 | normalize-package-data@^2.3.2:
2267 | version "2.3.6"
2268 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff"
2269 | dependencies:
2270 | hosted-git-info "^2.1.4"
2271 | is-builtin-module "^1.0.0"
2272 | semver "2 || 3 || 4 || 5"
2273 | validate-npm-package-license "^3.0.1"
2274 |
2275 | normalize-path@^2.0.1:
2276 | version "2.1.1"
2277 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
2278 | dependencies:
2279 | remove-trailing-separator "^1.0.1"
2280 |
2281 | npmlog@^4.0.2:
2282 | version "4.0.2"
2283 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
2284 | dependencies:
2285 | are-we-there-yet "~1.1.2"
2286 | console-control-strings "~1.1.0"
2287 | gauge "~2.7.1"
2288 | set-blocking "~2.0.0"
2289 |
2290 | number-is-nan@^1.0.0:
2291 | version "1.0.1"
2292 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
2293 |
2294 | oauth-sign@~0.8.1:
2295 | version "0.8.2"
2296 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
2297 |
2298 | object-assign@^4.0.1, object-assign@^4.1.0:
2299 | version "4.1.1"
2300 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
2301 |
2302 | object-keys@^1.0.8:
2303 | version "1.0.11"
2304 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
2305 |
2306 | object.entries@1.0.4:
2307 | version "1.0.4"
2308 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f"
2309 | dependencies:
2310 | define-properties "^1.1.2"
2311 | es-abstract "^1.6.1"
2312 | function-bind "^1.1.0"
2313 | has "^1.0.1"
2314 |
2315 | object.omit@^2.0.0:
2316 | version "2.0.1"
2317 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
2318 | dependencies:
2319 | for-own "^0.1.4"
2320 | is-extendable "^0.1.1"
2321 |
2322 | on-finished@~2.3.0:
2323 | version "2.3.0"
2324 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
2325 | dependencies:
2326 | ee-first "1.1.1"
2327 |
2328 | once@^1.3.0, once@^1.3.3:
2329 | version "1.4.0"
2330 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2331 | dependencies:
2332 | wrappy "1"
2333 |
2334 | os-browserify@^0.2.0:
2335 | version "0.2.1"
2336 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
2337 |
2338 | os-homedir@^1.0.0:
2339 | version "1.0.2"
2340 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
2341 |
2342 | os-locale@^1.4.0:
2343 | version "1.4.0"
2344 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
2345 | dependencies:
2346 | lcid "^1.0.0"
2347 |
2348 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
2349 | version "1.0.2"
2350 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
2351 |
2352 | osenv@^0.1.4:
2353 | version "0.1.4"
2354 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
2355 | dependencies:
2356 | os-homedir "^1.0.0"
2357 | os-tmpdir "^1.0.0"
2358 |
2359 | pako@~0.2.0:
2360 | version "0.2.9"
2361 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
2362 |
2363 | parse-asn1@^5.0.0:
2364 | version "5.1.0"
2365 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
2366 | dependencies:
2367 | asn1.js "^4.0.0"
2368 | browserify-aes "^1.0.0"
2369 | create-hash "^1.1.0"
2370 | evp_bytestokey "^1.0.0"
2371 | pbkdf2 "^3.0.3"
2372 |
2373 | parse-glob@^3.0.4:
2374 | version "3.0.4"
2375 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
2376 | dependencies:
2377 | glob-base "^0.3.0"
2378 | is-dotfile "^1.0.0"
2379 | is-extglob "^1.0.0"
2380 | is-glob "^2.0.0"
2381 |
2382 | parse-json@^2.2.0:
2383 | version "2.2.0"
2384 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
2385 | dependencies:
2386 | error-ex "^1.2.0"
2387 |
2388 | path-browserify@0.0.0:
2389 | version "0.0.0"
2390 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
2391 |
2392 | path-exists@^2.0.0:
2393 | version "2.1.0"
2394 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
2395 | dependencies:
2396 | pinkie-promise "^2.0.0"
2397 |
2398 | path-exists@^3.0.0:
2399 | version "3.0.0"
2400 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
2401 |
2402 | path-is-absolute@^1.0.0:
2403 | version "1.0.1"
2404 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2405 |
2406 | path-is-inside@^1.0.1:
2407 | version "1.0.2"
2408 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
2409 |
2410 | path-match@1.2.4:
2411 | version "1.2.4"
2412 | resolved "https://registry.yarnpkg.com/path-match/-/path-match-1.2.4.tgz#a62747f3c7e0c2514762697f24443585b09100ea"
2413 | dependencies:
2414 | http-errors "~1.4.0"
2415 | path-to-regexp "^1.0.0"
2416 |
2417 | path-parse@^1.0.5:
2418 | version "1.0.5"
2419 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
2420 |
2421 | path-to-regexp@^1.0.0:
2422 | version "1.7.0"
2423 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
2424 | dependencies:
2425 | isarray "0.0.1"
2426 |
2427 | path-type@^1.0.0:
2428 | version "1.1.0"
2429 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
2430 | dependencies:
2431 | graceful-fs "^4.1.2"
2432 | pify "^2.0.0"
2433 | pinkie-promise "^2.0.0"
2434 |
2435 | pbkdf2@^3.0.3:
2436 | version "3.0.9"
2437 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
2438 | dependencies:
2439 | create-hmac "^1.1.2"
2440 |
2441 | performance-now@^0.2.0:
2442 | version "0.2.0"
2443 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
2444 |
2445 | pify@^2.0.0:
2446 | version "2.3.0"
2447 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
2448 |
2449 | pinkie-promise@^2.0.0:
2450 | version "2.0.1"
2451 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
2452 | dependencies:
2453 | pinkie "^2.0.0"
2454 |
2455 | pinkie@^2.0.0:
2456 | version "2.0.4"
2457 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
2458 |
2459 | pkg-dir@^1.0.0:
2460 | version "1.0.0"
2461 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
2462 | dependencies:
2463 | find-up "^1.0.0"
2464 |
2465 | pkg-up@1.0.0:
2466 | version "1.0.0"
2467 | resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26"
2468 | dependencies:
2469 | find-up "^1.0.0"
2470 |
2471 | preserve@^0.2.0:
2472 | version "0.2.0"
2473 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
2474 |
2475 | private@^0.1.6:
2476 | version "0.1.7"
2477 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
2478 |
2479 | process-nextick-args@~1.0.6:
2480 | version "1.0.7"
2481 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
2482 |
2483 | process@^0.11.0:
2484 | version "0.11.9"
2485 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
2486 |
2487 | process@~0.5.1:
2488 | version "0.5.2"
2489 | resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
2490 |
2491 | promise@^7.1.1:
2492 | version "7.1.1"
2493 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
2494 | dependencies:
2495 | asap "~2.0.3"
2496 |
2497 | prop-types@^15.5.2, prop-types@^15.5.4, prop-types@~15.5.0:
2498 | version "15.5.4"
2499 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.4.tgz#2ed3692716a5060f8cc020946d8238e7419d92c0"
2500 | dependencies:
2501 | fbjs "^0.8.9"
2502 |
2503 | prr@~0.0.0:
2504 | version "0.0.0"
2505 | resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
2506 |
2507 | pseudomap@^1.0.1:
2508 | version "1.0.2"
2509 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
2510 |
2511 | public-encrypt@^4.0.0:
2512 | version "4.0.0"
2513 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
2514 | dependencies:
2515 | bn.js "^4.1.0"
2516 | browserify-rsa "^4.0.0"
2517 | create-hash "^1.1.0"
2518 | parse-asn1 "^5.0.0"
2519 | randombytes "^2.0.1"
2520 |
2521 | punycode@1.3.2, punycode@^1.2.4:
2522 | version "1.3.2"
2523 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
2524 |
2525 | punycode@^1.4.1:
2526 | version "1.4.1"
2527 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
2528 |
2529 | qs@~6.4.0:
2530 | version "6.4.0"
2531 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
2532 |
2533 | querystring-es3@^0.2.0:
2534 | version "0.2.1"
2535 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
2536 |
2537 | querystring@0.2.0, querystring@^0.2.0:
2538 | version "0.2.0"
2539 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
2540 |
2541 | randomatic@^1.1.3:
2542 | version "1.1.6"
2543 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
2544 | dependencies:
2545 | is-number "^2.0.2"
2546 | kind-of "^3.0.2"
2547 |
2548 | randombytes@^2.0.0, randombytes@^2.0.1:
2549 | version "2.0.3"
2550 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
2551 |
2552 | range-parser@^1.0.3, range-parser@~1.2.0:
2553 | version "1.2.0"
2554 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
2555 |
2556 | rc@^1.1.7:
2557 | version "1.2.1"
2558 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
2559 | dependencies:
2560 | deep-extend "~0.4.0"
2561 | ini "~1.3.0"
2562 | minimist "^1.2.0"
2563 | strip-json-comments "~2.0.1"
2564 |
2565 | react-deep-force-update@^2.0.1:
2566 | version "2.0.1"
2567 | resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.0.1.tgz#4f7f6c12c3e7de42f345992a3c518236fa1ecad3"
2568 |
2569 | react-dom@^15.5.3:
2570 | version "15.5.3"
2571 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.3.tgz#2ee127ce942df55da53111ae303316e68072b5c5"
2572 | dependencies:
2573 | fbjs "^0.8.9"
2574 | loose-envify "^1.1.0"
2575 | object-assign "^4.1.0"
2576 | prop-types "~15.5.0"
2577 |
2578 | react-hot-loader@3.0.0-beta.6:
2579 | version "3.0.0-beta.6"
2580 | resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-3.0.0-beta.6.tgz#463fac0bfc8b63a8385258af20c91636abce75f4"
2581 | dependencies:
2582 | babel-template "^6.7.0"
2583 | global "^4.3.0"
2584 | react-deep-force-update "^2.0.1"
2585 | react-proxy "^3.0.0-alpha.0"
2586 | redbox-react "^1.2.5"
2587 | source-map "^0.4.4"
2588 |
2589 | react-proxy@^3.0.0-alpha.0:
2590 | version "3.0.0-alpha.1"
2591 | resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz#4400426bcfa80caa6724c7755695315209fa4b07"
2592 | dependencies:
2593 | lodash "^4.6.1"
2594 |
2595 | react@^15.5.3:
2596 | version "15.5.3"
2597 | resolved "https://registry.yarnpkg.com/react/-/react-15.5.3.tgz#84055382c025dec4e3b902bb61a8697cc79c1258"
2598 | dependencies:
2599 | fbjs "^0.8.9"
2600 | loose-envify "^1.1.0"
2601 | object-assign "^4.1.0"
2602 | prop-types "^15.5.2"
2603 |
2604 | read-pkg-up@^1.0.1:
2605 | version "1.0.1"
2606 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
2607 | dependencies:
2608 | find-up "^1.0.0"
2609 | read-pkg "^1.0.0"
2610 |
2611 | read-pkg@^1.0.0:
2612 | version "1.1.0"
2613 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
2614 | dependencies:
2615 | load-json-file "^1.0.0"
2616 | normalize-package-data "^2.3.2"
2617 | path-type "^1.0.0"
2618 |
2619 | "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.2.6:
2620 | version "2.2.9"
2621 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
2622 | dependencies:
2623 | buffer-shims "~1.0.0"
2624 | core-util-is "~1.0.0"
2625 | inherits "~2.0.1"
2626 | isarray "~1.0.0"
2627 | process-nextick-args "~1.0.6"
2628 | string_decoder "~1.0.0"
2629 | util-deprecate "~1.0.1"
2630 |
2631 | readdirp@^2.0.0:
2632 | version "2.1.0"
2633 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
2634 | dependencies:
2635 | graceful-fs "^4.1.2"
2636 | minimatch "^3.0.2"
2637 | readable-stream "^2.0.2"
2638 | set-immediate-shim "^1.0.1"
2639 |
2640 | redbox-react@^1.2.5:
2641 | version "1.3.5"
2642 | resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.3.5.tgz#801d1d22f784d80fcab109b2174cbc169830435f"
2643 | dependencies:
2644 | error-stack-parser "^1.3.6"
2645 | object-assign "^4.0.1"
2646 |
2647 | regenerate@^1.2.1:
2648 | version "1.3.2"
2649 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
2650 |
2651 | regenerator-runtime@^0.10.0:
2652 | version "0.10.3"
2653 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e"
2654 |
2655 | regenerator-transform@0.9.11:
2656 | version "0.9.11"
2657 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283"
2658 | dependencies:
2659 | babel-runtime "^6.18.0"
2660 | babel-types "^6.19.0"
2661 | private "^0.1.6"
2662 |
2663 | regex-cache@^0.4.2:
2664 | version "0.4.3"
2665 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
2666 | dependencies:
2667 | is-equal-shallow "^0.1.3"
2668 | is-primitive "^2.0.0"
2669 |
2670 | regexpu-core@^2.0.0:
2671 | version "2.0.0"
2672 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
2673 | dependencies:
2674 | regenerate "^1.2.1"
2675 | regjsgen "^0.2.0"
2676 | regjsparser "^0.1.4"
2677 |
2678 | regjsgen@^0.2.0:
2679 | version "0.2.0"
2680 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
2681 |
2682 | regjsparser@^0.1.4:
2683 | version "0.1.5"
2684 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
2685 | dependencies:
2686 | jsesc "~0.5.0"
2687 |
2688 | remove-trailing-separator@^1.0.1:
2689 | version "1.0.1"
2690 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
2691 |
2692 | repeat-element@^1.1.2:
2693 | version "1.1.2"
2694 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
2695 |
2696 | repeat-string@^1.5.2:
2697 | version "1.6.1"
2698 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
2699 |
2700 | repeating@^2.0.0:
2701 | version "2.0.1"
2702 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
2703 | dependencies:
2704 | is-finite "^1.0.0"
2705 |
2706 | request@^2.81.0:
2707 | version "2.81.0"
2708 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
2709 | dependencies:
2710 | aws-sign2 "~0.6.0"
2711 | aws4 "^1.2.1"
2712 | caseless "~0.12.0"
2713 | combined-stream "~1.0.5"
2714 | extend "~3.0.0"
2715 | forever-agent "~0.6.1"
2716 | form-data "~2.1.1"
2717 | har-validator "~4.2.1"
2718 | hawk "~3.1.3"
2719 | http-signature "~1.1.0"
2720 | is-typedarray "~1.0.0"
2721 | isstream "~0.1.2"
2722 | json-stringify-safe "~5.0.1"
2723 | mime-types "~2.1.7"
2724 | oauth-sign "~0.8.1"
2725 | performance-now "^0.2.0"
2726 | qs "~6.4.0"
2727 | safe-buffer "^5.0.1"
2728 | stringstream "~0.0.4"
2729 | tough-cookie "~2.3.0"
2730 | tunnel-agent "^0.6.0"
2731 | uuid "^3.0.0"
2732 |
2733 | require-directory@^2.1.1:
2734 | version "2.1.1"
2735 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2736 |
2737 | require-main-filename@^1.0.1:
2738 | version "1.0.1"
2739 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
2740 |
2741 | resolve@^1.3.2:
2742 | version "1.3.2"
2743 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235"
2744 | dependencies:
2745 | path-parse "^1.0.5"
2746 |
2747 | right-align@^0.1.1:
2748 | version "0.1.3"
2749 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
2750 | dependencies:
2751 | align-text "^0.1.1"
2752 |
2753 | rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1:
2754 | version "2.6.1"
2755 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
2756 | dependencies:
2757 | glob "^7.0.5"
2758 |
2759 | rimraf@~2.4.0:
2760 | version "2.4.5"
2761 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
2762 | dependencies:
2763 | glob "^6.0.1"
2764 |
2765 | ripemd160@^1.0.0:
2766 | version "1.0.1"
2767 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
2768 |
2769 | safe-buffer@^5.0.1:
2770 | version "5.0.1"
2771 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
2772 |
2773 | "semver@2 || 3 || 4 || 5", semver@^5.3.0:
2774 | version "5.3.0"
2775 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
2776 |
2777 | send@0.15.1:
2778 | version "0.15.1"
2779 | resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f"
2780 | dependencies:
2781 | debug "2.6.1"
2782 | depd "~1.1.0"
2783 | destroy "~1.0.4"
2784 | encodeurl "~1.0.1"
2785 | escape-html "~1.0.3"
2786 | etag "~1.8.0"
2787 | fresh "0.5.0"
2788 | http-errors "~1.6.1"
2789 | mime "1.3.4"
2790 | ms "0.7.2"
2791 | on-finished "~2.3.0"
2792 | range-parser "~1.2.0"
2793 | statuses "~1.3.1"
2794 |
2795 | set-blocking@^2.0.0, set-blocking@~2.0.0:
2796 | version "2.0.0"
2797 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
2798 |
2799 | set-immediate-shim@^1.0.1:
2800 | version "1.0.1"
2801 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
2802 |
2803 | setimmediate@^1.0.4, setimmediate@^1.0.5:
2804 | version "1.0.5"
2805 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
2806 |
2807 | setprototypeof@1.0.3:
2808 | version "1.0.3"
2809 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
2810 |
2811 | sha.js@^2.3.6:
2812 | version "2.4.8"
2813 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
2814 | dependencies:
2815 | inherits "^2.0.1"
2816 |
2817 | shebang-command@^1.2.0:
2818 | version "1.2.0"
2819 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
2820 | dependencies:
2821 | shebang-regex "^1.0.0"
2822 |
2823 | shebang-regex@^1.0.0:
2824 | version "1.0.0"
2825 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
2826 |
2827 | signal-exit@^3.0.0:
2828 | version "3.0.2"
2829 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
2830 |
2831 | slash@^1.0.0:
2832 | version "1.0.0"
2833 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
2834 |
2835 | sntp@1.x.x:
2836 | version "1.0.9"
2837 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
2838 | dependencies:
2839 | hoek "2.x.x"
2840 |
2841 | source-list-map@^1.1.1:
2842 | version "1.1.1"
2843 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
2844 |
2845 | source-map-support@0.4.14, source-map-support@^0.4.2:
2846 | version "0.4.14"
2847 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
2848 | dependencies:
2849 | source-map "^0.5.6"
2850 |
2851 | source-map@0.5.6, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
2852 | version "0.5.6"
2853 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
2854 |
2855 | source-map@^0.4.4:
2856 | version "0.4.4"
2857 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
2858 | dependencies:
2859 | amdefine ">=0.0.4"
2860 |
2861 | spdx-correct@~1.0.0:
2862 | version "1.0.2"
2863 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
2864 | dependencies:
2865 | spdx-license-ids "^1.0.2"
2866 |
2867 | spdx-expression-parse@~1.0.0:
2868 | version "1.0.4"
2869 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
2870 |
2871 | spdx-license-ids@^1.0.2:
2872 | version "1.2.2"
2873 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
2874 |
2875 | sshpk@^1.7.0:
2876 | version "1.11.0"
2877 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.11.0.tgz#2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77"
2878 | dependencies:
2879 | asn1 "~0.2.3"
2880 | assert-plus "^1.0.0"
2881 | dashdash "^1.12.0"
2882 | getpass "^0.1.1"
2883 | optionalDependencies:
2884 | bcrypt-pbkdf "^1.0.0"
2885 | ecc-jsbn "~0.1.1"
2886 | jodid25519 "^1.0.0"
2887 | jsbn "~0.1.0"
2888 | tweetnacl "~0.14.0"
2889 |
2890 | stackframe@^0.3.1:
2891 | version "0.3.1"
2892 | resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
2893 |
2894 | stackframe@^1.0.2:
2895 | version "1.0.2"
2896 | resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.2.tgz#162245509c687d328b14f671dab8fdb755b1e1e8"
2897 |
2898 | "statuses@>= 1.2.1 < 2", "statuses@>= 1.3.1 < 2", statuses@~1.3.1:
2899 | version "1.3.1"
2900 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
2901 |
2902 | stream-browserify@^2.0.1:
2903 | version "2.0.1"
2904 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
2905 | dependencies:
2906 | inherits "~2.0.1"
2907 | readable-stream "^2.0.2"
2908 |
2909 | stream-http@^2.3.1:
2910 | version "2.7.0"
2911 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6"
2912 | dependencies:
2913 | builtin-status-codes "^3.0.0"
2914 | inherits "^2.0.1"
2915 | readable-stream "^2.2.6"
2916 | to-arraybuffer "^1.0.0"
2917 | xtend "^4.0.0"
2918 |
2919 | string-hash@1.1.1:
2920 | version "1.1.1"
2921 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.1.tgz#8e85bed291e0763b8f6809d9c3368fea048db3dc"
2922 |
2923 | string-length@^1.0.1:
2924 | version "1.0.1"
2925 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
2926 | dependencies:
2927 | strip-ansi "^3.0.0"
2928 |
2929 | string-width@^1.0.1, string-width@^1.0.2:
2930 | version "1.0.2"
2931 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
2932 | dependencies:
2933 | code-point-at "^1.0.0"
2934 | is-fullwidth-code-point "^1.0.0"
2935 | strip-ansi "^3.0.0"
2936 |
2937 | string_decoder@^0.10.25:
2938 | version "0.10.31"
2939 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
2940 |
2941 | string_decoder@~1.0.0:
2942 | version "1.0.0"
2943 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
2944 | dependencies:
2945 | buffer-shims "~1.0.0"
2946 |
2947 | stringstream@~0.0.4:
2948 | version "0.0.5"
2949 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
2950 |
2951 | strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1:
2952 | version "3.0.1"
2953 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
2954 | dependencies:
2955 | ansi-regex "^2.0.0"
2956 |
2957 | strip-bom@^2.0.0:
2958 | version "2.0.0"
2959 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
2960 | dependencies:
2961 | is-utf8 "^0.2.0"
2962 |
2963 | strip-json-comments@~2.0.1:
2964 | version "2.0.1"
2965 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
2966 |
2967 | styled-jsx@0.5.7:
2968 | version "0.5.7"
2969 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-0.5.7.tgz#2cb02263ffa719b1435a864fdd6c62802ae86669"
2970 | dependencies:
2971 | babel-plugin-syntax-jsx "6.18.0"
2972 | babel-traverse "6.21.0"
2973 | babylon "6.14.1"
2974 | convert-source-map "1.3.0"
2975 | escape-string-regexp "1.0.5"
2976 | object.entries "1.0.4"
2977 | source-map "0.5.6"
2978 | string-hash "1.1.1"
2979 |
2980 | supports-color@^2.0.0:
2981 | version "2.0.0"
2982 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
2983 |
2984 | supports-color@^3.1.0:
2985 | version "3.2.3"
2986 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
2987 | dependencies:
2988 | has-flag "^1.0.0"
2989 |
2990 | tapable@^0.2.5, tapable@~0.2.5:
2991 | version "0.2.6"
2992 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
2993 |
2994 | tar-pack@^3.4.0:
2995 | version "3.4.0"
2996 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
2997 | dependencies:
2998 | debug "^2.2.0"
2999 | fstream "^1.0.10"
3000 | fstream-ignore "^1.0.5"
3001 | once "^1.3.3"
3002 | readable-stream "^2.1.4"
3003 | rimraf "^2.5.1"
3004 | tar "^2.2.1"
3005 | uid-number "^0.0.6"
3006 |
3007 | tar@^2.2.1:
3008 | version "2.2.1"
3009 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
3010 | dependencies:
3011 | block-stream "*"
3012 | fstream "^1.0.2"
3013 | inherits "2"
3014 |
3015 | thenify-all@^1.0.0:
3016 | version "1.6.0"
3017 | resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
3018 | dependencies:
3019 | thenify ">= 3.1.0 < 4"
3020 |
3021 | "thenify@>= 3.1.0 < 4":
3022 | version "3.2.1"
3023 | resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.2.1.tgz#251fd1c80aff6e5cf57cb179ab1fcb724269bd11"
3024 | dependencies:
3025 | any-promise "^1.0.0"
3026 |
3027 | timers-browserify@^2.0.2:
3028 | version "2.0.2"
3029 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
3030 | dependencies:
3031 | setimmediate "^1.0.4"
3032 |
3033 | to-arraybuffer@^1.0.0:
3034 | version "1.0.1"
3035 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
3036 |
3037 | to-fast-properties@^1.0.1:
3038 | version "1.0.2"
3039 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320"
3040 |
3041 | touch@1.0.0:
3042 | version "1.0.0"
3043 | resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de"
3044 | dependencies:
3045 | nopt "~1.0.10"
3046 |
3047 | tough-cookie@~2.3.0:
3048 | version "2.3.2"
3049 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
3050 | dependencies:
3051 | punycode "^1.4.1"
3052 |
3053 | trim-right@^1.0.1:
3054 | version "1.0.1"
3055 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
3056 |
3057 | tty-browserify@0.0.0:
3058 | version "0.0.0"
3059 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
3060 |
3061 | tunnel-agent@^0.6.0:
3062 | version "0.6.0"
3063 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
3064 | dependencies:
3065 | safe-buffer "^5.0.1"
3066 |
3067 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
3068 | version "0.14.5"
3069 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
3070 |
3071 | ua-parser-js@^0.7.9:
3072 | version "0.7.12"
3073 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
3074 |
3075 | uglify-js@^2.8.5:
3076 | version "2.8.21"
3077 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.21.tgz#1733f669ae6f82fc90c7b25ec0f5c783ee375314"
3078 | dependencies:
3079 | source-map "~0.5.1"
3080 | yargs "~3.10.0"
3081 | optionalDependencies:
3082 | uglify-to-browserify "~1.0.0"
3083 |
3084 | uglify-to-browserify@~1.0.0:
3085 | version "1.0.2"
3086 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
3087 |
3088 | uid-number@^0.0.6:
3089 | version "0.0.6"
3090 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
3091 |
3092 | unfetch@2.1.2:
3093 | version "2.1.2"
3094 | resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-2.1.2.tgz#684fee4d8acdb135bdb26c0364c642fc326ca95b"
3095 |
3096 | url@0.11.0, url@^0.11.0:
3097 | version "0.11.0"
3098 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
3099 | dependencies:
3100 | punycode "1.3.2"
3101 | querystring "0.2.0"
3102 |
3103 | util-deprecate@~1.0.1:
3104 | version "1.0.2"
3105 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
3106 |
3107 | util@0.10.3, util@^0.10.3:
3108 | version "0.10.3"
3109 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
3110 | dependencies:
3111 | inherits "2.0.1"
3112 |
3113 | uuid@3.0.1, uuid@^3.0.0:
3114 | version "3.0.1"
3115 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
3116 |
3117 | validate-npm-package-license@^3.0.1:
3118 | version "3.0.1"
3119 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
3120 | dependencies:
3121 | spdx-correct "~1.0.0"
3122 | spdx-expression-parse "~1.0.0"
3123 |
3124 | verror@1.3.6:
3125 | version "1.3.6"
3126 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
3127 | dependencies:
3128 | extsprintf "1.0.2"
3129 |
3130 | vm-browserify@0.0.4:
3131 | version "0.0.4"
3132 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
3133 | dependencies:
3134 | indexof "0.0.1"
3135 |
3136 | watchpack@^1.3.1:
3137 | version "1.3.1"
3138 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
3139 | dependencies:
3140 | async "^2.1.2"
3141 | chokidar "^1.4.3"
3142 | graceful-fs "^4.1.2"
3143 |
3144 | webpack-dev-middleware@1.10.1:
3145 | version "1.10.1"
3146 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893"
3147 | dependencies:
3148 | memory-fs "~0.4.1"
3149 | mime "^1.3.4"
3150 | path-is-absolute "^1.0.0"
3151 | range-parser "^1.0.3"
3152 |
3153 | webpack-hot-middleware@2.18.0:
3154 | version "2.18.0"
3155 | resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.0.tgz#a16bb535b83a6ac94a78ac5ebce4f3059e8274d3"
3156 | dependencies:
3157 | ansi-html "0.0.7"
3158 | html-entities "^1.2.0"
3159 | querystring "^0.2.0"
3160 | strip-ansi "^3.0.0"
3161 |
3162 | webpack-sources@^0.2.3:
3163 | version "0.2.3"
3164 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
3165 | dependencies:
3166 | source-list-map "^1.1.1"
3167 | source-map "~0.5.3"
3168 |
3169 | webpack@2.3.3:
3170 | version "2.3.3"
3171 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.3.3.tgz#eecc083c18fb7bf958ea4f40b57a6640c5a0cc78"
3172 | dependencies:
3173 | acorn "^4.0.4"
3174 | acorn-dynamic-import "^2.0.0"
3175 | ajv "^4.7.0"
3176 | ajv-keywords "^1.1.1"
3177 | async "^2.1.2"
3178 | enhanced-resolve "^3.0.0"
3179 | interpret "^1.0.0"
3180 | json-loader "^0.5.4"
3181 | loader-runner "^2.3.0"
3182 | loader-utils "^0.2.16"
3183 | memory-fs "~0.4.1"
3184 | mkdirp "~0.5.0"
3185 | node-libs-browser "^2.0.0"
3186 | source-map "^0.5.3"
3187 | supports-color "^3.1.0"
3188 | tapable "~0.2.5"
3189 | uglify-js "^2.8.5"
3190 | watchpack "^1.3.1"
3191 | webpack-sources "^0.2.3"
3192 | yargs "^6.0.0"
3193 |
3194 | whatwg-fetch@>=0.10.0:
3195 | version "2.0.3"
3196 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
3197 |
3198 | which-module@^1.0.0:
3199 | version "1.0.0"
3200 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
3201 |
3202 | which@^1.2.9:
3203 | version "1.2.14"
3204 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
3205 | dependencies:
3206 | isexe "^2.0.0"
3207 |
3208 | wide-align@^1.1.0:
3209 | version "1.1.0"
3210 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
3211 | dependencies:
3212 | string-width "^1.0.1"
3213 |
3214 | window-size@0.1.0:
3215 | version "0.1.0"
3216 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
3217 |
3218 | wordwrap@0.0.2:
3219 | version "0.0.2"
3220 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
3221 |
3222 | wrap-ansi@^2.0.0:
3223 | version "2.1.0"
3224 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
3225 | dependencies:
3226 | string-width "^1.0.1"
3227 | strip-ansi "^3.0.1"
3228 |
3229 | wrappy@1:
3230 | version "1.0.2"
3231 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
3232 |
3233 | write-file-webpack-plugin@4.0.0:
3234 | version "4.0.0"
3235 | resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-4.0.0.tgz#2a7e4520fdcc02e687e8430d371bb41400b3cc0c"
3236 | dependencies:
3237 | chalk "^1.1.1"
3238 | filesize "^3.2.1"
3239 | lodash "^4.5.1"
3240 | mkdirp "^0.5.1"
3241 | moment "^2.11.2"
3242 |
3243 | xtend@^4.0.0:
3244 | version "4.0.1"
3245 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
3246 |
3247 | y18n@^3.2.1:
3248 | version "3.2.1"
3249 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
3250 |
3251 | yallist@^2.0.0:
3252 | version "2.1.2"
3253 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
3254 |
3255 | yargs-parser@^4.2.0:
3256 | version "4.2.1"
3257 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
3258 | dependencies:
3259 | camelcase "^3.0.0"
3260 |
3261 | yargs@^6.0.0:
3262 | version "6.6.0"
3263 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
3264 | dependencies:
3265 | camelcase "^3.0.0"
3266 | cliui "^3.2.0"
3267 | decamelize "^1.1.1"
3268 | get-caller-file "^1.0.1"
3269 | os-locale "^1.4.0"
3270 | read-pkg-up "^1.0.1"
3271 | require-directory "^2.1.1"
3272 | require-main-filename "^1.0.1"
3273 | set-blocking "^2.0.0"
3274 | string-width "^1.0.2"
3275 | which-module "^1.0.0"
3276 | y18n "^3.2.1"
3277 | yargs-parser "^4.2.0"
3278 |
3279 | yargs@~3.10.0:
3280 | version "3.10.0"
3281 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
3282 | dependencies:
3283 | camelcase "^1.0.2"
3284 | cliui "^2.1.0"
3285 | decamelize "^1.0.0"
3286 | window-size "0.1.0"
3287 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "next-github-auth",
3 | "description": "Components and decorators for using Github authentication with Next.js",
4 | "version": "0.2.4",
5 | "repository": {
6 | "url": "https://github.com/possibilities/next-github-auth",
7 | "type": "git"
8 | },
9 | "author": "Mike Bannister ",
10 | "license": "MIT",
11 | "scripts": {
12 | "dev": "rimraf lib && babel src --out-dir lib --watch",
13 | "build": "rimraf lib && babel src --out-dir lib",
14 | "prepublish": "rimraf lib && babel src --out-dir lib",
15 | "test": "./node_modules/.bin/ava --verbose --serial",
16 | "test:watch": "./node_modules/.bin/ava --verbose --serial --watch",
17 | "lint": "standard",
18 | "pretest": "standard"
19 | },
20 | "main": "lib/index.js",
21 | "files": [
22 | "lib"
23 | ],
24 | "dependencies": {
25 | "axios": "^0.16.0",
26 | "next-page-decorator-invariant": "^0.1.2",
27 | "next-page-environment": "^0.1.2",
28 | "prop-types": "^15.5.4"
29 | },
30 | "devDependencies": {
31 | "ava": "^0.19.0",
32 | "babel-cli": "^6.24.1",
33 | "babel-eslint": "^7.1.1",
34 | "babel-preset-latest": "^6.24.1",
35 | "babel-preset-react": "^6.24.1",
36 | "babel-preset-stage-0": "^6.24.1",
37 | "next": "^2.1.1",
38 | "nightmare": "^2.10.0",
39 | "react": "^15.5.3",
40 | "react-dom": "^15.5.3",
41 | "rimraf": "^2.6.1",
42 | "standard": "^10.0.1"
43 | },
44 | "peerDependencies": {
45 | "next": ">=2.1.1"
46 | },
47 | "babel": {
48 | "presets": [
49 | "next/babel",
50 | "latest",
51 | "react",
52 | "stage-0"
53 | ]
54 | },
55 | "standard": {
56 | "parser": "babel-eslint"
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # Next.js auth with Github [](https://circleci.com/gh/possibilities/next-github-auth)
2 |
3 | Components and decorators for using [Github](https://github.com) authentication with [Next.js](https://github.com/zeit/next.js)
4 |
5 | 
6 |
7 | ## Usage
8 |
9 | 1. Install into your Next.js app
10 |
11 | ```
12 | yarn add next-github-auth
13 | ```
14 |
15 | 1. Create `sign-in` and `sign-out` pages
16 |
17 | At `pages/sign-in.js`
18 |
19 | ```
20 | import { SignIn } from 'next-github-auth'
21 | export default SignIn
22 | ```
23 |
24 | At `pages/sign-out.js`
25 |
26 | ```
27 | import { SignOut } from 'next-github-auth'
28 | export default SignOut
29 | ```
30 |
31 | If you need to customize the scope you can configure the `SignIn` page
32 |
33 | ```
34 | import { configureSignIn } from 'next-github-auth'
35 | const SignIn = configureSignIn({ scope: 'repo gist' })
36 | export default SignIn
37 | ```
38 |
39 | 1. Wrap private pages with `PrivatePage` decorator
40 |
41 | Any Next.js page that should only be accessible to authenticated users should be wrapped with the `PrivatePage` decorator, e.g.:
42 |
43 | ```
44 | import { PrivatePage } from 'next-github-auth'
45 |
46 | const Private = props => private page!
47 | export default PrivatePage(Private)
48 | ```
49 |
50 | 1. Wrap public pages with `PublicPage` decorator
51 |
52 | _All other_ Next.js pages should be wrapped with the `PublicPage` decorator, e.g.:
53 |
54 | ```
55 | import { PublicPage } from 'next-github-auth'
56 |
57 | const Public = props => public page!
58 | export default PublicPage(Public)
59 | ```
60 |
61 | 1. Optionally access the currently signed in github user and access tokens in a Next page component's `getInitialProps`, e.g:
62 |
63 | ```
64 | import React from 'react'
65 | import PropTypes from 'prop-types'
66 | import { PrivatePage } from 'next-github-auth'
67 |
68 | const UserRepos = ({
69 | github: {
70 | accessToken,
71 | user: { login }
72 | }
73 | }) => (
74 |
75 | {!repos.length && (
76 |
cool, you have 0 repos!
77 | )}
78 |
79 | {!!repos.length && (
80 |
81 | {repos.map(({ fullName }) => (
82 | - {fullName}
83 | ))}
84 |
85 | )}
86 |
87 | )
88 |
89 | UserRepos.getInitialProps ({ github: { accessToken } }) {
90 | const githubRepos = await getGithubRepos(accessToken)
91 | const repos = githubRepos.map(repoView)
92 | return { repos }
93 | }
94 |
95 | export default PrivatePage(UserProfile)
96 | ```
97 |
98 | 1. Optionally access the currently signed in github user and access tokens via React's `context`, e.g:
99 |
100 | ```
101 | import React from 'react'
102 | import PropTypes from 'prop-types'
103 | import { PrivatePage } from 'next-github-auth'
104 |
105 | const UserProfile = (props, {
106 | github: {
107 | accessToken,
108 | user: { login }
109 | }
110 | }) => (
111 |
112 |
{login}'s profile
113 |
token: {accessToken ? 'hidden' : 'not available'}
114 |
115 | )
116 |
117 | UserProfile.contextTypes = {
118 | github: PropTypes.shape({
119 | accessToken: PropTypes.string,
120 | user: PropTypes.shape({
121 | login: PropTypes.string
122 | })
123 | })
124 | }
125 |
126 | export default PrivatePage(UserProfile)
127 | ```
128 |
129 | ## Setup app environment
130 |
131 | 1. [Add an OAuth application](https://github.com/settings/developers) to your Github account to generate a client id and secret
132 |
133 | Set the callback URL to the public URL of the deployed app
134 |
135 | 1. Setup environment
136 |
137 | Export your GitHub app's client id and secret as environment variables
138 |
139 | ```
140 | export GITHUB_CLIENT_ID=YOUR_APP_ID
141 | export GITHUB_CLIENT_SECRET=YOUR_APP_SECRET
142 | ```
143 |
144 | ## Run app
145 |
146 | 1. Start the app
147 |
148 | ```
149 | yarn dev
150 | ```
151 |
--------------------------------------------------------------------------------
/run-example.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -e
4 |
5 | [ -z "${GITHUB_CLIENT_ID}" ] && echo "GITHUB_CLIENT_ID is required" && exit 1;
6 | [ -z "${GITHUB_CLIENT_SECRET}" ] && echo "GITHUB_CLIENT_SECRET is required" && exit 1;
7 |
8 | # install and link libray
9 | yarn install
10 | yarn link --force
11 |
12 | # install and run app
13 | cd example
14 | yarn install
15 | yarn link next-github-auth
16 | yarn dev
17 |
--------------------------------------------------------------------------------
/run-tests.js:
--------------------------------------------------------------------------------
1 | const { spawn } = require('child_process')
2 |
3 | const run = spawn('./run-example.sh')
4 | run.on('exit', process.exit)
5 |
6 | run.stdout.pipe(process.stdout)
7 | run.stderr.pipe(process.stderr)
8 |
9 | run.stdout.on('data', data => {
10 | if (data.toString().includes('Ready on http://localhost:3000')) {
11 | const test = spawn('yarn', ['test'])
12 | test.on('exit', process.exit)
13 | test.stdout.pipe(process.stdout)
14 | test.stderr.pipe(process.stderr)
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/screen.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/possibilities/next-github-auth/b65bbebcd9c618243c16f16a5d799e9c7b8006a1/screen.gif
--------------------------------------------------------------------------------
/src/decorators/DemandSignedIn.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react'
2 | import PropTypes from 'prop-types'
3 |
4 | const DemandSignedIn = Page => {
5 | return class DemandSignedInWrapper extends Component {
6 | static propTypes = {
7 | env: PropTypes.shape({
8 | githubClientId: PropTypes.string.isRequired
9 | }).isRequired
10 | }
11 |
12 | static async getInitialProps (pageContext) {
13 | const {
14 | env: { githubClientId },
15 | pathname: afterSignInUrl = '/',
16 | github
17 | } = pageContext
18 |
19 | if (!github.user) {
20 | if (process.browser) {
21 | window.location = `/sign-in?afterSignInUrl=${afterSignInUrl}`
22 | return { isRedirecting: true }
23 | } else {
24 | return { afterSignInUrl, githubClientId }
25 | }
26 | }
27 |
28 | const pageProps = Page.getInitialProps
29 | ? await Page.getInitialProps({ ...pageContext, github })
30 | : {}
31 |
32 | return {
33 | ...pageProps,
34 | github,
35 | githubClientId,
36 | afterSignInUrl
37 | }
38 | }
39 |
40 | constructor (props) {
41 | super(props)
42 | if (process.browser) {
43 | if (!props.github.user && !props.isRedirecting) {
44 | window.location = `/sign-in?afterSignInUrl=${props.afterSignInUrl}`
45 | }
46 | }
47 | }
48 |
49 | render () {
50 | if (this.props.github.user) {
51 | return
52 | }
53 |
54 | return null
55 | }
56 | }
57 | }
58 |
59 | export default DemandSignedIn
60 |
--------------------------------------------------------------------------------
/src/decorators/GithubContext.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react'
2 | import PropTypes from 'prop-types'
3 | import request from 'axios'
4 | import NextGlobalClientStore from '../modules/NextGlobalClientStore'
5 |
6 | const getGithubAccessToken = req => {
7 | if (process.browser) {
8 | return NextGlobalClientStore.get('githubAccessToken')
9 | } else {
10 | const accessTokenCookie = req.headers.cookie && req.headers.cookie
11 | .split(';')
12 | .map(c => c.trim())
13 | .find(c => c.startsWith('githubAccessToken='))
14 |
15 | if (accessTokenCookie) {
16 | return accessTokenCookie.split('=').pop()
17 | }
18 | }
19 | }
20 |
21 | const getGithubUser = async githubAccessToken => {
22 | if (!githubAccessToken) {
23 | return
24 | }
25 |
26 | if (process.browser) {
27 | return NextGlobalClientStore.get('githubUser')
28 | }
29 |
30 | const url = `https://api.github.com/user`
31 | const headers = { Authorization: `token ${githubAccessToken}` }
32 | const options = { headers }
33 |
34 | let result
35 | try {
36 | result = await request.get(url, options)
37 | } catch (error) {
38 | // If there's an invalid token here ignore and allow the user to
39 | // go through normal auth flow
40 | if (error.response.status !== 401) {
41 | throw error
42 | }
43 | }
44 |
45 | if (result) {
46 | return result.data
47 | }
48 | }
49 |
50 | const GithubContext = Page => {
51 | return class GithubContextWrapper extends Component {
52 | static propTypes = {
53 | github: PropTypes.shape({
54 | user: PropTypes.shape({
55 | login: PropTypes.string.isRequired
56 | }),
57 | accessToken: PropTypes.string
58 | })
59 | }
60 |
61 | static async getInitialProps (pageContext) {
62 | const { req } = pageContext
63 | const accessToken = getGithubAccessToken(req)
64 | const user = await getGithubUser(accessToken)
65 | const github = { accessToken, user }
66 |
67 | const pageProps = Page.getInitialProps
68 | ? await Page.getInitialProps({ ...pageContext, github })
69 | : {}
70 |
71 | return { ...pageProps, github }
72 | }
73 |
74 | static childContextTypes = {
75 | github: PropTypes.shape({
76 | user: PropTypes.shape({
77 | login: PropTypes.string
78 | }),
79 | accessToken: PropTypes.string,
80 | clientId: PropTypes.string
81 | })
82 | }
83 |
84 | getChildContext () {
85 | const { github, env: { githubClientId } = {} } = this.props
86 |
87 | return {
88 | github: {
89 | ...github,
90 | clientId: githubClientId
91 | }
92 | }
93 | }
94 |
95 | constructor (props) {
96 | super(props)
97 |
98 | if (process.browser) {
99 | NextGlobalClientStore.set('githubUser', props.github.user)
100 | NextGlobalClientStore.set('githubAccessToken', props.github.accessToken)
101 | }
102 | }
103 |
104 | render () {
105 | return
106 | }
107 | }
108 | }
109 |
110 | export default GithubContext
111 |
--------------------------------------------------------------------------------
/src/decorators/PrivatePage.js:
--------------------------------------------------------------------------------
1 | import compose from '../modules/compose'
2 |
3 | import PageDecoratorInvariant from 'next-page-decorator-invariant'
4 | import PageEnvironment from 'next-page-environment'
5 | import GithubContext from './GithubContext'
6 | import DemandSignedIn from './DemandSignedIn'
7 |
8 | const PrivatePage = compose(
9 | PageDecoratorInvariant('PrivatePage'),
10 | PageEnvironment({ githubClientId: process.env.GITHUB_CLIENT_ID }),
11 | GithubContext,
12 | DemandSignedIn
13 | )
14 |
15 | export default PrivatePage
16 |
--------------------------------------------------------------------------------
/src/decorators/PublicPage.js:
--------------------------------------------------------------------------------
1 | import compose from '../modules/compose'
2 |
3 | import PageDecoratorInvariant from 'next-page-decorator-invariant'
4 | import PageEnvironment from 'next-page-environment'
5 | import GithubContext from './GithubContext'
6 |
7 | const PublicPage = compose(
8 | PageDecoratorInvariant('PublicPage'),
9 | PageEnvironment({ githubClientId: process.env.GITHUB_CLIENT_ID }),
10 | GithubContext
11 | )
12 |
13 | export default PublicPage
14 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | export SignIn from './pages/SignIn'
2 | export SignOut from './pages/SignOut'
3 | export configureSignIn from './modules/configureSignIn'
4 |
5 | export PrivatePage from './decorators/PrivatePage'
6 | export PublicPage from './decorators/PublicPage'
7 |
--------------------------------------------------------------------------------
/src/modules/NextGlobalClientStore.js:
--------------------------------------------------------------------------------
1 | // In next it's useful to have a global spot to share data. This is used
2 | // throughout to enable sharing server generated values across client loaded
3 | // pages.
4 |
5 | const data = {}
6 |
7 | const NextGlobalClientStore = {
8 | get (key) { return data[key] },
9 | set (key, val) { data[key] = val }
10 | }
11 |
12 | export default NextGlobalClientStore
13 |
--------------------------------------------------------------------------------
/src/modules/compose.js:
--------------------------------------------------------------------------------
1 | const compose = (...fns) => {
2 | const reverseFns = fns.reverse()
3 | return (...args) => {
4 | reverseFns.forEach(fn => {
5 | if (!Array.isArray(args)) {
6 | args = [args]
7 | }
8 | args = fn.apply(null, args)
9 | })
10 | return args
11 | }
12 | }
13 |
14 | export default compose
15 |
--------------------------------------------------------------------------------
/src/modules/configureSignIn.js:
--------------------------------------------------------------------------------
1 | import { createElement } from 'react'
2 | import PropTypes from 'prop-types'
3 | import PublicPage from '../decorators/PublicPage'
4 | import SignIn from '../pages/SignIn'
5 |
6 | const PublicSignInPage = PublicPage(SignIn)
7 |
8 | const configureSignIn = config => {
9 | const WrappedSignIn = props => {
10 | return createElement(PublicSignInPage, { ...props, ...config })
11 | }
12 |
13 | WrappedSignIn.propTypes = {
14 | scope: PropTypes.string
15 | }
16 |
17 | WrappedSignIn.getInitialProps = async pageContext => {
18 | return PublicSignInPage.getInitialProps
19 | ? PublicSignInPage.getInitialProps(pageContext)
20 | : {}
21 | }
22 |
23 | return WrappedSignIn
24 | }
25 |
26 | export default configureSignIn
27 |
--------------------------------------------------------------------------------
/src/modules/demandEnvVar.js:
--------------------------------------------------------------------------------
1 | const demandEnvVar = envVarName => {
2 | if (!process.browser && !process.env[envVarName]) {
3 | console.error(`${envVarName} environment variable is required`)
4 | process.exit(1)
5 | }
6 |
7 | return process.env[envVarName]
8 | }
9 |
10 | export default demandEnvVar
11 |
--------------------------------------------------------------------------------
/src/modules/getGithubAccessTokenCookie.js:
--------------------------------------------------------------------------------
1 | const getGithubAccessTokenCookie = (req, accessToken = '') => {
2 | const isSecure = req.headers['x-forwarded-proto'] === 'https'
3 |
4 | let cookie = `githubAccessToken=${accessToken}; SameSite=Strict; HttpOnly`
5 |
6 | if (isSecure) {
7 | cookie = `${cookie}; Secure`
8 | }
9 |
10 | return cookie
11 | }
12 |
13 | export default getGithubAccessTokenCookie
14 |
--------------------------------------------------------------------------------
/src/modules/getGithubAuthorizeUrl.js:
--------------------------------------------------------------------------------
1 | const githubAuthorizeUrl = 'https://github.com/login/oauth/authorize'
2 |
3 | const queryStringFromObj = queryObj =>
4 | Object.keys(queryObj)
5 | .filter(key => queryObj[key] !== undefined)
6 | .map(key => `${key}=${queryObj[key]}`)
7 | .join('&')
8 |
9 | const getRedirectUri = (githubClientId, afterSignInUrl) => {
10 | if (!process.browser) {
11 | return
12 | }
13 |
14 | let afterAuthUrl = `${window.location.origin}/sign-in`
15 |
16 | if (afterSignInUrl && afterSignInUrl !== '/sign-in') {
17 | afterAuthUrl = `${afterAuthUrl}?afterSignInUrl=${afterSignInUrl}`
18 | }
19 |
20 | return encodeURIComponent(afterAuthUrl)
21 | }
22 |
23 | const getGithubAuthorizeUrl = (githubClientId, githubScope, afterSignInUrl) => {
24 | if (!githubClientId) {
25 | throw new Error('Client id is not defined')
26 | }
27 |
28 | const githubAuthorizeParams = queryStringFromObj({
29 | client_id: githubClientId,
30 | redirect_uri: getRedirectUri(githubClientId, afterSignInUrl),
31 | scope: githubScope
32 | })
33 |
34 | return `${githubAuthorizeUrl}?${githubAuthorizeParams}`
35 | }
36 |
37 | export default getGithubAuthorizeUrl
38 |
--------------------------------------------------------------------------------
/src/pages/SignIn.js:
--------------------------------------------------------------------------------
1 | import { Component } from 'react'
2 | import PropTypes from 'prop-types'
3 | import request from 'axios'
4 | import demandEnvVar from '../modules/demandEnvVar'
5 | import getGithubAccessTokenCookie from '../modules/getGithubAccessTokenCookie'
6 | import getGithubAuthorizeUrl from '../modules/getGithubAuthorizeUrl'
7 | import PublicPage from '../decorators/PublicPage'
8 |
9 | const githubAccessTokenUrl = 'https://github.com/login/oauth/access_token'
10 | const githubClientSecret = demandEnvVar('GITHUB_CLIENT_SECRET')
11 |
12 | const fetchGithubAccessToken = async (githubAuthCode, githubClientId) => {
13 | const response = await request.post(
14 | githubAccessTokenUrl,
15 | {
16 | code: githubAuthCode,
17 | client_id: githubClientId,
18 | client_secret: githubClientSecret
19 | },
20 | {
21 | headers: {
22 | Accept: 'application/json'
23 | }
24 | }
25 | )
26 |
27 | if (response.status === 200) {
28 | return response.data.access_token
29 | }
30 | }
31 |
32 | class SignIn extends Component {
33 | static propTypes = {
34 | githubClientId: PropTypes.string.isRequired,
35 | afterSignInUrl: PropTypes.string.isRequired,
36 | isAuthorized: PropTypes.bool.isRequired,
37 | scope: PropTypes.string
38 | }
39 |
40 | static defaultProps = {
41 | scope: ''
42 | }
43 |
44 | static async getInitialProps ({
45 | req,
46 | res,
47 | env: {
48 | githubClientId
49 | },
50 | query: {
51 | afterSignInUrl = '/',
52 | code: githubAuthCode
53 | }
54 | }) {
55 | let isAuthorized = false
56 |
57 | if (githubAuthCode) {
58 | const accessToken =
59 | await fetchGithubAccessToken(githubAuthCode, githubClientId)
60 | const githubAccessTokenCookie =
61 | getGithubAccessTokenCookie(req, accessToken)
62 |
63 | res.setHeader('Set-Cookie', githubAccessTokenCookie)
64 |
65 | isAuthorized = !!accessToken
66 | }
67 |
68 | return { githubClientId, afterSignInUrl, isAuthorized }
69 | }
70 |
71 | constructor (props) {
72 | super(props)
73 |
74 | if (process.browser && props.afterSignInUrl) {
75 | if (props.isAuthorized) {
76 | // Wait to redirect on the client so the cookie will be available
77 | window.location = props.afterSignInUrl
78 | } else {
79 | window.location = getGithubAuthorizeUrl(
80 | props.githubClientId,
81 | props.scope,
82 | props.afterSignInUrl
83 | )
84 | }
85 | }
86 | }
87 |
88 | render () {
89 | // All server side, nothing to show
90 | return null
91 | }
92 | }
93 |
94 | export default PublicPage(SignIn)
95 |
--------------------------------------------------------------------------------
/src/pages/SignOut.js:
--------------------------------------------------------------------------------
1 | import { Component } from 'react'
2 | import getGithubAccessTokenCookie from '../modules/getGithubAccessTokenCookie'
3 |
4 | export default class SignOut extends Component {
5 | static getInitialProps ({ req, res }) {
6 | if (!process.browser) {
7 | const githubAccessTokenCookie = getGithubAccessTokenCookie(req, '')
8 | res.writeHead(302, {
9 | 'Set-Cookie': githubAccessTokenCookie,
10 | Location: '/'
11 | })
12 | res.end()
13 | }
14 |
15 | return {}
16 | }
17 |
18 | constructor () {
19 | super()
20 | window.location = '/sign-out'
21 | }
22 |
23 | render () { return null }
24 | }
25 |
--------------------------------------------------------------------------------
/test/helpers/ensureGithubSignin.js:
--------------------------------------------------------------------------------
1 | const testEmail = process.env.TEST_USER_EMAIL
2 | const testPassword = process.env.TEST_USER_PASSWORD
3 |
4 | let signedInCookies = null
5 |
6 | const ensureGithubSignin = t => {
7 | const { browser } = t.context
8 |
9 | if (signedInCookies) {
10 | browser
11 | .goto('https://github.com')
12 | .cookies.set(signedInCookies)
13 | .then(() => t.end())
14 | .catch(error => t.end(error))
15 | } else {
16 | browser
17 | .goto('https://github.com/login')
18 | .type('#login_field', testEmail)
19 | .type('#password', testPassword)
20 | .click('.btn')
21 | .wait(1000)
22 | .cookies.get({ url: null })
23 | .then(cookies => {
24 | signedInCookies = cookies
25 | t.end()
26 | })
27 | .catch(error => t.end(error))
28 | }
29 | }
30 |
31 | module.exports = ensureGithubSignin
32 |
--------------------------------------------------------------------------------
/test/helpers/revokeAppAccess.js:
--------------------------------------------------------------------------------
1 | const revokeAppAccess = t => {
2 | const { browser } = t.context
3 |
4 | browser
5 | .goto('https://github.com/settings/applications')
6 | .evaluate(() => document.querySelector('.js-revoke-item .btn'))
7 | .then(revokeButton => {
8 | if (revokeButton) {
9 | browser
10 | .click('.js-revoke-item .btn')
11 | .wait('.facebox .btn')
12 | .click('.facebox .btn')
13 | .then(() => t.end())
14 | .catch(error => t.end(error))
15 | } else {
16 | t.end()
17 | }
18 | })
19 | .catch(error => t.end(error))
20 | }
21 |
22 | module.exports = revokeAppAccess
23 |
--------------------------------------------------------------------------------
/test/helpers/startBrowser.js:
--------------------------------------------------------------------------------
1 | const Browser = require('nightmare')
2 |
3 | const startBrowser = t => {
4 | t.context.browser = new Browser({
5 | show: false,
6 | typeInterval: 1
7 | })
8 | }
9 |
10 | module.exports = startBrowser
11 |
--------------------------------------------------------------------------------
/test/signed-in.js:
--------------------------------------------------------------------------------
1 | import test from 'ava'
2 |
3 | const startBrowser = require('./helpers/startBrowser')
4 | const ensureGithubSignin = require('./helpers/ensureGithubSignin')
5 | const revokeAppAccess = require('./helpers/revokeAppAccess')
6 |
7 | const signIntoApp = t => {
8 | t.context.browser
9 | .goto('http://localhost:3000/sign-in')
10 | // This button takes a bit to light up and become clickable
11 | .wait(3000)
12 | .click('#js-oauth-authorize-btn')
13 | .wait(2000)
14 | .evaluate(() => document.querySelector('body').innerText)
15 | .then(pageText => {
16 | t.truthy(pageText.includes('hi next-github-auth-test-user'))
17 | t.truthy(pageText.includes('home page!'))
18 | t.end()
19 | })
20 | .catch(error => t.end(error))
21 | }
22 |
23 | test.beforeEach(startBrowser)
24 | test.beforeEach.cb(ensureGithubSignin)
25 | test.beforeEach.cb(revokeAppAccess)
26 | test.beforeEach.cb(signIntoApp)
27 |
28 | test.cb('visiting sign-out page redirects to home page', t => {
29 | t.context.browser
30 | .goto('http://localhost:3000/sign-out')
31 | .wait(2000)
32 | .evaluate(() => document.querySelector('body').innerText)
33 | .end()
34 | .then(pageText => {
35 | t.falsy(pageText.includes('hi next-github-auth-test-user'))
36 | t.truthy(pageText.includes('home page!'))
37 | t.end()
38 | })
39 | .catch(error => t.end(error))
40 | })
41 |
42 | test.cb('visiting sign-out page via client navigation redirects to home page', t => {
43 | t.context.browser
44 | .goto('http://localhost:3000')
45 | .click('.sign-out')
46 | .wait(2000)
47 | .evaluate(() => document.querySelector('body').innerText)
48 | .end()
49 | .then(pageText => {
50 | t.falsy(pageText.includes('hi next-github-auth-test-user'))
51 | t.truthy(pageText.includes('home page!'))
52 | t.end()
53 | })
54 | .catch(error => t.end(error))
55 | })
56 |
--------------------------------------------------------------------------------
/test/signed-out.js:
--------------------------------------------------------------------------------
1 | import test from 'ava'
2 |
3 | const startBrowser = require('./helpers/startBrowser')
4 | const ensureGithubSignin = require('./helpers/ensureGithubSignin')
5 | const revokeAppAccess = require('./helpers/revokeAppAccess')
6 |
7 | test.beforeEach(startBrowser)
8 | test.beforeEach.cb(ensureGithubSignin)
9 | test.beforeEach.cb(revokeAppAccess)
10 |
11 | test.cb('visiting public page succeeds', t => {
12 | t.context.browser
13 | .goto('http://localhost:3000/public')
14 | .evaluate(() => document.querySelector('body').innerText)
15 | .end()
16 | .then(pageText => {
17 | t.falsy(pageText.includes('hi next-github-auth-test-user'))
18 | t.truthy(pageText.includes('public page!'))
19 | t.end()
20 | })
21 | .catch(error => t.end(error))
22 | })
23 |
24 | test.cb('visiting public page via client navigation succeeds', t => {
25 | t.context.browser
26 | .goto('http://localhost:3000')
27 | .click('.nav .public')
28 | .wait(2000)
29 | .evaluate(() => document.querySelector('body').innerText)
30 | .end()
31 | .then(pageText => {
32 | t.falsy(pageText.includes('hi next-github-auth-test-user'))
33 | t.truthy(pageText.includes('public page!'))
34 | t.end()
35 | })
36 | .catch(error => t.end(error))
37 | })
38 |
39 | test.cb('visiting sign-in page succeeds', t => {
40 | t.context.browser
41 | .goto('http://localhost:3000/sign-in')
42 | // This button takes a bit to light up and become clickable
43 | .wait(3000)
44 | .click('#js-oauth-authorize-btn')
45 | .wait(2000)
46 | .evaluate(() => document.querySelector('body').innerText)
47 | .end()
48 | .then(pageText => {
49 | t.truthy(pageText.includes('hi next-github-auth-test-user'))
50 | t.truthy(pageText.includes('home page!'))
51 | t.end()
52 | })
53 | .catch(error => t.end(error))
54 | })
55 |
56 | test.cb('visiting sign-in page via client navigation succeeds', t => {
57 | t.context.browser
58 | .goto('http://localhost:3000')
59 | .click('.sign-in')
60 | // This button takes a bit to light up and become clickable
61 | .wait(3000)
62 | .click('#js-oauth-authorize-btn')
63 | .wait(2000)
64 | .evaluate(() => document.querySelector('body').innerText)
65 | .end()
66 | .then(pageText => {
67 | t.truthy(pageText.includes('hi next-github-auth-test-user'))
68 | t.truthy(pageText.includes('home page!'))
69 | t.end()
70 | })
71 | .catch(error => t.end(error))
72 | })
73 |
74 | test.cb('visiting private page prompts for authorization', t => {
75 | t.context.browser
76 | .goto('http://localhost:3000/private')
77 | .wait(2000)
78 | .evaluate(() => document.querySelector('body').innerText)
79 | .end()
80 | .then(pageText => {
81 | t.truthy(pageText.includes('Authorize application'))
82 | t.end()
83 | })
84 | .catch(error => t.end(error))
85 | })
86 |
87 | test.cb('visiting private page prompts for authorization within scope', t => {
88 | t.context.browser
89 | .goto('http://localhost:3000/private')
90 | .wait(2000)
91 | .evaluate(() => document.querySelector('body').innerText)
92 | .end()
93 | .then(pageText => {
94 | t.truthy(pageText.includes('Authorize application'))
95 | // Make sure we're bring prompted for repos
96 | t.truthy(pageText.includes('Repositories'))
97 | t.truthy(pageText.includes('Public and private'))
98 | t.end()
99 | })
100 | .catch(error => t.end(error))
101 | })
102 |
103 | test.cb('visiting private page via client navigation prompts for authorization', t => {
104 | t.context.browser
105 | .goto('http://localhost:3000')
106 | .click('.nav .private')
107 | .wait(2000)
108 | .evaluate(() => document.querySelector('body').innerText)
109 | .end()
110 | .then(pageText => {
111 | t.truthy(pageText.includes('Authorize application'))
112 | t.end()
113 | })
114 | .catch(error => t.end(error))
115 | })
116 |
117 | test.cb('visiting private page redirects back to private page after signing in', t => {
118 | t.context.browser
119 | .goto('http://localhost:3000/private')
120 | // This button takes a bit to light up and become clickable
121 | .wait(3000)
122 | .click('#js-oauth-authorize-btn')
123 | .wait(2000)
124 | .evaluate(() => document.querySelector('body').innerText)
125 | .end()
126 | .then(pageText => {
127 | t.truthy(pageText.includes('hi next-github-auth-test-user'))
128 | t.truthy(pageText.includes('private page!'))
129 | t.end()
130 | })
131 | .catch(error => t.end(error))
132 | })
133 |
134 | test.cb('visiting private page via client navigation redirects back to private page after signing in', t => {
135 | t.context.browser
136 | .goto('http://localhost:3000')
137 | .click('.private')
138 | // This button takes a bit to light up and become clickable
139 | .wait(3000)
140 | .click('#js-oauth-authorize-btn')
141 | .wait(2000)
142 | .evaluate(() => document.querySelector('body').innerText)
143 | .end()
144 | .then(pageText => {
145 | t.truthy(pageText.includes('hi next-github-auth-test-user'))
146 | t.truthy(pageText.includes('private page!'))
147 | t.end()
148 | })
149 | .catch(error => t.end(error))
150 | })
151 |
--------------------------------------------------------------------------------