├── .flowconfig
├── .gitignore
├── LICENSE
├── README.md
├── docs
├── img
│ └── examples-getting-started.png
└── index.html
├── example
├── README.md
├── index.js
├── templates
│ ├── README.md
│ ├── _layouts
│ │ └── email-transactional.html
│ ├── welcome-css-preprocessor
│ │ ├── email.html
│ │ ├── email.scss
│ │ └── index.js
│ ├── welcome-localized-simple
│ │ ├── email-en.html
│ │ ├── email-fr.html
│ │ └── index.js
│ ├── welcome-multi-channels
│ │ ├── email.html
│ │ └── index.js
│ └── welcome-simple.js
└── util.js
├── index.js
├── package.json
├── types.js
└── yarn.lock
/.flowconfig:
--------------------------------------------------------------------------------
1 | [ignore]
2 |
3 | [include]
4 |
5 | [libs]
6 |
7 | [options]
8 | module.ignore_non_literal_requires=true
9 | suppress_comment= \\(.\\|\n\\)*\\$FlowIgnore
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | yarn-error.log
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 David Brown
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Template plugin for Notif.me SDK .
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | - [Features](#features)
19 | - [Getting started](#getting-started)
20 | - [How to use](#how-to-use)
21 | - [Contributing](#contributing)
22 | - [Need help? Found a bug?](#need-help-found-a-bug)
23 |
24 | ## Features
25 |
26 | * **All your notifications in one place** — Define all your `email`, `sms`, `push`, and `webpush` templates in one folder :thumbsup:
27 |
28 | * **Choose your template engine** — `facebook/react`, `mozilla/nunjucks`, `handlebars.js`, `mustache.js`, `lodash`, `underscore`, `marko`, `doT`, `swig`, `linkedin/dustjs`, `twig.js`, `ejs`... and many more. Literally the one you want :dancer:
29 |
30 | * **Complete control** — No magic: you define all the behaviours you need (layouts, CSS preprocessor...) :rocket:
31 |
32 | * **No dependencies** — Lightning fast installation :zap:
33 |
34 | * **Localization** — Easily implement i18n/l10n for all your notifications :globe_with_meridians:
35 |
36 | * **CSS inlining** — Add [Juice](https://github.com/Automattic/juice) to your dependencies and the CSS in your emails will automatically be inlined :ribbon:
37 |
38 | * **MIT license** — Use it like you want.
39 |
40 | ## Getting Started
41 |
42 | ```shell
43 | $ yarn add notifme-template
44 | ```
45 |
46 | ```javascript
47 | // Example with nunjucks template engine ($ yarn add nunjucks)
48 | const nunjucks = require('nunjucks')
49 | const getRenderer = require('notifme-template')
50 |
51 | const render = getRenderer(nunjucks.renderString, './templates')
52 |
53 | const data = {user: {firstname: 'John', email: 'john@example.com', ...}}
54 | render('welcome', data, 'en-US').then((notification) => {
55 | // Send the notification on its channels
56 | })
57 | ```
58 |
59 | ```javascript
60 | // ./templates/welcome.js
61 | module.exports = () => ({
62 | name: 'welcome',
63 | title: 'Welcome {{user.firstname}}',
64 | version: 1,
65 | channels: {
66 | sms: {
67 | from: '{{smsFrom}}',
68 | to: '{{user.phone}}',
69 | text: "Hi {{user.firstname}}, we're very happy to welcome you on board!"
70 | },
71 | email: {
72 | from: '{{emailFrom}}',
73 | to: '{{user.email}}',
74 | subject: 'Welcome {{user.firstname}}',
75 | html: `{% extends "templates/_layouts/email-transactional.html" %}
76 | {% block content %}
77 | Hi {{user.firstname}},
78 | We're very happy to welcome you on board.
79 | See you soon!
80 | {% endblock %}`
81 | },
82 | push: {
83 | registrationToken: '{{user.pushToken}}',
84 | title: 'Welcome {{user.firstname}}',
85 | body: "Hi {{user.firstname}}, we're very happy to welcome you on board"
86 | }
87 | },
88 | sampleData: {
89 | smsFrom: 'Notifme',
90 | emailFrom: '"David, Notif.me team" ',
91 | user: {
92 | firstname: 'John',
93 | email: 'john@example.com',
94 | phone: '+15000000001',
95 | pushToken: 'xxxxx'
96 | }
97 | }
98 | })
99 | ```
100 |
101 | See a [complete working example](https://github.com/notifme/notifme-template/tree/master/example) for more details.
102 |
103 | ## How to use
104 |
105 | ### Constructor options
106 |
107 | ```javascript
108 | const getRenderer = require('notifme-template')
109 |
110 | const render = getRenderer(/* renderer, folder, options */)
111 | ```
112 |
113 | | Argument name | Type | Required | Description |
114 | | --- | --- | --- | --- |
115 | | `renderer` | `Function` | `true` | Template engine function to use. It must implement (templateName: `string`, data: `Object`) => `string` | `Promise`. |
116 | | `folder` | `string` | `true` | The path to the folder containing all [your templates](#template-declaration). |
117 | | `options` | `Object` | `false` | See [options definition](https://github.com/notifme/notifme-template/blob/master/types.js#L6-L22). |
118 |
119 | This returns the `render` function [documented below](#render-method).
120 |
121 | ### Template declaration
122 |
123 | ```
124 | project/
125 | │
126 | └───templates/ <= you can place this folder where you want and choose its name
127 | │ template1.js
128 | │
129 | └───template2/
130 | │ index.js
131 | ```
132 |
133 | With the structure above, you will have two templates `template1` and `template2`. `notifme-template` makes a dynamic require ``` require(`${path.resolve(folder, templateName)}`) ``` the first time you call them.
134 |
135 | Each template must export a `function` implementing: `(lang: string) => TemplateType | Promise`. See [TemplateType definition](https://github.com/notifme/notifme-template/blob/master/types.js#L24-L119) and [examples](https://github.com/notifme/notifme-template/tree/master/example) for more details.
136 |
137 | ### `render` method
138 |
139 | ```javascript
140 | render(/* templateName, data, lang */).then((notification) => {
141 | // Send the notification on its channels
142 | })
143 | ```
144 |
145 | | Argument name | Type | Required | Description |
146 | | --- | --- | --- | --- |
147 | | `templateName` | `string` | `true` | The template name to use. |
148 | | `data` | `Object` | `true` | Data to use when rendering the notification. |
149 | | `lang` | `string` | `false` | User language. |
150 |
151 | This returns a `Promise` resolving with [the rendered template](https://github.com/notifme/notifme-template/blob/master/types.js#L24-L119).
152 |
153 | ## Contributing
154 |
155 | [](https://github.com/standard/standard)
156 | [](https://flow.org/)
157 |
158 | Contributions are very welcome!
159 |
160 | To get started: [fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device.
161 |
162 | ```shell
163 | $ git clone git@github.com:[YOUR_USERNAME]/notifme-template.git && cd notifme-template
164 | $ yarn install
165 | ```
166 |
167 | ## Need Help? Found a bug?
168 |
169 | [Submit an issue](https://github.com/notifme/notifme-template/issues) to the project Github if you need any help.
170 | And, of course, feel free to submit pull requests with bug fixes or changes.
171 |
--------------------------------------------------------------------------------
/docs/img/examples-getting-started.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/notifme/notifme-template/1b5f50a798e90b35315448f4648a22eefdf82d58/docs/img/examples-getting-started.png
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | notifme/notifme-sdk: A Node.js library to send all kinds of transactional notifications.
9 |
10 |
11 |
12 |
13 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | Template plugin for Notif.me SDK .
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | Features
46 |
47 |
48 | All your notifications in one place — Define all your email
, sms
, push
, and webpush
templates in one folder
49 |
50 |
51 | Choose your template engine — facebook/react
, mozilla/nunjucks
, handlebars.js
, mustache.js
, lodash
, underscore
, marko
, doT
, swig
, linkedin/dustjs
, twig.js
, ejs
... and many more. Literally the one you want
52 |
53 |
54 | Complete control — No magic: you define all the behaviours you need (layouts, CSS preprocessor...)
55 |
56 |
57 | No dependencies — Lightning fast installation
58 |
59 |
60 | Localization — Easily implement i18n/l10n for all your notifications
61 |
62 |
63 | CSS inlining — Add Juice to your dependencies and the CSS in your emails will automatically be inlined
64 |
65 |
66 | MIT license — Use it like you want.
67 |
68 |
69 |
70 |
71 | See complete documentation on GitHub
72 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | ## Examples
2 |
3 | This folder contains examples of ways to use `notifme-template`.
4 |
5 | `index.js` contains the code that instanciates the renderer, renders all the templates defined in the `templates` folder, and then send then to a devtool called [Notification Catcher](https://github.com/notifme/catcher).
6 |
7 | It uses [mozilla/nunjucks](https://github.com/mozilla/nunjucks) as template engine.
8 | Go to the [template folder](https://github.com/notifme/notifme-template/tree/master/example/templates) to check them out.
9 |
10 |
11 | How to run
12 |
13 | ```shell
14 | $ git clone https://github.com/notifme/notifme-template.git && cd notifme-template
15 | $ yarn install
16 | $ yarn run notification-catcher
17 | $ # In a new terminal:
18 | $ yarn run dev
19 | $ # Open http://localhost:1080
20 | ```
21 |
22 | You should see the [Notification Catcher](https://github.com/notifme/catcher) running:
23 |
24 | 
25 |
--------------------------------------------------------------------------------
/example/index.js:
--------------------------------------------------------------------------------
1 | const nunjucks = require('nunjucks')
2 | const NotifmeSdk = require('notifme-sdk').default
3 | const getRenderer = require('..') // notifme-template
4 |
5 | // Renderer (Example with nunjucks)
6 | nunjucks.configure({autoescape: false})
7 | const render = getRenderer(nunjucks.renderString, 'example/templates')
8 |
9 | // Notif.me sender
10 | const notifmeSdk = new NotifmeSdk({
11 | useNotificationCatcher: true
12 | })
13 |
14 | // Render a template and send it
15 | const data = {
16 | smsFrom: 'Notifme',
17 | emailFrom: '"David, Notif.me team" ',
18 | user: {
19 | firstname: 'John',
20 | email: 'john@example.com',
21 | phone: '+15000000001',
22 | pushToken: 'xxxxx',
23 | webpush: {
24 | endpoint: 'xxxxx',
25 | keys: {
26 | auth: 'xxxxx',
27 | p256dh: 'xxxxx'
28 | }
29 | }
30 | }
31 | }
32 |
33 | // Multi-channels example
34 | render('welcome-multi-channels', data).then((notification) => {
35 | // Then select channels...
36 | // (you can do things like: if push or webpush exists, then don't send an SMS)
37 | notifmeSdk.send(notification.channels)
38 | })
39 |
40 | // Simple multi-channels example
41 | render('welcome-simple', data).then((notification) => {
42 | notifmeSdk.send(notification.channels)
43 | })
44 |
45 | // Localized example
46 | render('welcome-localized-simple', data, 'fr').then((notification) => {
47 | notifmeSdk.send(notification.channels)
48 | })
49 |
50 | // Example with a CSS preprocessor
51 | render('welcome-css-preprocessor', data).then((notification) => {
52 | notifmeSdk.send(notification.channels)
53 | })
54 |
--------------------------------------------------------------------------------
/example/templates/README.md:
--------------------------------------------------------------------------------
1 | ## Templates
2 |
3 | In this folder you will find four different templates:
4 |
5 | * **welcome-simple** — This is a simple multi-channels template.
6 |
7 | * **welcome-multi-channels** — Same than `welcome-simple` but loading email html from an external file.
8 |
9 | * **welcome-css-preprocessor** — Example with [SASS](http://sass-lang.com/) as CSS preprocessor. You can also use less, stylus, styl, or any other preprocessor you want.
10 |
11 | * **welcome-localized-simple** — Simple example of a localized template. You can also add your favorite l10n library.
12 |
--------------------------------------------------------------------------------
/example/templates/_layouts/email-transactional.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
17 |
18 |
24 |
25 |
33 |
40 |
43 |
48 |
49 |
50 |
51 |
56 |
57 |
58 |
59 |
60 |
61 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 | {% block content %}{% endblock %}
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
104 |
105 |
106 |
107 |
108 |
109 |
112 |
113 |
114 |
115 |
--------------------------------------------------------------------------------
/example/templates/welcome-css-preprocessor/email.html:
--------------------------------------------------------------------------------
1 | {% extends "example/templates/_layouts/email-transactional.html" %}
2 |
3 | {% block content %}
4 |
7 |
8 |
9 | Hi {{user.firstname}} ,
10 | We're very happy to welcome you on board.
11 | See you soon!
12 |
13 | {% endblock %}
14 |
--------------------------------------------------------------------------------
/example/templates/welcome-css-preprocessor/email.scss:
--------------------------------------------------------------------------------
1 | .content {
2 | text-align: center;
3 |
4 | .username {
5 | color: red;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/example/templates/welcome-css-preprocessor/index.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 | /* :: import type {TemplateType} from '../../../types' */ // notifme-template/types
3 |
4 | const sass = require('node-sass')
5 | const path = require('path')
6 | const readFile = require('../../util').readFile
7 |
8 | function getCss (file) {
9 | return new Promise((resolve, reject) => {
10 | sass.render({file}, (error, result) => {
11 | error ? reject(error) : resolve(result.css.toString('utf8'))
12 | })
13 | })
14 | }
15 |
16 | function getTemplate () {
17 | return Promise.all([
18 | readFile(path.join(__dirname, './email.html')),
19 | getCss(path.join(__dirname, './email.scss'))
20 | ]).then(([emailHtml, emailScss]) =>
21 | constructWelcomeTemplate(`{% set extracss = "${emailScss}" %}\n\n${emailHtml}`)
22 | )
23 | }
24 |
25 | function constructWelcomeTemplate (emailHtml) /* : TemplateType */ {
26 | return {
27 | name: 'welcome-css-preprocessor',
28 | title: 'Welcome {{user.firstname}}',
29 | version: 1,
30 | channels: {
31 | email: {
32 | from: '{{emailFrom}}',
33 | to: '{{user.email}}',
34 | subject: '[CSS] Welcome {{user.firstname}}',
35 | html: emailHtml
36 | }
37 | },
38 | sampleData: {
39 | emailFrom: '"David, Notif.me team" ',
40 | user: {
41 | firstname: 'John',
42 | email: 'john@example.com'
43 | }
44 | }
45 | }
46 | }
47 |
48 | module.exports = getTemplate
49 |
--------------------------------------------------------------------------------
/example/templates/welcome-localized-simple/email-en.html:
--------------------------------------------------------------------------------
1 | {% extends "example/templates/_layouts/email-transactional.html" %}
2 |
3 | {% block content %}
4 | Hi {{user.firstname}},
5 | We're very happy to welcome you on board.
6 | See you soon!
7 | {% endblock %}
8 |
--------------------------------------------------------------------------------
/example/templates/welcome-localized-simple/email-fr.html:
--------------------------------------------------------------------------------
1 | {% extends "example/templates/_layouts/email-transactional.html" %}
2 |
3 | {% block content %}
4 | Bonjour {{user.firstname}},
5 | Tout l'équipage vous souhaite la bienvenue à bord.
6 | A bientôt!
7 | {% endblock %}
8 |
--------------------------------------------------------------------------------
/example/templates/welcome-localized-simple/index.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 | /* :: import type {TemplateType} from '../../../types' */ // notifme-template/types
3 |
4 | const path = require('path')
5 | const readFile = require('../../util').readFile
6 |
7 | const l10n = {
8 | 'email-template': {
9 | en: './email-en.html',
10 | fr: './email-fr.html'
11 | },
12 | 'email.subject': {
13 | en: '[EN] Welcome {{user.firstname}}',
14 | fr: '[FR] Bienvenue {{user.firstname}}'
15 | }
16 | }
17 | function _ (key, lang) {
18 | return l10n[key] ? l10n[key][lang] || l10n[key][Object.keys(l10n[key])[0]] : ''
19 | }
20 |
21 | function getTemplate (lang /* : string */) {
22 | return readFile(path.join(__dirname, _('email-template', lang)))
23 | .then((emailHtml) => constructWelcomeTemplate(lang, emailHtml))
24 | }
25 |
26 | function constructWelcomeTemplate (lang, emailHtml) /* : TemplateType */ {
27 | return {
28 | name: 'welcome-localized-simple',
29 | title: 'Welcome {{user.firstname}}',
30 | version: 1,
31 | channels: {
32 | email: {
33 | from: '{{emailFrom}}',
34 | to: '{{user.email}}',
35 | subject: _('email.subject', lang),
36 | html: emailHtml
37 | }
38 | },
39 | sampleData: {
40 | emailFrom: '"David, Notif.me team" ',
41 | user: {
42 | firstname: 'John',
43 | email: 'john@example.com'
44 | }
45 | }
46 | }
47 | }
48 |
49 | module.exports = getTemplate
50 |
--------------------------------------------------------------------------------
/example/templates/welcome-multi-channels/email.html:
--------------------------------------------------------------------------------
1 | {% extends "example/templates/_layouts/email-transactional.html" %}
2 |
3 | {% block content %}
4 | Hi {{user.firstname}},
5 | We're very happy to welcome you on board.
6 | See you soon!
7 | {% endblock %}
8 |
--------------------------------------------------------------------------------
/example/templates/welcome-multi-channels/index.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 | /* :: import type {TemplateType} from '../../../types' */ // notifme-template/types
3 |
4 | const path = require('path')
5 | const readFile = require('../../util').readFile
6 |
7 | function getTemplate () {
8 | return readFile(path.join(__dirname, './email.html'))
9 | .then((emailHtml) => constructWelcomeTemplate(emailHtml))
10 | }
11 |
12 | function constructWelcomeTemplate (emailHtml) /* : TemplateType */ {
13 | return {
14 | name: 'welcome-multi-channels',
15 | title: 'Welcome {{user.firstname}}',
16 | version: 1,
17 | channels: {
18 | sms: {
19 | from: '{{smsFrom}}',
20 | to: '{{user.phone}}',
21 | text: "[Multi-channel] Hi {{user.firstname}}, we're very happy to welcome you on board!"
22 | },
23 | email: {
24 | from: '{{emailFrom}}',
25 | to: '{{user.email}}',
26 | subject: '[Multi-channel] Welcome {{user.firstname}}',
27 | html: emailHtml
28 | },
29 | push: {
30 | registrationToken: '{{user.pushToken}}',
31 | title: '[Multi-channel] Welcome {{user.firstname}}',
32 | body: "Hi {{user.firstname}}, we're very happy to welcome you on board"
33 | },
34 | webpush: {
35 | subscription: {
36 | endpoint: '{{user.webpush.endpoint}}',
37 | keys: {
38 | auth: '{{user.webpush.keys.auth}}',
39 | p256dh: '{{user.webpush.keys.auth}}'
40 | }
41 | },
42 | title: '[Multi-channel] Welcome {{user.firstname}}',
43 | body: "Hi {{user.firstname}}, we're very happy to welcome you on board",
44 | icon: 'https://fakeimg.pl/100x100/',
45 | image: 'https://fakeimg.pl/400x240/',
46 | actions: [
47 | {
48 | action: 'share',
49 | title: 'Share with your friends',
50 | icon: 'https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/png/512/android-share.png'
51 | }
52 | ],
53 | requireInteraction: true,
54 | redirects: {
55 | 'default': 'https://www.notif.me',
56 | share: 'https://www.notif.me/?click=share'
57 | }
58 | }
59 | },
60 | sampleData: {
61 | smsFrom: 'Notifme',
62 | emailFrom: '"David, Notif.me team" ',
63 | user: {
64 | firstname: 'John',
65 | email: 'john@example.com',
66 | phone: '+15000000001',
67 | pushToken: 'xxxxx',
68 | webpush: {
69 | endpoint: 'xxxxx',
70 | keys: {
71 | auth: 'xxxxx',
72 | p256dh: 'xxxxx'
73 | }
74 | }
75 | }
76 | }
77 | }
78 | }
79 |
80 | module.exports = getTemplate
81 |
--------------------------------------------------------------------------------
/example/templates/welcome-simple.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 | /* :: import type {TemplateType} from '../../types' */ // notifme-template/types
3 |
4 | function getTemplate () /* : TemplateType */ {
5 | return {
6 | name: 'welcome-simple',
7 | title: 'Welcome {{user.firstname}}',
8 | version: 1,
9 | channels: {
10 | sms: {
11 | from: '{{smsFrom}}',
12 | to: '{{user.phone}}',
13 | text: "[Simple] Hi {{user.firstname}}, we're very happy to welcome you on board!"
14 | },
15 | email: {
16 | from: '{{emailFrom}}',
17 | to: '{{user.email}}',
18 | subject: '[Simple] Welcome {{user.firstname}}',
19 | html: `{% extends "example/templates/_layouts/email-transactional.html" %}
20 | {% block content %}
21 | Hi {{user.firstname}},
22 | We're very happy to welcome you on board.
23 | See you soon!
24 | {% endblock %}`
25 | },
26 | push: {
27 | registrationToken: '{{user.pushToken}}',
28 | title: '[Simple] Welcome {{user.firstname}}',
29 | body: "Hi {{user.firstname}}, we're very happy to welcome you on board"
30 | },
31 | webpush: {
32 | subscription: {
33 | endpoint: '{{user.webpush.endpoint}}',
34 | keys: {
35 | auth: '{{user.webpush.keys.auth}}',
36 | p256dh: '{{user.webpush.keys.auth}}'
37 | }
38 | },
39 | title: '[Simple] Welcome {{user.firstname}}',
40 | body: "Hi {{user.firstname}}, we're very happy to welcome you on board",
41 | icon: 'https://fakeimg.pl/100x100/',
42 | image: 'https://fakeimg.pl/400x240/',
43 | actions: [
44 | {
45 | action: 'share',
46 | title: 'Share with your friends',
47 | icon: 'https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/png/512/android-share.png'
48 | }
49 | ],
50 | requireInteraction: true,
51 | redirects: {
52 | 'default': 'https://www.notif.me',
53 | share: 'https://www.notif.me/?click=share'
54 | }
55 | }
56 | },
57 | sampleData: {
58 | smsFrom: 'Notifme',
59 | emailFrom: '"David, Notif.me team" ',
60 | user: {
61 | firstname: 'John',
62 | email: 'john@example.com',
63 | phone: '+15000000001',
64 | pushToken: 'xxxxx',
65 | webpush: {
66 | endpoint: 'xxxxx',
67 | keys: {
68 | auth: 'xxxxx',
69 | p256dh: 'xxxxx'
70 | }
71 | }
72 | }
73 | }
74 | }
75 | }
76 |
77 | module.exports = getTemplate
78 |
--------------------------------------------------------------------------------
/example/util.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 | const fs = require('fs')
3 |
4 | function readFile (filePath /* : string */) {
5 | return new Promise((resolve, reject) => {
6 | fs.readFile(filePath, (error, content) => {
7 | error ? reject(error) : resolve(content.toString('utf8'))
8 | })
9 | })
10 | }
11 |
12 | module.exports = {
13 | readFile
14 | }
15 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 | /* :: import type {RendererType, OptionsType, TemplateType} from './types' */
3 |
4 | const path = require('path')
5 | let juice
6 | try {
7 | juice = require('juice')
8 | } catch (error) {
9 | juice = null
10 | }
11 |
12 | function resolveObjectProperties (globalResolve /* : Function */, promiseObject /* : {[string]: Promise} */) {
13 | Promise.all(Object.keys(promiseObject).map((key) => {
14 | return new Promise((resolve) => {
15 | promiseObject[key].then((promise) => resolve({key, promise}))
16 | })
17 | })).then((keyPromises) => globalResolve(keyPromises.reduce((acc, keyPromise) => {
18 | acc[keyPromise.key] = keyPromise.promise
19 | return acc
20 | }, {})))
21 | }
22 |
23 | function render (renderer /* : RendererType */, chunk /* : any */, data /* : Object */) /* : Promise */ {
24 | return new Promise((resolve) => {
25 | if (typeof chunk === 'string') {
26 | Promise.resolve(renderer(chunk, data)).then(resolve)
27 | } else if (Array.isArray(chunk)) {
28 | Promise.all(chunk.map((value) => render(renderer, value, data))).then(resolve)
29 | } else if (chunk !== null && typeof chunk === 'object') {
30 | resolveObjectProperties(resolve, Object.keys(chunk).reduce((acc, key) => {
31 | acc[key] = render(renderer, chunk[key], data)
32 | return acc
33 | }, {}))
34 | } else {
35 | resolve(chunk)
36 | }
37 | })
38 | }
39 |
40 | const templates = {}
41 | function getTemplateFromName (templateName /* : string */, folder /* : string */, lang /* : string */) {
42 | if (!templates[templateName]) {
43 | templates[templateName] = {}
44 | }
45 | if (!templates[templateName][lang]) {
46 | const getTemplate = require(`${path.resolve(folder, templateName)}`)
47 | templates[templateName][lang] = getTemplate(lang)
48 | }
49 | return Promise.resolve(templates[templateName][lang])
50 | }
51 |
52 | function inlineCss (notif /* : TemplateType */, juiceOptions /* : $PropertyType */) {
53 | if (juice && juiceOptions !== false && notif && notif.channels && notif.channels.email && notif.channels.email.html) {
54 | // $FlowIgnore
55 | notif.channels.email.html = juice(notif.channels.email.html, Object.assign({}, {removeStyleTags: false}, juiceOptions))
56 | }
57 | return notif
58 | }
59 |
60 | function filterChannelsWithEmptyContact (notif /* : TemplateType */) {
61 | if (notif && notif.channels) {
62 | if (notif.channels.email && !notif.channels.email.to) {
63 | delete notif.channels.email
64 | }
65 | if (notif.channels.sms && !notif.channels.sms.to) {
66 | delete notif.channels.sms
67 | }
68 | if (notif.channels.push && !notif.channels.push.registrationToken) {
69 | delete notif.channels.push
70 | }
71 | if (notif.channels.webpush && (!notif.channels.webpush.subscription || !notif.channels.webpush.subscription.endpoint)) {
72 | delete notif.channels.webpush
73 | }
74 | }
75 | return notif
76 | }
77 |
78 | module.exports = (renderer /* : RendererType */, folder /* : string */, options /* : OptionsType */ = {}) => {
79 | return (templateName /* : string */, data /* : Object */, lang /* : string */ = '') /* : Promise */ => {
80 | return new Promise((resolve) => {
81 | getTemplateFromName(templateName, folder, lang).then((template) => {
82 | render(renderer, template, data).then((notification) => {
83 | resolve(inlineCss(filterChannelsWithEmptyContact(notification), options.juice))
84 | })
85 | })
86 | })
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "notifme-template",
3 | "version": "1.0.0",
4 | "description": "A Node.js library to easily handle all your notification templates",
5 | "main": "index.js",
6 | "repository": "https://github.com/notifme/notifme-template",
7 | "author": "Notif.me",
8 | "license": "MIT",
9 | "scripts": {
10 | "dev": "node example/index.js",
11 | "lint": "yarn run flow && standard",
12 | "run-catcher": "notification-catcher",
13 | "test": "yarn run lint"
14 | },
15 | "devDependencies": {
16 | "flow-bin": "^0.53.1",
17 | "node-sass": "^4.5.3",
18 | "notification-catcher": "^1.0.3",
19 | "notifme-sdk": "^1.0.1",
20 | "nunjucks": "^3.0.1",
21 | "standard": "^10.0.3"
22 | },
23 | "optionalDependencies": {
24 | "juice": "^4.1.0"
25 | },
26 | "files": [
27 | "index.js",
28 | "types.js"
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/types.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 |
3 | /* ::
4 | export type RendererType = (string, Object) => string | Promise
5 |
6 | export type OptionsType = {
7 | juice?: false | { // CSS inliner (see https://github.com/Automattic/juice)
8 | applyAttributesTableElements?: boolean,
9 | applyHeightAttributes?: boolean,
10 | applyStyleTags?: boolean,
11 | applyWidthAttributes?: boolean,
12 | extraCss?: string,
13 | insertPreservedExtraCss?: boolean,
14 | inlinePseudoElements?: boolean,
15 | preserveFontFaces?: boolean,
16 | preserveImportant?: boolean,
17 | preserveMediaQueries?: boolean,
18 | removeStyleTags?: boolean,
19 | webResources?: Object,
20 | xmlMode?: boolean
21 | }
22 | }
23 |
24 | export type TemplateType = {
25 | name: string,
26 | title: string,
27 | version: number,
28 | channels: {
29 | email?: {
30 | from: string,
31 | to: string,
32 | subject: string,
33 | cc?: string[],
34 | bcc?: string[],
35 | replyTo?: string,
36 | text?: string,
37 | html?: string,
38 | attachments?: {
39 | contentType: string,
40 | filename: string,
41 | content: string | Buffer
42 | }[],
43 | headers?: {[string]: string | number | boolean}
44 | },
45 | sms?: {
46 | from: string,
47 | to: string,
48 | text: string,
49 | type?: 'text' | 'unicode', // Defaults to 'text'
50 | nature?: 'marketing' | 'transactional',
51 | ttl?: number,
52 | messageClass?: 0 | 1 | 2 | 3
53 | },
54 | push?: {
55 | registrationToken: string,
56 | title: string,
57 | body: string,
58 | custom?: Object,
59 | priority?: 'high' | 'normal', // gcm, apn. Will be translated to 10 and 5 for apn. Defaults to 'high'
60 | collapseKey?: string, // gcm for android, used as collapseId in apn
61 | contentAvailable?: boolean, // gcm for android
62 | delayWhileIdle?: boolean, // gcm for android
63 | restrictedPackageName?: string, // gcm for android
64 | dryRun?: boolean, // gcm for android
65 | icon?: string, // gcm for android
66 | tag?: string, // gcm for android
67 | color?: string, // gcm for android
68 | clickAction?: string, // gcm for android. In ios, category will be used if not supplied
69 | locKey?: string, // gcm, apn
70 | bodyLocArgs?: string, // gcm, apn
71 | titleLocKey?: string, // gcm, apn
72 | titleLocArgs?: string, // gcm, apn
73 | retries?: number, // gcm, apn
74 | encoding?: string, // apn
75 | badge?: number, // gcm for ios, apn
76 | sound?: string, // gcm, apn
77 | alert?: string | Object, // apn, will take precedence over title and body
78 | titleLocKey?: string, // apn and gcm for ios
79 | titleLocArgs?: string, // apn and gcm for ios
80 | launchImage?: string, // apn and gcm for ios
81 | action?: string, // apn and gcm for ios
82 | topic?: string, // apn and gcm for ios
83 | category?: string, // apn and gcm for ios
84 | contentAvailable?: string, // apn and gcm for ios
85 | mdm?: string, // apn and gcm for ios
86 | urlArgs?: string, // apn and gcm for ios
87 | truncateAtWordEnd?: boolean, // apn and gcm for ios
88 | mutableContent?: number, // apn
89 | expiry?: number, // seconds
90 | timeToLive?: number, // if both expiry and timeToLive are given, expiry will take precedency
91 | headers?: {[string]: string | number | boolean}, // wns
92 | launch?: string, // wns
93 | duration?: string, // wns
94 | consolidationKey?: string // ADM
95 | },
96 | webpush?: {
97 | subscription: {
98 | endpoint: string,
99 | keys: {
100 | auth: string,
101 | p256dh: string
102 | }
103 | },
104 | title: string, // C22 F22 S6
105 | body: string, // C22 F22 S6
106 | actions?: {
107 | action: string,
108 | title: string,
109 | icon?: string
110 | }[], // C53
111 | badge?: string, // C53
112 | dir?: 'auto' | 'rtl' | 'ltr', // C22 F22 S6
113 | icon?: string, // C22 F22
114 | image?: string, // C55 F22
115 | redirects?: {[key: string]: string}, // added for local tests
116 | requireInteraction?: boolean // C22 F52
117 | }
118 | }
119 | }
120 | */
121 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | a-sync-waterfall@^1.0.0:
6 | version "1.0.0"
7 | resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz#38e8319d79379e24628845b53b96722b29e0e47c"
8 |
9 | abbrev@1:
10 | version "1.1.0"
11 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
12 |
13 | accepts@1.3.3:
14 | version "1.3.3"
15 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
16 | dependencies:
17 | mime-types "~2.1.11"
18 | negotiator "0.6.1"
19 |
20 | accepts@~1.2.12:
21 | version "1.2.13"
22 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.2.13.tgz#e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea"
23 | dependencies:
24 | mime-types "~2.1.6"
25 | negotiator "0.5.3"
26 |
27 | acorn-jsx@^3.0.0:
28 | version "3.0.1"
29 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
30 | dependencies:
31 | acorn "^3.0.4"
32 |
33 | acorn@^3.0.4:
34 | version "3.3.0"
35 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
36 |
37 | acorn@^5.1.1:
38 | version "5.1.1"
39 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75"
40 |
41 | addressparser@~1.0.1:
42 | version "1.0.1"
43 | resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746"
44 |
45 | after@0.8.2:
46 | version "0.8.2"
47 | resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
48 |
49 | ajv-keywords@^1.0.0:
50 | version "1.5.1"
51 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
52 |
53 | ajv@^4.7.0, ajv@^4.9.1:
54 | version "4.11.8"
55 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
56 | dependencies:
57 | co "^4.6.0"
58 | json-stable-stringify "^1.0.1"
59 |
60 | amdefine@>=0.0.4:
61 | version "1.0.1"
62 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
63 |
64 | ansi-escapes@^1.1.0:
65 | version "1.4.0"
66 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
67 |
68 | ansi-regex@^2.0.0:
69 | version "2.1.1"
70 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
71 |
72 | ansi-regex@^3.0.0:
73 | version "3.0.0"
74 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
75 |
76 | ansi-styles@^2.2.1:
77 | version "2.2.1"
78 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
79 |
80 | anymatch@^1.3.0:
81 | version "1.3.2"
82 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
83 | dependencies:
84 | micromatch "^2.1.5"
85 | normalize-path "^2.0.0"
86 |
87 | apn@^2.1.1:
88 | version "2.1.5"
89 | resolved "https://registry.yarnpkg.com/apn/-/apn-2.1.5.tgz#5e0b7193c646a55fa165874118d9af7f7ccfd6db"
90 | dependencies:
91 | debug "^2.6.8"
92 | http2 "https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz"
93 | jsonwebtoken "^7.4.1"
94 | node-forge "^0.7.1"
95 | verror "^1.10.0"
96 |
97 | aproba@^1.0.3:
98 | version "1.1.2"
99 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1"
100 |
101 | are-we-there-yet@~1.1.2:
102 | version "1.1.4"
103 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
104 | dependencies:
105 | delegates "^1.0.0"
106 | readable-stream "^2.0.6"
107 |
108 | argparse@^1.0.7:
109 | version "1.0.9"
110 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
111 | dependencies:
112 | sprintf-js "~1.0.2"
113 |
114 | arr-diff@^2.0.0:
115 | version "2.0.0"
116 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
117 | dependencies:
118 | arr-flatten "^1.0.1"
119 |
120 | arr-flatten@^1.0.1:
121 | version "1.1.0"
122 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
123 |
124 | array-find-index@^1.0.1:
125 | version "1.0.2"
126 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
127 |
128 | array-flatten@1.1.1:
129 | version "1.1.1"
130 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
131 |
132 | array-union@^1.0.1:
133 | version "1.0.2"
134 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
135 | dependencies:
136 | array-uniq "^1.0.1"
137 |
138 | array-uniq@^1.0.1:
139 | version "1.0.3"
140 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
141 |
142 | array-unique@^0.2.1:
143 | version "0.2.1"
144 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
145 |
146 | array.prototype.find@^2.0.1:
147 | version "2.0.4"
148 | resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90"
149 | dependencies:
150 | define-properties "^1.1.2"
151 | es-abstract "^1.7.0"
152 |
153 | arraybuffer.slice@0.0.6:
154 | version "0.0.6"
155 | resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
156 |
157 | arrify@^1.0.0:
158 | version "1.0.1"
159 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
160 |
161 | asap@^2.0.3:
162 | version "2.0.6"
163 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
164 |
165 | asn1.js@^4.8.1:
166 | version "4.9.1"
167 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
168 | dependencies:
169 | bn.js "^4.0.0"
170 | inherits "^2.0.1"
171 | minimalistic-assert "^1.0.0"
172 |
173 | asn1@~0.2.3:
174 | version "0.2.3"
175 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
176 |
177 | assert-plus@1.0.0, assert-plus@^1.0.0:
178 | version "1.0.0"
179 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
180 |
181 | assert-plus@^0.2.0:
182 | version "0.2.0"
183 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
184 |
185 | async-each@^1.0.0:
186 | version "1.0.1"
187 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
188 |
189 | async-foreach@^0.1.3:
190 | version "0.1.3"
191 | resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
192 |
193 | async@1.5.1:
194 | version "1.5.1"
195 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.1.tgz#b05714f4b11b357bf79adaffdd06da42d0766c10"
196 |
197 | async@^2.1.2:
198 | version "2.5.0"
199 | resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d"
200 | dependencies:
201 | lodash "^4.14.0"
202 |
203 | async@~1.0.0:
204 | version "1.0.0"
205 | resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
206 |
207 | asynckit@^0.4.0:
208 | version "0.4.0"
209 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
210 |
211 | aws-sign2@~0.6.0:
212 | version "0.6.0"
213 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
214 |
215 | aws4@^1.2.1:
216 | version "1.6.0"
217 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
218 |
219 | babel-code-frame@^6.16.0:
220 | version "6.26.0"
221 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
222 | dependencies:
223 | chalk "^1.1.3"
224 | esutils "^2.0.2"
225 | js-tokens "^3.0.2"
226 |
227 | babel-runtime@6.25.0:
228 | version "6.25.0"
229 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.25.0.tgz#33b98eaa5d482bb01a8d1aa6b437ad2b01aec41c"
230 | dependencies:
231 | core-js "^2.4.0"
232 | regenerator-runtime "^0.10.0"
233 |
234 | backo2@1.0.2:
235 | version "1.0.2"
236 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
237 |
238 | balanced-match@^1.0.0:
239 | version "1.0.0"
240 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
241 |
242 | base64-arraybuffer@0.1.5:
243 | version "0.1.5"
244 | resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
245 |
246 | base64id@1.0.0:
247 | version "1.0.0"
248 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
249 |
250 | base64url@2.0.0, base64url@^2.0.0:
251 | version "2.0.0"
252 | resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb"
253 |
254 | bcrypt-pbkdf@^1.0.0:
255 | version "1.0.1"
256 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
257 | dependencies:
258 | tweetnacl "^0.14.3"
259 |
260 | better-assert@~1.0.0:
261 | version "1.0.2"
262 | resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
263 | dependencies:
264 | callsite "1.0.0"
265 |
266 | binary-extensions@^1.0.0:
267 | version "1.10.0"
268 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0"
269 |
270 | blob@0.0.4:
271 | version "0.0.4"
272 | resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
273 |
274 | block-stream@*:
275 | version "0.0.9"
276 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
277 | dependencies:
278 | inherits "~2.0.0"
279 |
280 | bn.js@^4.0.0:
281 | version "4.11.8"
282 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
283 |
284 | boolbase@~1.0.0:
285 | version "1.0.0"
286 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
287 |
288 | boom@2.x.x:
289 | version "2.10.1"
290 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
291 | dependencies:
292 | hoek "2.x.x"
293 |
294 | brace-expansion@^1.1.7:
295 | version "1.1.8"
296 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
297 | dependencies:
298 | balanced-match "^1.0.0"
299 | concat-map "0.0.1"
300 |
301 | braces@^1.8.2:
302 | version "1.8.5"
303 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
304 | dependencies:
305 | expand-range "^1.8.1"
306 | preserve "^0.2.0"
307 | repeat-element "^1.1.2"
308 |
309 | buffer-equal-constant-time@1.0.1:
310 | version "1.0.1"
311 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
312 |
313 | builtin-modules@^1.0.0, builtin-modules@^1.1.1:
314 | version "1.1.1"
315 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
316 |
317 | caller-path@^0.1.0:
318 | version "0.1.0"
319 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
320 | dependencies:
321 | callsites "^0.2.0"
322 |
323 | callsite@1.0.0:
324 | version "1.0.0"
325 | resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
326 |
327 | callsites@^0.2.0:
328 | version "0.2.0"
329 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
330 |
331 | camelcase-keys@^2.0.0:
332 | version "2.1.0"
333 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
334 | dependencies:
335 | camelcase "^2.0.0"
336 | map-obj "^1.0.0"
337 |
338 | camelcase@^2.0.0, camelcase@^2.0.1:
339 | version "2.1.1"
340 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
341 |
342 | camelcase@^3.0.0:
343 | version "3.0.0"
344 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
345 |
346 | caseless@~0.12.0:
347 | version "0.12.0"
348 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
349 |
350 | chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
351 | version "1.1.3"
352 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
353 | dependencies:
354 | ansi-styles "^2.2.1"
355 | escape-string-regexp "^1.0.2"
356 | has-ansi "^2.0.0"
357 | strip-ansi "^3.0.0"
358 | supports-color "^2.0.0"
359 |
360 | cheerio@^0.22.0:
361 | version "0.22.0"
362 | resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
363 | dependencies:
364 | css-select "~1.2.0"
365 | dom-serializer "~0.1.0"
366 | entities "~1.1.1"
367 | htmlparser2 "^3.9.1"
368 | lodash.assignin "^4.0.9"
369 | lodash.bind "^4.1.4"
370 | lodash.defaults "^4.0.1"
371 | lodash.filter "^4.4.0"
372 | lodash.flatten "^4.2.0"
373 | lodash.foreach "^4.3.0"
374 | lodash.map "^4.4.0"
375 | lodash.merge "^4.4.0"
376 | lodash.pick "^4.2.1"
377 | lodash.reduce "^4.4.0"
378 | lodash.reject "^4.4.0"
379 | lodash.some "^4.4.0"
380 |
381 | chokidar@^1.6.0:
382 | version "1.7.0"
383 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
384 | dependencies:
385 | anymatch "^1.3.0"
386 | async-each "^1.0.0"
387 | glob-parent "^2.0.0"
388 | inherits "^2.0.1"
389 | is-binary-path "^1.0.0"
390 | is-glob "^2.0.0"
391 | path-is-absolute "^1.0.0"
392 | readdirp "^2.0.0"
393 | optionalDependencies:
394 | fsevents "^1.0.0"
395 |
396 | circular-json@^0.3.1:
397 | version "0.3.3"
398 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
399 |
400 | cli-cursor@^1.0.1:
401 | version "1.0.2"
402 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
403 | dependencies:
404 | restore-cursor "^1.0.1"
405 |
406 | cli-width@^2.0.0:
407 | version "2.2.0"
408 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
409 |
410 | cliui@^3.0.3, cliui@^3.2.0:
411 | version "3.2.0"
412 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
413 | dependencies:
414 | string-width "^1.0.1"
415 | strip-ansi "^3.0.1"
416 | wrap-ansi "^2.0.0"
417 |
418 | co@^4.6.0:
419 | version "4.6.0"
420 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
421 |
422 | code-point-at@^1.0.0:
423 | version "1.1.0"
424 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
425 |
426 | colors@1.0.x:
427 | version "1.0.3"
428 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
429 |
430 | combined-stream@^1.0.5, combined-stream@~1.0.5:
431 | version "1.0.5"
432 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
433 | dependencies:
434 | delayed-stream "~1.0.0"
435 |
436 | commander@2.9.0:
437 | version "2.9.0"
438 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
439 | dependencies:
440 | graceful-readlink ">= 1.0.0"
441 |
442 | component-bind@1.0.0:
443 | version "1.0.0"
444 | resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
445 |
446 | component-emitter@1.1.2:
447 | version "1.1.2"
448 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
449 |
450 | component-emitter@1.2.1:
451 | version "1.2.1"
452 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
453 |
454 | component-inherit@0.0.3:
455 | version "0.0.3"
456 | resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
457 |
458 | concat-map@0.0.1:
459 | version "0.0.1"
460 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
461 |
462 | concat-stream@^1.5.2:
463 | version "1.6.0"
464 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
465 | dependencies:
466 | inherits "^2.0.3"
467 | readable-stream "^2.2.2"
468 | typedarray "^0.0.6"
469 |
470 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
471 | version "1.1.0"
472 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
473 |
474 | contains-path@^0.1.0:
475 | version "0.1.0"
476 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
477 |
478 | content-disposition@0.5.1:
479 | version "0.5.1"
480 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b"
481 |
482 | content-type@~1.0.1:
483 | version "1.0.2"
484 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
485 |
486 | cookie-signature@1.0.6:
487 | version "1.0.6"
488 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
489 |
490 | cookie@0.1.5:
491 | version "0.1.5"
492 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.5.tgz#6ab9948a4b1ae21952cd2588530a4722d4044d7c"
493 |
494 | cookie@0.3.1:
495 | version "0.3.1"
496 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
497 |
498 | core-js@^2.4.0:
499 | version "2.5.0"
500 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086"
501 |
502 | core-util-is@1.0.2, core-util-is@~1.0.0:
503 | version "1.0.2"
504 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
505 |
506 | cross-spawn@^3.0.0:
507 | version "3.0.1"
508 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
509 | dependencies:
510 | lru-cache "^4.0.1"
511 | which "^1.2.9"
512 |
513 | cross-spawn@^5.0.1:
514 | version "5.1.0"
515 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
516 | dependencies:
517 | lru-cache "^4.0.1"
518 | shebang-command "^1.2.0"
519 | which "^1.2.9"
520 |
521 | cryptiles@2.x.x:
522 | version "2.0.5"
523 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
524 | dependencies:
525 | boom "2.x.x"
526 |
527 | css-select@~1.2.0:
528 | version "1.2.0"
529 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
530 | dependencies:
531 | boolbase "~1.0.0"
532 | css-what "2.1"
533 | domutils "1.5.1"
534 | nth-check "~1.0.1"
535 |
536 | css-what@2.1:
537 | version "2.1.0"
538 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
539 |
540 | currently-unhandled@^0.4.1:
541 | version "0.4.1"
542 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
543 | dependencies:
544 | array-find-index "^1.0.1"
545 |
546 | cycle@1.0.x:
547 | version "1.0.3"
548 | resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
549 |
550 | d@1:
551 | version "1.0.0"
552 | resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
553 | dependencies:
554 | es5-ext "^0.10.9"
555 |
556 | dashdash@^1.12.0:
557 | version "1.14.1"
558 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
559 | dependencies:
560 | assert-plus "^1.0.0"
561 |
562 | datauri@^1.0.4:
563 | version "1.0.5"
564 | resolved "https://registry.yarnpkg.com/datauri/-/datauri-1.0.5.tgz#d0975d1ab6c8f2e0ce3ca43baa4539be12d289a0"
565 | dependencies:
566 | image-size "^0.3.5"
567 | mimer "^0.2.1"
568 | semver "^5.0.3"
569 |
570 | debug-log@^1.0.0:
571 | version "1.0.1"
572 | resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
573 |
574 | debug@2.2.0, debug@~2.2.0:
575 | version "2.2.0"
576 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
577 | dependencies:
578 | ms "0.7.1"
579 |
580 | debug@2.3.3:
581 | version "2.3.3"
582 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
583 | dependencies:
584 | ms "0.7.2"
585 |
586 | debug@^0.8.1:
587 | version "0.8.1"
588 | resolved "https://registry.yarnpkg.com/debug/-/debug-0.8.1.tgz#20ff4d26f5e422cb68a1bacbbb61039ad8c1c130"
589 |
590 | debug@^2.1.1, debug@^2.2.0, debug@^2.6.8:
591 | version "2.6.8"
592 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
593 | dependencies:
594 | ms "2.0.0"
595 |
596 | decamelize@^1.1.1, decamelize@^1.1.2:
597 | version "1.2.0"
598 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
599 |
600 | deep-extend@^0.5.0:
601 | version "0.5.0"
602 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.0.tgz#6ef4a09b05f98b0e358d6d93d4ca3caec6672803"
603 |
604 | deep-extend@~0.4.0:
605 | version "0.4.2"
606 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
607 |
608 | deep-is@~0.1.3:
609 | version "0.1.3"
610 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
611 |
612 | define-properties@^1.1.2:
613 | version "1.1.2"
614 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
615 | dependencies:
616 | foreach "^2.0.5"
617 | object-keys "^1.0.8"
618 |
619 | deglob@^2.1.0:
620 | version "2.1.0"
621 | resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.0.tgz#4d44abe16ef32c779b4972bd141a80325029a14a"
622 | dependencies:
623 | find-root "^1.0.0"
624 | glob "^7.0.5"
625 | ignore "^3.0.9"
626 | pkg-config "^1.1.0"
627 | run-parallel "^1.1.2"
628 | uniq "^1.0.1"
629 |
630 | del@^2.0.2:
631 | version "2.2.2"
632 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
633 | dependencies:
634 | globby "^5.0.0"
635 | is-path-cwd "^1.0.0"
636 | is-path-in-cwd "^1.0.0"
637 | object-assign "^4.0.1"
638 | pify "^2.0.0"
639 | pinkie-promise "^2.0.0"
640 | rimraf "^2.2.8"
641 |
642 | delayed-stream@~1.0.0:
643 | version "1.0.0"
644 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
645 |
646 | delegates@^1.0.0:
647 | version "1.0.0"
648 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
649 |
650 | depd@~1.1.0:
651 | version "1.1.1"
652 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
653 |
654 | destroy@~1.0.4:
655 | version "1.0.4"
656 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
657 |
658 | doctrine@1.5.0, doctrine@^1.2.2:
659 | version "1.5.0"
660 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
661 | dependencies:
662 | esutils "^2.0.2"
663 | isarray "^1.0.0"
664 |
665 | doctrine@^2.0.0:
666 | version "2.0.0"
667 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
668 | dependencies:
669 | esutils "^2.0.2"
670 | isarray "^1.0.0"
671 |
672 | dom-serializer@0, dom-serializer@~0.1.0:
673 | version "0.1.0"
674 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
675 | dependencies:
676 | domelementtype "~1.1.1"
677 | entities "~1.1.1"
678 |
679 | domelementtype@1, domelementtype@^1.3.0:
680 | version "1.3.0"
681 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
682 |
683 | domelementtype@~1.1.1:
684 | version "1.1.3"
685 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
686 |
687 | domhandler@^2.3.0:
688 | version "2.4.1"
689 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
690 | dependencies:
691 | domelementtype "1"
692 |
693 | domutils@1.5.1:
694 | version "1.5.1"
695 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
696 | dependencies:
697 | dom-serializer "0"
698 | domelementtype "1"
699 |
700 | domutils@^1.5.1:
701 | version "1.6.2"
702 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff"
703 | dependencies:
704 | dom-serializer "0"
705 | domelementtype "1"
706 |
707 | ecc-jsbn@~0.1.1:
708 | version "0.1.1"
709 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
710 | dependencies:
711 | jsbn "~0.1.0"
712 |
713 | ecdsa-sig-formatter@1.0.9:
714 | version "1.0.9"
715 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz#4bc926274ec3b5abb5016e7e1d60921ac262b2a1"
716 | dependencies:
717 | base64url "^2.0.0"
718 | safe-buffer "^5.0.1"
719 |
720 | ee-first@1.1.1:
721 | version "1.1.1"
722 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
723 |
724 | encoding@^0.1.11, encoding@^0.1.12, encoding@~0.1.12:
725 | version "0.1.12"
726 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
727 | dependencies:
728 | iconv-lite "~0.4.13"
729 |
730 | engine.io-client@1.8.3:
731 | version "1.8.3"
732 | resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab"
733 | dependencies:
734 | component-emitter "1.2.1"
735 | component-inherit "0.0.3"
736 | debug "2.3.3"
737 | engine.io-parser "1.3.2"
738 | has-cors "1.1.0"
739 | indexof "0.0.1"
740 | parsejson "0.0.3"
741 | parseqs "0.0.5"
742 | parseuri "0.0.5"
743 | ws "1.1.2"
744 | xmlhttprequest-ssl "1.5.3"
745 | yeast "0.1.2"
746 |
747 | engine.io-parser@1.3.2:
748 | version "1.3.2"
749 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
750 | dependencies:
751 | after "0.8.2"
752 | arraybuffer.slice "0.0.6"
753 | base64-arraybuffer "0.1.5"
754 | blob "0.0.4"
755 | has-binary "0.1.7"
756 | wtf-8 "1.0.0"
757 |
758 | engine.io@1.8.3:
759 | version "1.8.3"
760 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4"
761 | dependencies:
762 | accepts "1.3.3"
763 | base64id "1.0.0"
764 | cookie "0.3.1"
765 | debug "2.3.3"
766 | engine.io-parser "1.3.2"
767 | ws "1.1.2"
768 |
769 | entities@^1.1.1, entities@~1.1.1:
770 | version "1.1.1"
771 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
772 |
773 | error-ex@^1.2.0:
774 | version "1.3.1"
775 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
776 | dependencies:
777 | is-arrayish "^0.2.1"
778 |
779 | es-abstract@^1.7.0:
780 | version "1.8.0"
781 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.8.0.tgz#3b00385e85729932beffa9163bbea1234e932914"
782 | dependencies:
783 | es-to-primitive "^1.1.1"
784 | function-bind "^1.1.0"
785 | has "^1.0.1"
786 | is-callable "^1.1.3"
787 | is-regex "^1.0.4"
788 |
789 | es-to-primitive@^1.1.1:
790 | version "1.1.1"
791 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
792 | dependencies:
793 | is-callable "^1.1.1"
794 | is-date-object "^1.0.1"
795 | is-symbol "^1.0.1"
796 |
797 | es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
798 | version "0.10.30"
799 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.30.tgz#7141a16836697dbabfaaaeee41495ce29f52c939"
800 | dependencies:
801 | es6-iterator "2"
802 | es6-symbol "~3.1"
803 |
804 | es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1:
805 | version "2.0.1"
806 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512"
807 | dependencies:
808 | d "1"
809 | es5-ext "^0.10.14"
810 | es6-symbol "^3.1"
811 |
812 | es6-map@^0.1.3:
813 | version "0.1.5"
814 | resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
815 | dependencies:
816 | d "1"
817 | es5-ext "~0.10.14"
818 | es6-iterator "~2.0.1"
819 | es6-set "~0.1.5"
820 | es6-symbol "~3.1.1"
821 | event-emitter "~0.3.5"
822 |
823 | es6-set@~0.1.5:
824 | version "0.1.5"
825 | resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
826 | dependencies:
827 | d "1"
828 | es5-ext "~0.10.14"
829 | es6-iterator "~2.0.1"
830 | es6-symbol "3.1.1"
831 | event-emitter "~0.3.5"
832 |
833 | es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1:
834 | version "3.1.1"
835 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
836 | dependencies:
837 | d "1"
838 | es5-ext "~0.10.14"
839 |
840 | es6-weak-map@^2.0.1:
841 | version "2.0.2"
842 | resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
843 | dependencies:
844 | d "1"
845 | es5-ext "^0.10.14"
846 | es6-iterator "^2.0.1"
847 | es6-symbol "^3.1.1"
848 |
849 | escape-html@~1.0.3:
850 | version "1.0.3"
851 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
852 |
853 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
854 | version "1.0.5"
855 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
856 |
857 | escope@^3.6.0:
858 | version "3.6.0"
859 | resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
860 | dependencies:
861 | es6-map "^0.1.3"
862 | es6-weak-map "^2.0.1"
863 | esrecurse "^4.1.0"
864 | estraverse "^4.1.1"
865 |
866 | eslint-config-standard-jsx@4.0.2:
867 | version "4.0.2"
868 | resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz#009e53c4ddb1e9ee70b4650ffe63a7f39f8836e1"
869 |
870 | eslint-config-standard@10.2.1:
871 | version "10.2.1"
872 | resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591"
873 |
874 | eslint-import-resolver-node@^0.2.0:
875 | version "0.2.3"
876 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c"
877 | dependencies:
878 | debug "^2.2.0"
879 | object-assign "^4.0.1"
880 | resolve "^1.1.6"
881 |
882 | eslint-module-utils@^2.0.0:
883 | version "2.1.1"
884 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
885 | dependencies:
886 | debug "^2.6.8"
887 | pkg-dir "^1.0.0"
888 |
889 | eslint-plugin-import@~2.2.0:
890 | version "2.2.0"
891 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e"
892 | dependencies:
893 | builtin-modules "^1.1.1"
894 | contains-path "^0.1.0"
895 | debug "^2.2.0"
896 | doctrine "1.5.0"
897 | eslint-import-resolver-node "^0.2.0"
898 | eslint-module-utils "^2.0.0"
899 | has "^1.0.1"
900 | lodash.cond "^4.3.0"
901 | minimatch "^3.0.3"
902 | pkg-up "^1.0.0"
903 |
904 | eslint-plugin-node@~4.2.2:
905 | version "4.2.3"
906 | resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-4.2.3.tgz#c04390ab8dbcbb6887174023d6f3a72769e63b97"
907 | dependencies:
908 | ignore "^3.0.11"
909 | minimatch "^3.0.2"
910 | object-assign "^4.0.1"
911 | resolve "^1.1.7"
912 | semver "5.3.0"
913 |
914 | eslint-plugin-promise@~3.5.0:
915 | version "3.5.0"
916 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca"
917 |
918 | eslint-plugin-react@~6.10.0:
919 | version "6.10.3"
920 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78"
921 | dependencies:
922 | array.prototype.find "^2.0.1"
923 | doctrine "^1.2.2"
924 | has "^1.0.1"
925 | jsx-ast-utils "^1.3.4"
926 | object.assign "^4.0.4"
927 |
928 | eslint-plugin-standard@~3.0.1:
929 | version "3.0.1"
930 | resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2"
931 |
932 | eslint@~3.19.0:
933 | version "3.19.0"
934 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
935 | dependencies:
936 | babel-code-frame "^6.16.0"
937 | chalk "^1.1.3"
938 | concat-stream "^1.5.2"
939 | debug "^2.1.1"
940 | doctrine "^2.0.0"
941 | escope "^3.6.0"
942 | espree "^3.4.0"
943 | esquery "^1.0.0"
944 | estraverse "^4.2.0"
945 | esutils "^2.0.2"
946 | file-entry-cache "^2.0.0"
947 | glob "^7.0.3"
948 | globals "^9.14.0"
949 | ignore "^3.2.0"
950 | imurmurhash "^0.1.4"
951 | inquirer "^0.12.0"
952 | is-my-json-valid "^2.10.0"
953 | is-resolvable "^1.0.0"
954 | js-yaml "^3.5.1"
955 | json-stable-stringify "^1.0.0"
956 | levn "^0.3.0"
957 | lodash "^4.0.0"
958 | mkdirp "^0.5.0"
959 | natural-compare "^1.4.0"
960 | optionator "^0.8.2"
961 | path-is-inside "^1.0.1"
962 | pluralize "^1.2.1"
963 | progress "^1.1.8"
964 | require-uncached "^1.0.2"
965 | shelljs "^0.7.5"
966 | strip-bom "^3.0.0"
967 | strip-json-comments "~2.0.1"
968 | table "^3.7.8"
969 | text-table "~0.2.0"
970 | user-home "^2.0.0"
971 |
972 | espree@^3.4.0:
973 | version "3.5.0"
974 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d"
975 | dependencies:
976 | acorn "^5.1.1"
977 | acorn-jsx "^3.0.0"
978 |
979 | esprima@^4.0.0:
980 | version "4.0.0"
981 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
982 |
983 | esquery@^1.0.0:
984 | version "1.0.0"
985 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
986 | dependencies:
987 | estraverse "^4.0.0"
988 |
989 | esrecurse@^4.1.0:
990 | version "4.2.0"
991 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163"
992 | dependencies:
993 | estraverse "^4.1.0"
994 | object-assign "^4.0.1"
995 |
996 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
997 | version "4.2.0"
998 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
999 |
1000 | esutils@^2.0.2:
1001 | version "2.0.2"
1002 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
1003 |
1004 | etag@~1.7.0:
1005 | version "1.7.0"
1006 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
1007 |
1008 | event-emitter@~0.3.5:
1009 | version "0.3.5"
1010 | resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
1011 | dependencies:
1012 | d "1"
1013 | es5-ext "~0.10.14"
1014 |
1015 | exit-hook@^1.0.0:
1016 | version "1.1.1"
1017 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
1018 |
1019 | expand-brackets@^0.1.4:
1020 | version "0.1.5"
1021 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
1022 | dependencies:
1023 | is-posix-bracket "^0.1.0"
1024 |
1025 | expand-range@^1.8.1:
1026 | version "1.8.2"
1027 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
1028 | dependencies:
1029 | fill-range "^2.1.0"
1030 |
1031 | express@4.13.4:
1032 | version "4.13.4"
1033 | resolved "https://registry.yarnpkg.com/express/-/express-4.13.4.tgz#3c0b76f3c77590c8345739061ec0bd3ba067ec24"
1034 | dependencies:
1035 | accepts "~1.2.12"
1036 | array-flatten "1.1.1"
1037 | content-disposition "0.5.1"
1038 | content-type "~1.0.1"
1039 | cookie "0.1.5"
1040 | cookie-signature "1.0.6"
1041 | debug "~2.2.0"
1042 | depd "~1.1.0"
1043 | escape-html "~1.0.3"
1044 | etag "~1.7.0"
1045 | finalhandler "0.4.1"
1046 | fresh "0.3.0"
1047 | merge-descriptors "1.0.1"
1048 | methods "~1.1.2"
1049 | on-finished "~2.3.0"
1050 | parseurl "~1.3.1"
1051 | path-to-regexp "0.1.7"
1052 | proxy-addr "~1.0.10"
1053 | qs "4.0.0"
1054 | range-parser "~1.0.3"
1055 | send "0.13.1"
1056 | serve-static "~1.10.2"
1057 | type-is "~1.6.6"
1058 | utils-merge "1.0.0"
1059 | vary "~1.0.1"
1060 |
1061 | extend@~3.0.0:
1062 | version "3.0.1"
1063 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
1064 |
1065 | extglob@^0.3.1:
1066 | version "0.3.2"
1067 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
1068 | dependencies:
1069 | is-extglob "^1.0.0"
1070 |
1071 | extsprintf@1.3.0, extsprintf@^1.2.0:
1072 | version "1.3.0"
1073 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
1074 |
1075 | eyes@0.1.x:
1076 | version "0.1.8"
1077 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
1078 |
1079 | fast-levenshtein@~2.0.4:
1080 | version "2.0.6"
1081 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1082 |
1083 | figures@^1.3.5:
1084 | version "1.7.0"
1085 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
1086 | dependencies:
1087 | escape-string-regexp "^1.0.5"
1088 | object-assign "^4.1.0"
1089 |
1090 | file-entry-cache@^2.0.0:
1091 | version "2.0.0"
1092 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
1093 | dependencies:
1094 | flat-cache "^1.2.1"
1095 | object-assign "^4.0.1"
1096 |
1097 | filename-regex@^2.0.0:
1098 | version "2.0.1"
1099 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
1100 |
1101 | fill-range@^2.1.0:
1102 | version "2.2.3"
1103 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
1104 | dependencies:
1105 | is-number "^2.1.0"
1106 | isobject "^2.0.0"
1107 | randomatic "^1.1.3"
1108 | repeat-element "^1.1.2"
1109 | repeat-string "^1.5.2"
1110 |
1111 | finalhandler@0.4.1:
1112 | version "0.4.1"
1113 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.1.tgz#85a17c6c59a94717d262d61230d4b0ebe3d4a14d"
1114 | dependencies:
1115 | debug "~2.2.0"
1116 | escape-html "~1.0.3"
1117 | on-finished "~2.3.0"
1118 | unpipe "~1.0.0"
1119 |
1120 | find-root@^1.0.0:
1121 | version "1.1.0"
1122 | resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
1123 |
1124 | find-up@^1.0.0:
1125 | version "1.1.2"
1126 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
1127 | dependencies:
1128 | path-exists "^2.0.0"
1129 | pinkie-promise "^2.0.0"
1130 |
1131 | find-up@^2.0.0:
1132 | version "2.1.0"
1133 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
1134 | dependencies:
1135 | locate-path "^2.0.0"
1136 |
1137 | flat-cache@^1.2.1:
1138 | version "1.2.2"
1139 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
1140 | dependencies:
1141 | circular-json "^0.3.1"
1142 | del "^2.0.2"
1143 | graceful-fs "^4.1.2"
1144 | write "^0.2.1"
1145 |
1146 | flow-bin@^0.53.1:
1147 | version "0.53.1"
1148 | resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.53.1.tgz#9b22b63a23c99763ae533ebbab07f88c88c97d84"
1149 |
1150 | for-in@^1.0.1:
1151 | version "1.0.2"
1152 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
1153 |
1154 | for-own@^0.1.4:
1155 | version "0.1.5"
1156 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
1157 | dependencies:
1158 | for-in "^1.0.1"
1159 |
1160 | foreach@^2.0.5:
1161 | version "2.0.5"
1162 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
1163 |
1164 | forever-agent@~0.6.1:
1165 | version "0.6.1"
1166 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1167 |
1168 | form-data@2.2.0:
1169 | version "2.2.0"
1170 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.2.0.tgz#9a5e3b9295f980b2623cf64fa238b14cebca707b"
1171 | dependencies:
1172 | asynckit "^0.4.0"
1173 | combined-stream "^1.0.5"
1174 | mime-types "^2.1.12"
1175 |
1176 | form-data@~2.1.1:
1177 | version "2.1.4"
1178 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
1179 | dependencies:
1180 | asynckit "^0.4.0"
1181 | combined-stream "^1.0.5"
1182 | mime-types "^2.1.12"
1183 |
1184 | forwarded@~0.1.0:
1185 | version "0.1.0"
1186 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
1187 |
1188 | fresh@0.3.0:
1189 | version "0.3.0"
1190 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
1191 |
1192 | fs.realpath@^1.0.0:
1193 | version "1.0.0"
1194 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1195 |
1196 | fsevents@^1.0.0:
1197 | version "1.1.2"
1198 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4"
1199 | dependencies:
1200 | nan "^2.3.0"
1201 | node-pre-gyp "^0.6.36"
1202 |
1203 | fstream-ignore@^1.0.5:
1204 | version "1.0.5"
1205 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
1206 | dependencies:
1207 | fstream "^1.0.0"
1208 | inherits "2"
1209 | minimatch "^3.0.0"
1210 |
1211 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
1212 | version "1.0.11"
1213 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
1214 | dependencies:
1215 | graceful-fs "^4.1.2"
1216 | inherits "~2.0.0"
1217 | mkdirp ">=0.5 0"
1218 | rimraf "2"
1219 |
1220 | function-bind@^1.0.2, function-bind@^1.1.0:
1221 | version "1.1.0"
1222 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
1223 |
1224 | gauge@~2.7.3:
1225 | version "2.7.4"
1226 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
1227 | dependencies:
1228 | aproba "^1.0.3"
1229 | console-control-strings "^1.0.0"
1230 | has-unicode "^2.0.0"
1231 | object-assign "^4.1.0"
1232 | signal-exit "^3.0.0"
1233 | string-width "^1.0.1"
1234 | strip-ansi "^3.0.1"
1235 | wide-align "^1.1.0"
1236 |
1237 | gaze@^1.0.0:
1238 | version "1.1.2"
1239 | resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105"
1240 | dependencies:
1241 | globule "^1.0.0"
1242 |
1243 | generate-function@^2.0.0:
1244 | version "2.0.0"
1245 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
1246 |
1247 | generate-object-property@^1.1.0:
1248 | version "1.2.0"
1249 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
1250 | dependencies:
1251 | is-property "^1.0.0"
1252 |
1253 | get-caller-file@^1.0.1:
1254 | version "1.0.2"
1255 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
1256 |
1257 | get-stdin@^4.0.1:
1258 | version "4.0.1"
1259 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
1260 |
1261 | get-stdin@^5.0.1:
1262 | version "5.0.1"
1263 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
1264 |
1265 | getpass@^0.1.1:
1266 | version "0.1.7"
1267 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
1268 | dependencies:
1269 | assert-plus "^1.0.0"
1270 |
1271 | glob-base@^0.3.0:
1272 | version "0.3.0"
1273 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
1274 | dependencies:
1275 | glob-parent "^2.0.0"
1276 | is-glob "^2.0.0"
1277 |
1278 | glob-parent@^2.0.0:
1279 | version "2.0.0"
1280 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
1281 | dependencies:
1282 | is-glob "^2.0.0"
1283 |
1284 | glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1:
1285 | version "7.1.2"
1286 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
1287 | dependencies:
1288 | fs.realpath "^1.0.0"
1289 | inflight "^1.0.4"
1290 | inherits "2"
1291 | minimatch "^3.0.4"
1292 | once "^1.3.0"
1293 | path-is-absolute "^1.0.0"
1294 |
1295 | globals@^9.14.0:
1296 | version "9.18.0"
1297 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
1298 |
1299 | globby@^5.0.0:
1300 | version "5.0.0"
1301 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
1302 | dependencies:
1303 | array-union "^1.0.1"
1304 | arrify "^1.0.0"
1305 | glob "^7.0.3"
1306 | object-assign "^4.0.1"
1307 | pify "^2.0.0"
1308 | pinkie-promise "^2.0.0"
1309 |
1310 | globule@^1.0.0:
1311 | version "1.2.0"
1312 | resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09"
1313 | dependencies:
1314 | glob "~7.1.1"
1315 | lodash "~4.17.4"
1316 | minimatch "~3.0.2"
1317 |
1318 | graceful-fs@^4.1.2:
1319 | version "4.1.11"
1320 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
1321 |
1322 | "graceful-readlink@>= 1.0.0":
1323 | version "1.0.1"
1324 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
1325 |
1326 | har-schema@^1.0.5:
1327 | version "1.0.5"
1328 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
1329 |
1330 | har-validator@~4.2.1:
1331 | version "4.2.1"
1332 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
1333 | dependencies:
1334 | ajv "^4.9.1"
1335 | har-schema "^1.0.5"
1336 |
1337 | has-ansi@^2.0.0:
1338 | version "2.0.0"
1339 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
1340 | dependencies:
1341 | ansi-regex "^2.0.0"
1342 |
1343 | has-binary@0.1.7:
1344 | version "0.1.7"
1345 | resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
1346 | dependencies:
1347 | isarray "0.0.1"
1348 |
1349 | has-cors@1.1.0:
1350 | version "1.1.0"
1351 | resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
1352 |
1353 | has-unicode@^2.0.0:
1354 | version "2.0.1"
1355 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
1356 |
1357 | has@^1.0.1:
1358 | version "1.0.1"
1359 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
1360 | dependencies:
1361 | function-bind "^1.0.2"
1362 |
1363 | hawk@~3.1.3:
1364 | version "3.1.3"
1365 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
1366 | dependencies:
1367 | boom "2.x.x"
1368 | cryptiles "2.x.x"
1369 | hoek "2.x.x"
1370 | sntp "1.x.x"
1371 |
1372 | hoek@2.x.x:
1373 | version "2.16.3"
1374 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
1375 |
1376 | hosted-git-info@^2.1.4:
1377 | version "2.5.0"
1378 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
1379 |
1380 | htmlparser2@^3.9.1, htmlparser2@^3.9.2:
1381 | version "3.9.2"
1382 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
1383 | dependencies:
1384 | domelementtype "^1.3.0"
1385 | domhandler "^2.3.0"
1386 | domutils "^1.5.1"
1387 | entities "^1.1.1"
1388 | inherits "^2.0.1"
1389 | readable-stream "^2.0.2"
1390 |
1391 | http-errors@~1.3.1:
1392 | version "1.3.1"
1393 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942"
1394 | dependencies:
1395 | inherits "~2.0.1"
1396 | statuses "1"
1397 |
1398 | http-signature@~1.1.0:
1399 | version "1.1.1"
1400 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
1401 | dependencies:
1402 | assert-plus "^0.2.0"
1403 | jsprim "^1.2.2"
1404 | sshpk "^1.7.0"
1405 |
1406 | "http2@https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz":
1407 | version "3.3.6"
1408 | resolved "https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz#8333dee2d6e0089152cefad30f41ced502f9c366"
1409 |
1410 | http_ece@^0.5.2:
1411 | version "0.5.2"
1412 | resolved "https://registry.yarnpkg.com/http_ece/-/http_ece-0.5.2.tgz#5654d7ec9d996b749ce00a276e18d54b6d8f905f"
1413 | dependencies:
1414 | urlsafe-base64 "~1.0.0"
1415 |
1416 | iconv-lite@~0.4.13:
1417 | version "0.4.18"
1418 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2"
1419 |
1420 | ignore@^3.0.11, ignore@^3.0.9, ignore@^3.2.0:
1421 | version "3.3.4"
1422 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.4.tgz#85ab6d0a9ca8b27b31604c09efe1c14dc21ab872"
1423 |
1424 | image-size@^0.3.5:
1425 | version "0.3.5"
1426 | resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.3.5.tgz#83240eab2fb5b00b04aab8c74b0471e9cba7ad8c"
1427 |
1428 | imurmurhash@^0.1.4:
1429 | version "0.1.4"
1430 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1431 |
1432 | in-publish@^2.0.0:
1433 | version "2.0.0"
1434 | resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
1435 |
1436 | indent-string@^2.1.0:
1437 | version "2.1.0"
1438 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
1439 | dependencies:
1440 | repeating "^2.0.0"
1441 |
1442 | indexof@0.0.1:
1443 | version "0.0.1"
1444 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
1445 |
1446 | inflight@^1.0.4:
1447 | version "1.0.6"
1448 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1449 | dependencies:
1450 | once "^1.3.0"
1451 | wrappy "1"
1452 |
1453 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
1454 | version "2.0.3"
1455 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
1456 |
1457 | ini@~1.3.0:
1458 | version "1.3.4"
1459 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
1460 |
1461 | inquirer@^0.12.0:
1462 | version "0.12.0"
1463 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
1464 | dependencies:
1465 | ansi-escapes "^1.1.0"
1466 | ansi-regex "^2.0.0"
1467 | chalk "^1.0.0"
1468 | cli-cursor "^1.0.1"
1469 | cli-width "^2.0.0"
1470 | figures "^1.3.5"
1471 | lodash "^4.3.0"
1472 | readline2 "^1.0.1"
1473 | run-async "^0.1.0"
1474 | rx-lite "^3.1.2"
1475 | string-width "^1.0.1"
1476 | strip-ansi "^3.0.0"
1477 | through "^2.3.6"
1478 |
1479 | interpret@^1.0.0:
1480 | version "1.0.3"
1481 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90"
1482 |
1483 | invert-kv@^1.0.0:
1484 | version "1.0.0"
1485 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
1486 |
1487 | ipaddr.js@1.0.5:
1488 | version "1.0.5"
1489 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.0.5.tgz#5fa78cf301b825c78abc3042d812723049ea23c7"
1490 |
1491 | ipv6-normalize@^1.0.1:
1492 | version "1.0.1"
1493 | resolved "https://registry.yarnpkg.com/ipv6-normalize/-/ipv6-normalize-1.0.1.tgz#1b3258290d365fa83239e89907dde4592e7620a8"
1494 |
1495 | is-arrayish@^0.2.1:
1496 | version "0.2.1"
1497 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1498 |
1499 | is-binary-path@^1.0.0:
1500 | version "1.0.1"
1501 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
1502 | dependencies:
1503 | binary-extensions "^1.0.0"
1504 |
1505 | is-buffer@^1.1.5:
1506 | version "1.1.5"
1507 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
1508 |
1509 | is-builtin-module@^1.0.0:
1510 | version "1.0.0"
1511 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
1512 | dependencies:
1513 | builtin-modules "^1.0.0"
1514 |
1515 | is-callable@^1.1.1, is-callable@^1.1.3:
1516 | version "1.1.3"
1517 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
1518 |
1519 | is-date-object@^1.0.1:
1520 | version "1.0.1"
1521 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
1522 |
1523 | is-dotfile@^1.0.0:
1524 | version "1.0.3"
1525 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
1526 |
1527 | is-equal-shallow@^0.1.3:
1528 | version "0.1.3"
1529 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
1530 | dependencies:
1531 | is-primitive "^2.0.0"
1532 |
1533 | is-extendable@^0.1.1:
1534 | version "0.1.1"
1535 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
1536 |
1537 | is-extglob@^1.0.0:
1538 | version "1.0.0"
1539 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
1540 |
1541 | is-finite@^1.0.0:
1542 | version "1.0.2"
1543 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
1544 | dependencies:
1545 | number-is-nan "^1.0.0"
1546 |
1547 | is-fullwidth-code-point@^1.0.0:
1548 | version "1.0.0"
1549 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
1550 | dependencies:
1551 | number-is-nan "^1.0.0"
1552 |
1553 | is-fullwidth-code-point@^2.0.0:
1554 | version "2.0.0"
1555 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
1556 |
1557 | is-glob@^2.0.0, is-glob@^2.0.1:
1558 | version "2.0.1"
1559 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
1560 | dependencies:
1561 | is-extglob "^1.0.0"
1562 |
1563 | is-my-json-valid@^2.10.0:
1564 | version "2.16.1"
1565 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz#5a846777e2c2620d1e69104e5d3a03b1f6088f11"
1566 | dependencies:
1567 | generate-function "^2.0.0"
1568 | generate-object-property "^1.1.0"
1569 | jsonpointer "^4.0.0"
1570 | xtend "^4.0.0"
1571 |
1572 | is-number@^2.1.0:
1573 | version "2.1.0"
1574 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
1575 | dependencies:
1576 | kind-of "^3.0.2"
1577 |
1578 | is-number@^3.0.0:
1579 | version "3.0.0"
1580 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
1581 | dependencies:
1582 | kind-of "^3.0.2"
1583 |
1584 | is-path-cwd@^1.0.0:
1585 | version "1.0.0"
1586 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
1587 |
1588 | is-path-in-cwd@^1.0.0:
1589 | version "1.0.0"
1590 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
1591 | dependencies:
1592 | is-path-inside "^1.0.0"
1593 |
1594 | is-path-inside@^1.0.0:
1595 | version "1.0.0"
1596 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
1597 | dependencies:
1598 | path-is-inside "^1.0.1"
1599 |
1600 | is-posix-bracket@^0.1.0:
1601 | version "0.1.1"
1602 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
1603 |
1604 | is-primitive@^2.0.0:
1605 | version "2.0.0"
1606 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
1607 |
1608 | is-property@^1.0.0:
1609 | version "1.0.2"
1610 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
1611 |
1612 | is-regex@^1.0.4:
1613 | version "1.0.4"
1614 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
1615 | dependencies:
1616 | has "^1.0.1"
1617 |
1618 | is-resolvable@^1.0.0:
1619 | version "1.0.0"
1620 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
1621 | dependencies:
1622 | tryit "^1.0.1"
1623 |
1624 | is-stream@^1.0.1:
1625 | version "1.1.0"
1626 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
1627 |
1628 | is-symbol@^1.0.1:
1629 | version "1.0.1"
1630 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
1631 |
1632 | is-typedarray@~1.0.0:
1633 | version "1.0.0"
1634 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1635 |
1636 | is-utf8@^0.2.0:
1637 | version "0.2.1"
1638 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
1639 |
1640 | isarray@0.0.1:
1641 | version "0.0.1"
1642 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
1643 |
1644 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
1645 | version "1.0.0"
1646 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1647 |
1648 | isemail@1.x.x:
1649 | version "1.2.0"
1650 | resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a"
1651 |
1652 | isexe@^2.0.0:
1653 | version "2.0.0"
1654 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1655 |
1656 | isobject@^2.0.0:
1657 | version "2.1.0"
1658 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
1659 | dependencies:
1660 | isarray "1.0.0"
1661 |
1662 | isstream@0.1.x, isstream@~0.1.2:
1663 | version "0.1.2"
1664 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
1665 |
1666 | joi@^6.10.1:
1667 | version "6.10.1"
1668 | resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06"
1669 | dependencies:
1670 | hoek "2.x.x"
1671 | isemail "1.x.x"
1672 | moment "2.x.x"
1673 | topo "1.x.x"
1674 |
1675 | js-base64@^2.1.8:
1676 | version "2.1.9"
1677 | resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
1678 |
1679 | js-tokens@^3.0.2:
1680 | version "3.0.2"
1681 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
1682 |
1683 | js-yaml@^3.5.1:
1684 | version "3.9.1"
1685 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0"
1686 | dependencies:
1687 | argparse "^1.0.7"
1688 | esprima "^4.0.0"
1689 |
1690 | jsbn@~0.1.0:
1691 | version "0.1.1"
1692 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1693 |
1694 | json-schema@0.2.3:
1695 | version "0.2.3"
1696 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1697 |
1698 | json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
1699 | version "1.0.1"
1700 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
1701 | dependencies:
1702 | jsonify "~0.0.0"
1703 |
1704 | json-stringify-safe@~5.0.1:
1705 | version "5.0.1"
1706 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1707 |
1708 | json3@3.3.2:
1709 | version "3.3.2"
1710 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
1711 |
1712 | jsonify@~0.0.0:
1713 | version "0.0.0"
1714 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
1715 |
1716 | jsonpointer@^4.0.0:
1717 | version "4.0.1"
1718 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
1719 |
1720 | jsonwebtoken@^7.4.1:
1721 | version "7.4.3"
1722 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz#77f5021de058b605a1783fa1283e99812e645638"
1723 | dependencies:
1724 | joi "^6.10.1"
1725 | jws "^3.1.4"
1726 | lodash.once "^4.0.0"
1727 | ms "^2.0.0"
1728 | xtend "^4.0.1"
1729 |
1730 | jsprim@^1.2.2:
1731 | version "1.4.1"
1732 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
1733 | dependencies:
1734 | assert-plus "1.0.0"
1735 | extsprintf "1.3.0"
1736 | json-schema "0.2.3"
1737 | verror "1.10.0"
1738 |
1739 | jsx-ast-utils@^1.3.4:
1740 | version "1.4.1"
1741 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
1742 |
1743 | juice@^4.1.0:
1744 | version "4.1.0"
1745 | resolved "https://registry.yarnpkg.com/juice/-/juice-4.1.0.tgz#f54177a6576e7a82d108a6fd0b92ebb043470d81"
1746 | dependencies:
1747 | cheerio "^0.22.0"
1748 | commander "2.9.0"
1749 | cross-spawn "^5.0.1"
1750 | deep-extend "^0.5.0"
1751 | mensch "^0.3.3"
1752 | slick "1.12.2"
1753 | web-resource-inliner "^4.1.0"
1754 |
1755 | jwa@^1.1.4:
1756 | version "1.1.5"
1757 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.1.5.tgz#a0552ce0220742cd52e153774a32905c30e756e5"
1758 | dependencies:
1759 | base64url "2.0.0"
1760 | buffer-equal-constant-time "1.0.1"
1761 | ecdsa-sig-formatter "1.0.9"
1762 | safe-buffer "^5.0.1"
1763 |
1764 | jws@^3.1.3, jws@^3.1.4:
1765 | version "3.1.4"
1766 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2"
1767 | dependencies:
1768 | base64url "^2.0.0"
1769 | jwa "^1.1.4"
1770 | safe-buffer "^5.0.1"
1771 |
1772 | kind-of@^3.0.2:
1773 | version "3.2.2"
1774 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
1775 | dependencies:
1776 | is-buffer "^1.1.5"
1777 |
1778 | kind-of@^4.0.0:
1779 | version "4.0.0"
1780 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
1781 | dependencies:
1782 | is-buffer "^1.1.5"
1783 |
1784 | lcid@^1.0.0:
1785 | version "1.0.0"
1786 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
1787 | dependencies:
1788 | invert-kv "^1.0.0"
1789 |
1790 | levn@^0.3.0, levn@~0.3.0:
1791 | version "0.3.0"
1792 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
1793 | dependencies:
1794 | prelude-ls "~1.1.2"
1795 | type-check "~0.3.2"
1796 |
1797 | load-json-file@^1.0.0:
1798 | version "1.1.0"
1799 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
1800 | dependencies:
1801 | graceful-fs "^4.1.2"
1802 | parse-json "^2.2.0"
1803 | pify "^2.0.0"
1804 | pinkie-promise "^2.0.0"
1805 | strip-bom "^2.0.0"
1806 |
1807 | load-json-file@^2.0.0:
1808 | version "2.0.0"
1809 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
1810 | dependencies:
1811 | graceful-fs "^4.1.2"
1812 | parse-json "^2.2.0"
1813 | pify "^2.0.0"
1814 | strip-bom "^3.0.0"
1815 |
1816 | locate-path@^2.0.0:
1817 | version "2.0.0"
1818 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
1819 | dependencies:
1820 | p-locate "^2.0.0"
1821 | path-exists "^3.0.0"
1822 |
1823 | lodash.assign@^4.2.0:
1824 | version "4.2.0"
1825 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
1826 |
1827 | lodash.assignin@^4.0.9:
1828 | version "4.2.0"
1829 | resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
1830 |
1831 | lodash.bind@^4.1.4:
1832 | version "4.2.1"
1833 | resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
1834 |
1835 | lodash.clonedeep@^4.3.2:
1836 | version "4.5.0"
1837 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
1838 |
1839 | lodash.cond@^4.3.0:
1840 | version "4.5.2"
1841 | resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
1842 |
1843 | lodash.defaults@^4.0.1:
1844 | version "4.2.0"
1845 | resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
1846 |
1847 | lodash.filter@^4.4.0:
1848 | version "4.6.0"
1849 | resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
1850 |
1851 | lodash.flatten@^4.2.0:
1852 | version "4.4.0"
1853 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
1854 |
1855 | lodash.foreach@^4.3.0:
1856 | version "4.5.0"
1857 | resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
1858 |
1859 | lodash.map@^4.4.0:
1860 | version "4.6.0"
1861 | resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
1862 |
1863 | lodash.merge@^4.4.0:
1864 | version "4.6.0"
1865 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
1866 |
1867 | lodash.mergewith@^4.6.0:
1868 | version "4.6.0"
1869 | resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55"
1870 |
1871 | lodash.once@^4.0.0:
1872 | version "4.1.1"
1873 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
1874 |
1875 | lodash.pick@^4.2.1:
1876 | version "4.4.0"
1877 | resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
1878 |
1879 | lodash.reduce@^4.4.0:
1880 | version "4.6.0"
1881 | resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
1882 |
1883 | lodash.reject@^4.4.0:
1884 | version "4.6.0"
1885 | resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
1886 |
1887 | lodash.some@^4.4.0:
1888 | version "4.6.0"
1889 | resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
1890 |
1891 | lodash.unescape@^4.0.1:
1892 | version "4.0.1"
1893 | resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c"
1894 |
1895 | lodash@^3.10.1:
1896 | version "3.10.1"
1897 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
1898 |
1899 | lodash@^4.0.0, lodash@^4.14.0, lodash@^4.3.0, lodash@~4.17.4:
1900 | version "4.17.4"
1901 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
1902 |
1903 | loud-rejection@^1.0.0:
1904 | version "1.6.0"
1905 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
1906 | dependencies:
1907 | currently-unhandled "^0.4.1"
1908 | signal-exit "^3.0.0"
1909 |
1910 | lru-cache@^4.0.1:
1911 | version "4.1.1"
1912 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
1913 | dependencies:
1914 | pseudomap "^1.0.2"
1915 | yallist "^2.1.2"
1916 |
1917 | mailparser@0.6.2:
1918 | version "0.6.2"
1919 | resolved "https://registry.yarnpkg.com/mailparser/-/mailparser-0.6.2.tgz#03c486039bdf4df6cd3b6adcaaac4107dfdbc068"
1920 | dependencies:
1921 | encoding "^0.1.12"
1922 | mime "^1.3.4"
1923 | mimelib "^0.3.0"
1924 | uue "^3.1.0"
1925 |
1926 | map-obj@^1.0.0, map-obj@^1.0.1:
1927 | version "1.0.1"
1928 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
1929 |
1930 | media-typer@0.3.0:
1931 | version "0.3.0"
1932 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
1933 |
1934 | mensch@^0.3.3:
1935 | version "0.3.3"
1936 | resolved "https://registry.yarnpkg.com/mensch/-/mensch-0.3.3.tgz#e200ff4dd823717f8e0563b32e3f5481fca262b2"
1937 |
1938 | meow@^3.7.0:
1939 | version "3.7.0"
1940 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
1941 | dependencies:
1942 | camelcase-keys "^2.0.0"
1943 | decamelize "^1.1.2"
1944 | loud-rejection "^1.0.0"
1945 | map-obj "^1.0.1"
1946 | minimist "^1.1.3"
1947 | normalize-package-data "^2.3.4"
1948 | object-assign "^4.0.1"
1949 | read-pkg-up "^1.0.1"
1950 | redent "^1.0.0"
1951 | trim-newlines "^1.0.0"
1952 |
1953 | merge-descriptors@1.0.1:
1954 | version "1.0.1"
1955 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
1956 |
1957 | methods@~1.1.2:
1958 | version "1.1.2"
1959 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
1960 |
1961 | micromatch@^2.1.5:
1962 | version "2.3.11"
1963 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
1964 | dependencies:
1965 | arr-diff "^2.0.0"
1966 | array-unique "^0.2.1"
1967 | braces "^1.8.2"
1968 | expand-brackets "^0.1.4"
1969 | extglob "^0.3.1"
1970 | filename-regex "^2.0.0"
1971 | is-extglob "^1.0.0"
1972 | is-glob "^2.0.1"
1973 | kind-of "^3.0.2"
1974 | normalize-path "^2.0.1"
1975 | object.omit "^2.0.0"
1976 | parse-glob "^3.0.4"
1977 | regex-cache "^0.4.2"
1978 |
1979 | mime-db@~1.29.0:
1980 | version "1.29.0"
1981 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878"
1982 |
1983 | mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.6, mime-types@~2.1.7:
1984 | version "2.1.16"
1985 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.16.tgz#2b858a52e5ecd516db897ac2be87487830698e23"
1986 | dependencies:
1987 | mime-db "~1.29.0"
1988 |
1989 | mime@1.3.4:
1990 | version "1.3.4"
1991 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
1992 |
1993 | mime@^1.3.4:
1994 | version "1.3.6"
1995 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0"
1996 |
1997 | mimelib@^0.3.0:
1998 | version "0.3.1"
1999 | resolved "https://registry.yarnpkg.com/mimelib/-/mimelib-0.3.1.tgz#787add2415d827acb3af6ec4bca1ea9596418853"
2000 | dependencies:
2001 | addressparser "~1.0.1"
2002 | encoding "~0.1.12"
2003 |
2004 | mimer@^0.2.1:
2005 | version "0.2.1"
2006 | resolved "https://registry.yarnpkg.com/mimer/-/mimer-0.2.1.tgz#c63c5a17fe86423f5161a85d55c3ed5189baaffc"
2007 |
2008 | minimalistic-assert@^1.0.0:
2009 | version "1.0.0"
2010 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
2011 |
2012 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
2013 | version "3.0.4"
2014 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
2015 | dependencies:
2016 | brace-expansion "^1.1.7"
2017 |
2018 | minimist@0.0.8:
2019 | version "0.0.8"
2020 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
2021 |
2022 | minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
2023 | version "1.2.0"
2024 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
2025 |
2026 | "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
2027 | version "0.5.1"
2028 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
2029 | dependencies:
2030 | minimist "0.0.8"
2031 |
2032 | moment@2.x.x:
2033 | version "2.18.1"
2034 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
2035 |
2036 | ms@0.7.1:
2037 | version "0.7.1"
2038 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
2039 |
2040 | ms@0.7.2:
2041 | version "0.7.2"
2042 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
2043 |
2044 | ms@2.0.0, ms@^2.0.0:
2045 | version "2.0.0"
2046 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
2047 |
2048 | mute-stream@0.0.5:
2049 | version "0.0.5"
2050 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
2051 |
2052 | nan@^2.3.0, nan@^2.3.2:
2053 | version "2.6.2"
2054 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
2055 |
2056 | natural-compare@^1.4.0:
2057 | version "1.4.0"
2058 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
2059 |
2060 | negotiator@0.5.3:
2061 | version "0.5.3"
2062 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8"
2063 |
2064 | negotiator@0.6.1:
2065 | version "0.6.1"
2066 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
2067 |
2068 | node-adm@^0.9.1:
2069 | version "0.9.1"
2070 | resolved "https://registry.yarnpkg.com/node-adm/-/node-adm-0.9.1.tgz#f8c6a72ffadb1a7dfd6637102c950a9a9496e842"
2071 |
2072 | node-fetch@1.7.2:
2073 | version "1.7.2"
2074 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7"
2075 | dependencies:
2076 | encoding "^0.1.11"
2077 | is-stream "^1.0.1"
2078 |
2079 | node-forge@^0.7.1:
2080 | version "0.7.1"
2081 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300"
2082 |
2083 | node-gcm@^0.14.4:
2084 | version "0.14.6"
2085 | resolved "https://registry.yarnpkg.com/node-gcm/-/node-gcm-0.14.6.tgz#a0172e50c616b28fef7549f08d1caae0ed8c0d99"
2086 | dependencies:
2087 | debug "^0.8.1"
2088 | lodash "^3.10.1"
2089 | request "^2.81.0"
2090 |
2091 | node-gyp@^3.3.1:
2092 | version "3.6.2"
2093 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60"
2094 | dependencies:
2095 | fstream "^1.0.0"
2096 | glob "^7.0.3"
2097 | graceful-fs "^4.1.2"
2098 | minimatch "^3.0.2"
2099 | mkdirp "^0.5.0"
2100 | nopt "2 || 3"
2101 | npmlog "0 || 1 || 2 || 3 || 4"
2102 | osenv "0"
2103 | request "2"
2104 | rimraf "2"
2105 | semver "~5.3.0"
2106 | tar "^2.0.0"
2107 | which "1"
2108 |
2109 | node-pre-gyp@^0.6.36:
2110 | version "0.6.36"
2111 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786"
2112 | dependencies:
2113 | mkdirp "^0.5.1"
2114 | nopt "^4.0.1"
2115 | npmlog "^4.0.2"
2116 | rc "^1.1.7"
2117 | request "^2.81.0"
2118 | rimraf "^2.6.1"
2119 | semver "^5.3.0"
2120 | tar "^2.2.1"
2121 | tar-pack "^3.4.0"
2122 |
2123 | node-pushnotifications@1.0.18:
2124 | version "1.0.18"
2125 | resolved "https://registry.yarnpkg.com/node-pushnotifications/-/node-pushnotifications-1.0.18.tgz#a54863b04879ef7f01f811ddc8c81db04f8e2bc3"
2126 | dependencies:
2127 | apn "^2.1.1"
2128 | node-adm "^0.9.1"
2129 | node-gcm "^0.14.4"
2130 | wns "^0.5.3"
2131 |
2132 | node-sass@^4.5.3:
2133 | version "4.5.3"
2134 | resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.3.tgz#d09c9d1179641239d1b97ffc6231fdcec53e1568"
2135 | dependencies:
2136 | async-foreach "^0.1.3"
2137 | chalk "^1.1.1"
2138 | cross-spawn "^3.0.0"
2139 | gaze "^1.0.0"
2140 | get-stdin "^4.0.1"
2141 | glob "^7.0.3"
2142 | in-publish "^2.0.0"
2143 | lodash.assign "^4.2.0"
2144 | lodash.clonedeep "^4.3.2"
2145 | lodash.mergewith "^4.6.0"
2146 | meow "^3.7.0"
2147 | mkdirp "^0.5.1"
2148 | nan "^2.3.2"
2149 | node-gyp "^3.3.1"
2150 | npmlog "^4.0.0"
2151 | request "^2.79.0"
2152 | sass-graph "^2.1.1"
2153 | stdout-stream "^1.4.0"
2154 |
2155 | nodemailer-fetch@1.3.0:
2156 | version "1.3.0"
2157 | resolved "https://registry.yarnpkg.com/nodemailer-fetch/-/nodemailer-fetch-1.3.0.tgz#9f37f6a5b80c1cb5d697ca2bfbde41a6582a50b0"
2158 |
2159 | nodemailer-fetch@1.6.0:
2160 | version "1.6.0"
2161 | resolved "https://registry.yarnpkg.com/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz#79c4908a1c0f5f375b73fe888da9828f6dc963a4"
2162 |
2163 | nodemailer-shared@1.0.4:
2164 | version "1.0.4"
2165 | resolved "https://registry.yarnpkg.com/nodemailer-shared/-/nodemailer-shared-1.0.4.tgz#8b5c5c35bfb29a47dda7d38303f3a4fb47ba38ae"
2166 | dependencies:
2167 | nodemailer-fetch "1.3.0"
2168 |
2169 | nodemailer-shared@^1.1.0:
2170 | version "1.1.0"
2171 | resolved "https://registry.yarnpkg.com/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz#cf5994e2fd268d00f5cf0fa767a08169edb07ec0"
2172 | dependencies:
2173 | nodemailer-fetch "1.6.0"
2174 |
2175 | nodemailer@4.0.1:
2176 | version "4.0.1"
2177 | resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.0.1.tgz#b95864b07facee8287e8232effd6f1d56ec75ab2"
2178 |
2179 | "nopt@2 || 3":
2180 | version "3.0.6"
2181 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
2182 | dependencies:
2183 | abbrev "1"
2184 |
2185 | nopt@^4.0.1:
2186 | version "4.0.1"
2187 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
2188 | dependencies:
2189 | abbrev "1"
2190 | osenv "^0.1.4"
2191 |
2192 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
2193 | version "2.4.0"
2194 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
2195 | dependencies:
2196 | hosted-git-info "^2.1.4"
2197 | is-builtin-module "^1.0.0"
2198 | semver "2 || 3 || 4 || 5"
2199 | validate-npm-package-license "^3.0.1"
2200 |
2201 | normalize-path@^2.0.0, normalize-path@^2.0.1:
2202 | version "2.1.1"
2203 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
2204 | dependencies:
2205 | remove-trailing-separator "^1.0.1"
2206 |
2207 | notification-catcher@^1.0.3:
2208 | version "1.0.3"
2209 | resolved "https://registry.yarnpkg.com/notification-catcher/-/notification-catcher-1.0.3.tgz#738c3a9591b42af7a634faf4e7b5cf0da20b9698"
2210 | dependencies:
2211 | async "1.5.1"
2212 | commander "2.9.0"
2213 | express "4.13.4"
2214 | mailparser "0.6.2"
2215 | open "0.0.5"
2216 | smtp-connection "2.3.1"
2217 | smtp-server "1.16.1"
2218 | socket.io "1.7.3"
2219 | wildstring "1.0.8"
2220 |
2221 | notifme-sdk@^1.0.1:
2222 | version "1.0.1"
2223 | resolved "https://registry.yarnpkg.com/notifme-sdk/-/notifme-sdk-1.0.1.tgz#b9c6fbf5dd6300099a9920439ae944bb4fad8163"
2224 | dependencies:
2225 | babel-runtime "6.25.0"
2226 | form-data "2.2.0"
2227 | node-fetch "1.7.2"
2228 | node-pushnotifications "1.0.18"
2229 | nodemailer "4.0.1"
2230 | web-push "3.2.2"
2231 | winston "2.3.1"
2232 |
2233 | "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
2234 | version "4.1.2"
2235 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
2236 | dependencies:
2237 | are-we-there-yet "~1.1.2"
2238 | console-control-strings "~1.1.0"
2239 | gauge "~2.7.3"
2240 | set-blocking "~2.0.0"
2241 |
2242 | nth-check@~1.0.1:
2243 | version "1.0.1"
2244 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
2245 | dependencies:
2246 | boolbase "~1.0.0"
2247 |
2248 | number-is-nan@^1.0.0:
2249 | version "1.0.1"
2250 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
2251 |
2252 | nunjucks@^3.0.1:
2253 | version "3.0.1"
2254 | resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.0.1.tgz#4de74a3e550baf6fa3370323f3d1c7c2a86bdc4d"
2255 | dependencies:
2256 | a-sync-waterfall "^1.0.0"
2257 | asap "^2.0.3"
2258 | yargs "^3.32.0"
2259 | optionalDependencies:
2260 | chokidar "^1.6.0"
2261 |
2262 | oauth-sign@~0.8.1:
2263 | version "0.8.2"
2264 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
2265 |
2266 | object-assign@4.1.0:
2267 | version "4.1.0"
2268 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
2269 |
2270 | object-assign@^4.0.1, object-assign@^4.1.0:
2271 | version "4.1.1"
2272 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
2273 |
2274 | object-component@0.0.3:
2275 | version "0.0.3"
2276 | resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
2277 |
2278 | object-keys@^1.0.10, object-keys@^1.0.8:
2279 | version "1.0.11"
2280 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
2281 |
2282 | object.assign@^4.0.4:
2283 | version "4.0.4"
2284 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc"
2285 | dependencies:
2286 | define-properties "^1.1.2"
2287 | function-bind "^1.1.0"
2288 | object-keys "^1.0.10"
2289 |
2290 | object.omit@^2.0.0:
2291 | version "2.0.1"
2292 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
2293 | dependencies:
2294 | for-own "^0.1.4"
2295 | is-extendable "^0.1.1"
2296 |
2297 | on-finished@~2.3.0:
2298 | version "2.3.0"
2299 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
2300 | dependencies:
2301 | ee-first "1.1.1"
2302 |
2303 | once@^1.3.0, once@^1.3.3:
2304 | version "1.4.0"
2305 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2306 | dependencies:
2307 | wrappy "1"
2308 |
2309 | onetime@^1.0.0:
2310 | version "1.1.0"
2311 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
2312 |
2313 | open@0.0.5:
2314 | version "0.0.5"
2315 | resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
2316 |
2317 | optionator@^0.8.2:
2318 | version "0.8.2"
2319 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
2320 | dependencies:
2321 | deep-is "~0.1.3"
2322 | fast-levenshtein "~2.0.4"
2323 | levn "~0.3.0"
2324 | prelude-ls "~1.1.2"
2325 | type-check "~0.3.2"
2326 | wordwrap "~1.0.0"
2327 |
2328 | options@>=0.0.5:
2329 | version "0.0.6"
2330 | resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
2331 |
2332 | os-homedir@^1.0.0:
2333 | version "1.0.2"
2334 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
2335 |
2336 | os-locale@^1.4.0:
2337 | version "1.4.0"
2338 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
2339 | dependencies:
2340 | lcid "^1.0.0"
2341 |
2342 | os-tmpdir@^1.0.0:
2343 | version "1.0.2"
2344 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
2345 |
2346 | osenv@0, osenv@^0.1.4:
2347 | version "0.1.4"
2348 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
2349 | dependencies:
2350 | os-homedir "^1.0.0"
2351 | os-tmpdir "^1.0.0"
2352 |
2353 | p-limit@^1.1.0:
2354 | version "1.1.0"
2355 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
2356 |
2357 | p-locate@^2.0.0:
2358 | version "2.0.0"
2359 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
2360 | dependencies:
2361 | p-limit "^1.1.0"
2362 |
2363 | parse-glob@^3.0.4:
2364 | version "3.0.4"
2365 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
2366 | dependencies:
2367 | glob-base "^0.3.0"
2368 | is-dotfile "^1.0.0"
2369 | is-extglob "^1.0.0"
2370 | is-glob "^2.0.0"
2371 |
2372 | parse-json@^2.2.0:
2373 | version "2.2.0"
2374 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
2375 | dependencies:
2376 | error-ex "^1.2.0"
2377 |
2378 | parsejson@0.0.3:
2379 | version "0.0.3"
2380 | resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
2381 | dependencies:
2382 | better-assert "~1.0.0"
2383 |
2384 | parseqs@0.0.5:
2385 | version "0.0.5"
2386 | resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
2387 | dependencies:
2388 | better-assert "~1.0.0"
2389 |
2390 | parseuri@0.0.5:
2391 | version "0.0.5"
2392 | resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
2393 | dependencies:
2394 | better-assert "~1.0.0"
2395 |
2396 | parseurl@~1.3.1:
2397 | version "1.3.1"
2398 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
2399 |
2400 | path-exists@^2.0.0:
2401 | version "2.1.0"
2402 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
2403 | dependencies:
2404 | pinkie-promise "^2.0.0"
2405 |
2406 | path-exists@^3.0.0:
2407 | version "3.0.0"
2408 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
2409 |
2410 | path-is-absolute@^1.0.0:
2411 | version "1.0.1"
2412 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2413 |
2414 | path-is-inside@^1.0.1:
2415 | version "1.0.2"
2416 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
2417 |
2418 | path-parse@^1.0.5:
2419 | version "1.0.5"
2420 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
2421 |
2422 | path-to-regexp@0.1.7:
2423 | version "0.1.7"
2424 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
2425 |
2426 | path-type@^1.0.0:
2427 | version "1.1.0"
2428 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
2429 | dependencies:
2430 | graceful-fs "^4.1.2"
2431 | pify "^2.0.0"
2432 | pinkie-promise "^2.0.0"
2433 |
2434 | performance-now@^0.2.0:
2435 | version "0.2.0"
2436 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
2437 |
2438 | pify@^2.0.0:
2439 | version "2.3.0"
2440 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
2441 |
2442 | pinkie-promise@^2.0.0:
2443 | version "2.0.1"
2444 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
2445 | dependencies:
2446 | pinkie "^2.0.0"
2447 |
2448 | pinkie@^2.0.0:
2449 | version "2.0.4"
2450 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
2451 |
2452 | pkg-conf@^2.0.0:
2453 | version "2.0.0"
2454 | resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279"
2455 | dependencies:
2456 | find-up "^2.0.0"
2457 | load-json-file "^2.0.0"
2458 |
2459 | pkg-config@^1.1.0:
2460 | version "1.1.1"
2461 | resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4"
2462 | dependencies:
2463 | debug-log "^1.0.0"
2464 | find-root "^1.0.0"
2465 | xtend "^4.0.1"
2466 |
2467 | pkg-dir@^1.0.0:
2468 | version "1.0.0"
2469 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
2470 | dependencies:
2471 | find-up "^1.0.0"
2472 |
2473 | pkg-up@^1.0.0:
2474 | version "1.0.0"
2475 | resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26"
2476 | dependencies:
2477 | find-up "^1.0.0"
2478 |
2479 | pluralize@^1.2.1:
2480 | version "1.2.1"
2481 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
2482 |
2483 | prelude-ls@~1.1.2:
2484 | version "1.1.2"
2485 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
2486 |
2487 | preserve@^0.2.0:
2488 | version "0.2.0"
2489 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
2490 |
2491 | process-nextick-args@~1.0.6:
2492 | version "1.0.7"
2493 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
2494 |
2495 | progress@^1.1.8:
2496 | version "1.1.8"
2497 | resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
2498 |
2499 | proxy-addr@~1.0.10:
2500 | version "1.0.10"
2501 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.0.10.tgz#0d40a82f801fc355567d2ecb65efe3f077f121c5"
2502 | dependencies:
2503 | forwarded "~0.1.0"
2504 | ipaddr.js "1.0.5"
2505 |
2506 | pseudomap@^1.0.2:
2507 | version "1.0.2"
2508 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
2509 |
2510 | punycode@^1.4.1:
2511 | version "1.4.1"
2512 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
2513 |
2514 | qs@4.0.0:
2515 | version "4.0.0"
2516 | resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607"
2517 |
2518 | qs@~6.4.0:
2519 | version "6.4.0"
2520 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
2521 |
2522 | randomatic@^1.1.3:
2523 | version "1.1.7"
2524 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
2525 | dependencies:
2526 | is-number "^3.0.0"
2527 | kind-of "^4.0.0"
2528 |
2529 | range-parser@~1.0.3:
2530 | version "1.0.3"
2531 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175"
2532 |
2533 | rc@^1.1.7:
2534 | version "1.2.1"
2535 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
2536 | dependencies:
2537 | deep-extend "~0.4.0"
2538 | ini "~1.3.0"
2539 | minimist "^1.2.0"
2540 | strip-json-comments "~2.0.1"
2541 |
2542 | read-pkg-up@^1.0.1:
2543 | version "1.0.1"
2544 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
2545 | dependencies:
2546 | find-up "^1.0.0"
2547 | read-pkg "^1.0.0"
2548 |
2549 | read-pkg@^1.0.0:
2550 | version "1.1.0"
2551 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
2552 | dependencies:
2553 | load-json-file "^1.0.0"
2554 | normalize-package-data "^2.3.2"
2555 | path-type "^1.0.0"
2556 |
2557 | readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2:
2558 | version "2.3.3"
2559 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
2560 | dependencies:
2561 | core-util-is "~1.0.0"
2562 | inherits "~2.0.3"
2563 | isarray "~1.0.0"
2564 | process-nextick-args "~1.0.6"
2565 | safe-buffer "~5.1.1"
2566 | string_decoder "~1.0.3"
2567 | util-deprecate "~1.0.1"
2568 |
2569 | readdirp@^2.0.0:
2570 | version "2.1.0"
2571 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
2572 | dependencies:
2573 | graceful-fs "^4.1.2"
2574 | minimatch "^3.0.2"
2575 | readable-stream "^2.0.2"
2576 | set-immediate-shim "^1.0.1"
2577 |
2578 | readline2@^1.0.1:
2579 | version "1.0.1"
2580 | resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
2581 | dependencies:
2582 | code-point-at "^1.0.0"
2583 | is-fullwidth-code-point "^1.0.0"
2584 | mute-stream "0.0.5"
2585 |
2586 | rechoir@^0.6.2:
2587 | version "0.6.2"
2588 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
2589 | dependencies:
2590 | resolve "^1.1.6"
2591 |
2592 | redent@^1.0.0:
2593 | version "1.0.0"
2594 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
2595 | dependencies:
2596 | indent-string "^2.1.0"
2597 | strip-indent "^1.0.1"
2598 |
2599 | regenerator-runtime@^0.10.0:
2600 | version "0.10.5"
2601 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
2602 |
2603 | regex-cache@^0.4.2:
2604 | version "0.4.3"
2605 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
2606 | dependencies:
2607 | is-equal-shallow "^0.1.3"
2608 | is-primitive "^2.0.0"
2609 |
2610 | remove-trailing-separator@^1.0.1:
2611 | version "1.1.0"
2612 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
2613 |
2614 | repeat-element@^1.1.2:
2615 | version "1.1.2"
2616 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
2617 |
2618 | repeat-string@^1.5.2:
2619 | version "1.6.1"
2620 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
2621 |
2622 | repeating@^2.0.0:
2623 | version "2.0.1"
2624 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
2625 | dependencies:
2626 | is-finite "^1.0.0"
2627 |
2628 | request@2, request@^2.78.0, request@^2.79.0, request@^2.81.0:
2629 | version "2.81.0"
2630 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
2631 | dependencies:
2632 | aws-sign2 "~0.6.0"
2633 | aws4 "^1.2.1"
2634 | caseless "~0.12.0"
2635 | combined-stream "~1.0.5"
2636 | extend "~3.0.0"
2637 | forever-agent "~0.6.1"
2638 | form-data "~2.1.1"
2639 | har-validator "~4.2.1"
2640 | hawk "~3.1.3"
2641 | http-signature "~1.1.0"
2642 | is-typedarray "~1.0.0"
2643 | isstream "~0.1.2"
2644 | json-stringify-safe "~5.0.1"
2645 | mime-types "~2.1.7"
2646 | oauth-sign "~0.8.1"
2647 | performance-now "^0.2.0"
2648 | qs "~6.4.0"
2649 | safe-buffer "^5.0.1"
2650 | stringstream "~0.0.4"
2651 | tough-cookie "~2.3.0"
2652 | tunnel-agent "^0.6.0"
2653 | uuid "^3.0.0"
2654 |
2655 | require-directory@^2.1.1:
2656 | version "2.1.1"
2657 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2658 |
2659 | require-main-filename@^1.0.1:
2660 | version "1.0.1"
2661 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
2662 |
2663 | require-uncached@^1.0.2:
2664 | version "1.0.3"
2665 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
2666 | dependencies:
2667 | caller-path "^0.1.0"
2668 | resolve-from "^1.0.0"
2669 |
2670 | resolve-from@^1.0.0:
2671 | version "1.0.1"
2672 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
2673 |
2674 | resolve@^1.1.6, resolve@^1.1.7:
2675 | version "1.4.0"
2676 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86"
2677 | dependencies:
2678 | path-parse "^1.0.5"
2679 |
2680 | restore-cursor@^1.0.1:
2681 | version "1.0.1"
2682 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
2683 | dependencies:
2684 | exit-hook "^1.0.0"
2685 | onetime "^1.0.0"
2686 |
2687 | rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1:
2688 | version "2.6.1"
2689 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
2690 | dependencies:
2691 | glob "^7.0.5"
2692 |
2693 | run-async@^0.1.0:
2694 | version "0.1.0"
2695 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
2696 | dependencies:
2697 | once "^1.3.0"
2698 |
2699 | run-parallel@^1.1.2:
2700 | version "1.1.6"
2701 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.6.tgz#29003c9a2163e01e2d2dfc90575f2c6c1d61a039"
2702 |
2703 | rx-lite@^3.1.2:
2704 | version "3.1.2"
2705 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
2706 |
2707 | safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
2708 | version "5.1.1"
2709 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
2710 |
2711 | sass-graph@^2.1.1:
2712 | version "2.2.4"
2713 | resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
2714 | dependencies:
2715 | glob "^7.0.0"
2716 | lodash "^4.0.0"
2717 | scss-tokenizer "^0.2.3"
2718 | yargs "^7.0.0"
2719 |
2720 | scss-tokenizer@^0.2.3:
2721 | version "0.2.3"
2722 | resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
2723 | dependencies:
2724 | js-base64 "^2.1.8"
2725 | source-map "^0.4.2"
2726 |
2727 | "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0:
2728 | version "5.4.1"
2729 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
2730 |
2731 | semver@5.3.0, semver@~5.3.0:
2732 | version "5.3.0"
2733 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
2734 |
2735 | send@0.13.1:
2736 | version "0.13.1"
2737 | resolved "https://registry.yarnpkg.com/send/-/send-0.13.1.tgz#a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7"
2738 | dependencies:
2739 | debug "~2.2.0"
2740 | depd "~1.1.0"
2741 | destroy "~1.0.4"
2742 | escape-html "~1.0.3"
2743 | etag "~1.7.0"
2744 | fresh "0.3.0"
2745 | http-errors "~1.3.1"
2746 | mime "1.3.4"
2747 | ms "0.7.1"
2748 | on-finished "~2.3.0"
2749 | range-parser "~1.0.3"
2750 | statuses "~1.2.1"
2751 |
2752 | send@0.13.2:
2753 | version "0.13.2"
2754 | resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de"
2755 | dependencies:
2756 | debug "~2.2.0"
2757 | depd "~1.1.0"
2758 | destroy "~1.0.4"
2759 | escape-html "~1.0.3"
2760 | etag "~1.7.0"
2761 | fresh "0.3.0"
2762 | http-errors "~1.3.1"
2763 | mime "1.3.4"
2764 | ms "0.7.1"
2765 | on-finished "~2.3.0"
2766 | range-parser "~1.0.3"
2767 | statuses "~1.2.1"
2768 |
2769 | serve-static@~1.10.2:
2770 | version "1.10.3"
2771 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535"
2772 | dependencies:
2773 | escape-html "~1.0.3"
2774 | parseurl "~1.3.1"
2775 | send "0.13.2"
2776 |
2777 | set-blocking@^2.0.0, set-blocking@~2.0.0:
2778 | version "2.0.0"
2779 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
2780 |
2781 | set-immediate-shim@^1.0.1:
2782 | version "1.0.1"
2783 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
2784 |
2785 | shebang-command@^1.2.0:
2786 | version "1.2.0"
2787 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
2788 | dependencies:
2789 | shebang-regex "^1.0.0"
2790 |
2791 | shebang-regex@^1.0.0:
2792 | version "1.0.0"
2793 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
2794 |
2795 | shelljs@^0.7.5:
2796 | version "0.7.8"
2797 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
2798 | dependencies:
2799 | glob "^7.0.0"
2800 | interpret "^1.0.0"
2801 | rechoir "^0.6.2"
2802 |
2803 | signal-exit@^3.0.0:
2804 | version "3.0.2"
2805 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
2806 |
2807 | slice-ansi@0.0.4:
2808 | version "0.0.4"
2809 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
2810 |
2811 | slick@1.12.2:
2812 | version "1.12.2"
2813 | resolved "https://registry.yarnpkg.com/slick/-/slick-1.12.2.tgz#bd048ddb74de7d1ca6915faa4a57570b3550c2d7"
2814 |
2815 | smtp-connection@2.3.1:
2816 | version "2.3.1"
2817 | resolved "https://registry.yarnpkg.com/smtp-connection/-/smtp-connection-2.3.1.tgz#d169c8f1c9a73854134cdabe6fb818237dfc4fba"
2818 | dependencies:
2819 | nodemailer-shared "1.0.4"
2820 |
2821 | smtp-server@1.16.1:
2822 | version "1.16.1"
2823 | resolved "https://registry.yarnpkg.com/smtp-server/-/smtp-server-1.16.1.tgz#91d2dbd5e8bb9ed395b1a1774e8b60dd7b24e453"
2824 | dependencies:
2825 | ipv6-normalize "^1.0.1"
2826 | nodemailer-shared "^1.1.0"
2827 |
2828 | sntp@1.x.x:
2829 | version "1.0.9"
2830 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
2831 | dependencies:
2832 | hoek "2.x.x"
2833 |
2834 | socket.io-adapter@0.5.0:
2835 | version "0.5.0"
2836 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
2837 | dependencies:
2838 | debug "2.3.3"
2839 | socket.io-parser "2.3.1"
2840 |
2841 | socket.io-client@1.7.3:
2842 | version "1.7.3"
2843 | resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377"
2844 | dependencies:
2845 | backo2 "1.0.2"
2846 | component-bind "1.0.0"
2847 | component-emitter "1.2.1"
2848 | debug "2.3.3"
2849 | engine.io-client "1.8.3"
2850 | has-binary "0.1.7"
2851 | indexof "0.0.1"
2852 | object-component "0.0.3"
2853 | parseuri "0.0.5"
2854 | socket.io-parser "2.3.1"
2855 | to-array "0.1.4"
2856 |
2857 | socket.io-parser@2.3.1:
2858 | version "2.3.1"
2859 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
2860 | dependencies:
2861 | component-emitter "1.1.2"
2862 | debug "2.2.0"
2863 | isarray "0.0.1"
2864 | json3 "3.3.2"
2865 |
2866 | socket.io@1.7.3:
2867 | version "1.7.3"
2868 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b"
2869 | dependencies:
2870 | debug "2.3.3"
2871 | engine.io "1.8.3"
2872 | has-binary "0.1.7"
2873 | object-assign "4.1.0"
2874 | socket.io-adapter "0.5.0"
2875 | socket.io-client "1.7.3"
2876 | socket.io-parser "2.3.1"
2877 |
2878 | source-map@^0.4.2:
2879 | version "0.4.4"
2880 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
2881 | dependencies:
2882 | amdefine ">=0.0.4"
2883 |
2884 | spdx-correct@~1.0.0:
2885 | version "1.0.2"
2886 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
2887 | dependencies:
2888 | spdx-license-ids "^1.0.2"
2889 |
2890 | spdx-expression-parse@~1.0.0:
2891 | version "1.0.4"
2892 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
2893 |
2894 | spdx-license-ids@^1.0.2:
2895 | version "1.2.2"
2896 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
2897 |
2898 | sprintf-js@~1.0.2:
2899 | version "1.0.3"
2900 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
2901 |
2902 | sshpk@^1.7.0:
2903 | version "1.13.1"
2904 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
2905 | dependencies:
2906 | asn1 "~0.2.3"
2907 | assert-plus "^1.0.0"
2908 | dashdash "^1.12.0"
2909 | getpass "^0.1.1"
2910 | optionalDependencies:
2911 | bcrypt-pbkdf "^1.0.0"
2912 | ecc-jsbn "~0.1.1"
2913 | jsbn "~0.1.0"
2914 | tweetnacl "~0.14.0"
2915 |
2916 | stack-trace@0.0.x:
2917 | version "0.0.10"
2918 | resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
2919 |
2920 | standard-engine@~7.0.0:
2921 | version "7.0.0"
2922 | resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-7.0.0.tgz#ebb77b9c8fc2c8165ffa353bd91ba0dff41af690"
2923 | dependencies:
2924 | deglob "^2.1.0"
2925 | get-stdin "^5.0.1"
2926 | minimist "^1.1.0"
2927 | pkg-conf "^2.0.0"
2928 |
2929 | standard@^10.0.3:
2930 | version "10.0.3"
2931 | resolved "https://registry.yarnpkg.com/standard/-/standard-10.0.3.tgz#7869bcbf422bdeeaab689a1ffb1fea9677dd50ea"
2932 | dependencies:
2933 | eslint "~3.19.0"
2934 | eslint-config-standard "10.2.1"
2935 | eslint-config-standard-jsx "4.0.2"
2936 | eslint-plugin-import "~2.2.0"
2937 | eslint-plugin-node "~4.2.2"
2938 | eslint-plugin-promise "~3.5.0"
2939 | eslint-plugin-react "~6.10.0"
2940 | eslint-plugin-standard "~3.0.1"
2941 | standard-engine "~7.0.0"
2942 |
2943 | statuses@1:
2944 | version "1.3.1"
2945 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
2946 |
2947 | statuses@~1.2.1:
2948 | version "1.2.1"
2949 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28"
2950 |
2951 | stdout-stream@^1.4.0:
2952 | version "1.4.0"
2953 | resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b"
2954 | dependencies:
2955 | readable-stream "^2.0.1"
2956 |
2957 | string-width@^1.0.1, string-width@^1.0.2:
2958 | version "1.0.2"
2959 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
2960 | dependencies:
2961 | code-point-at "^1.0.0"
2962 | is-fullwidth-code-point "^1.0.0"
2963 | strip-ansi "^3.0.0"
2964 |
2965 | string-width@^2.0.0:
2966 | version "2.1.1"
2967 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
2968 | dependencies:
2969 | is-fullwidth-code-point "^2.0.0"
2970 | strip-ansi "^4.0.0"
2971 |
2972 | string_decoder@~1.0.3:
2973 | version "1.0.3"
2974 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
2975 | dependencies:
2976 | safe-buffer "~5.1.0"
2977 |
2978 | stringstream@~0.0.4:
2979 | version "0.0.5"
2980 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
2981 |
2982 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
2983 | version "3.0.1"
2984 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
2985 | dependencies:
2986 | ansi-regex "^2.0.0"
2987 |
2988 | strip-ansi@^4.0.0:
2989 | version "4.0.0"
2990 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
2991 | dependencies:
2992 | ansi-regex "^3.0.0"
2993 |
2994 | strip-bom@^2.0.0:
2995 | version "2.0.0"
2996 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
2997 | dependencies:
2998 | is-utf8 "^0.2.0"
2999 |
3000 | strip-bom@^3.0.0:
3001 | version "3.0.0"
3002 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
3003 |
3004 | strip-indent@^1.0.1:
3005 | version "1.0.1"
3006 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
3007 | dependencies:
3008 | get-stdin "^4.0.1"
3009 |
3010 | strip-json-comments@~2.0.1:
3011 | version "2.0.1"
3012 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
3013 |
3014 | supports-color@^2.0.0:
3015 | version "2.0.0"
3016 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
3017 |
3018 | table@^3.7.8:
3019 | version "3.8.3"
3020 | resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
3021 | dependencies:
3022 | ajv "^4.7.0"
3023 | ajv-keywords "^1.0.0"
3024 | chalk "^1.1.1"
3025 | lodash "^4.0.0"
3026 | slice-ansi "0.0.4"
3027 | string-width "^2.0.0"
3028 |
3029 | tar-pack@^3.4.0:
3030 | version "3.4.0"
3031 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
3032 | dependencies:
3033 | debug "^2.2.0"
3034 | fstream "^1.0.10"
3035 | fstream-ignore "^1.0.5"
3036 | once "^1.3.3"
3037 | readable-stream "^2.1.4"
3038 | rimraf "^2.5.1"
3039 | tar "^2.2.1"
3040 | uid-number "^0.0.6"
3041 |
3042 | tar@^2.0.0, tar@^2.2.1:
3043 | version "2.2.1"
3044 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
3045 | dependencies:
3046 | block-stream "*"
3047 | fstream "^1.0.2"
3048 | inherits "2"
3049 |
3050 | text-table@~0.2.0:
3051 | version "0.2.0"
3052 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
3053 |
3054 | through@^2.3.6:
3055 | version "2.3.8"
3056 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
3057 |
3058 | to-array@0.1.4:
3059 | version "0.1.4"
3060 | resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
3061 |
3062 | topo@1.x.x:
3063 | version "1.1.0"
3064 | resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5"
3065 | dependencies:
3066 | hoek "2.x.x"
3067 |
3068 | tough-cookie@~2.3.0:
3069 | version "2.3.2"
3070 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
3071 | dependencies:
3072 | punycode "^1.4.1"
3073 |
3074 | trim-newlines@^1.0.0:
3075 | version "1.0.0"
3076 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
3077 |
3078 | tryit@^1.0.1:
3079 | version "1.0.3"
3080 | resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
3081 |
3082 | tunnel-agent@^0.6.0:
3083 | version "0.6.0"
3084 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
3085 | dependencies:
3086 | safe-buffer "^5.0.1"
3087 |
3088 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
3089 | version "0.14.5"
3090 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
3091 |
3092 | type-check@~0.3.2:
3093 | version "0.3.2"
3094 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
3095 | dependencies:
3096 | prelude-ls "~1.1.2"
3097 |
3098 | type-is@~1.6.6:
3099 | version "1.6.15"
3100 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
3101 | dependencies:
3102 | media-typer "0.3.0"
3103 | mime-types "~2.1.15"
3104 |
3105 | typedarray@^0.0.6:
3106 | version "0.0.6"
3107 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
3108 |
3109 | uid-number@^0.0.6:
3110 | version "0.0.6"
3111 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
3112 |
3113 | ultron@1.0.x:
3114 | version "1.0.2"
3115 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
3116 |
3117 | uniq@^1.0.1:
3118 | version "1.0.1"
3119 | resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
3120 |
3121 | unpipe@~1.0.0:
3122 | version "1.0.0"
3123 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
3124 |
3125 | urlsafe-base64@^1.0.0, urlsafe-base64@~1.0.0:
3126 | version "1.0.0"
3127 | resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6"
3128 |
3129 | user-home@^2.0.0:
3130 | version "2.0.0"
3131 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
3132 | dependencies:
3133 | os-homedir "^1.0.0"
3134 |
3135 | util-deprecate@~1.0.1:
3136 | version "1.0.2"
3137 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
3138 |
3139 | utils-merge@1.0.0:
3140 | version "1.0.0"
3141 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
3142 |
3143 | uue@^3.1.0:
3144 | version "3.1.0"
3145 | resolved "https://registry.yarnpkg.com/uue/-/uue-3.1.0.tgz#5d67d37030e66efebbb4b8aac46daf9b55befbf6"
3146 | dependencies:
3147 | extend "~3.0.0"
3148 |
3149 | uuid@^3.0.0:
3150 | version "3.1.0"
3151 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
3152 |
3153 | validate-npm-package-license@^3.0.1:
3154 | version "3.0.1"
3155 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
3156 | dependencies:
3157 | spdx-correct "~1.0.0"
3158 | spdx-expression-parse "~1.0.0"
3159 |
3160 | vary@~1.0.1:
3161 | version "1.0.1"
3162 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10"
3163 |
3164 | verror@1.10.0, verror@^1.10.0:
3165 | version "1.10.0"
3166 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
3167 | dependencies:
3168 | assert-plus "^1.0.0"
3169 | core-util-is "1.0.2"
3170 | extsprintf "^1.2.0"
3171 |
3172 | web-push@3.2.2:
3173 | version "3.2.2"
3174 | resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.2.2.tgz#d2f7c5590a3037cb50e4442b5117edd6475768a5"
3175 | dependencies:
3176 | asn1.js "^4.8.1"
3177 | http_ece "^0.5.2"
3178 | jws "^3.1.3"
3179 | minimist "^1.2.0"
3180 | urlsafe-base64 "^1.0.0"
3181 |
3182 | web-resource-inliner@^4.1.0:
3183 | version "4.1.0"
3184 | resolved "https://registry.yarnpkg.com/web-resource-inliner/-/web-resource-inliner-4.1.0.tgz#a97aeb899c3d3c7f812dec6d5910843032667943"
3185 | dependencies:
3186 | async "^2.1.2"
3187 | chalk "^1.1.3"
3188 | datauri "^1.0.4"
3189 | htmlparser2 "^3.9.2"
3190 | lodash.unescape "^4.0.1"
3191 | request "^2.78.0"
3192 | xtend "^4.0.0"
3193 |
3194 | which-module@^1.0.0:
3195 | version "1.0.0"
3196 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
3197 |
3198 | which@1, which@^1.2.9:
3199 | version "1.3.0"
3200 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
3201 | dependencies:
3202 | isexe "^2.0.0"
3203 |
3204 | wide-align@^1.1.0:
3205 | version "1.1.2"
3206 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
3207 | dependencies:
3208 | string-width "^1.0.2"
3209 |
3210 | wildstring@1.0.8:
3211 | version "1.0.8"
3212 | resolved "https://registry.yarnpkg.com/wildstring/-/wildstring-1.0.8.tgz#80b5f85b7f8aa98bc19cc230e60ac7f5e0dd226d"
3213 |
3214 | window-size@^0.1.4:
3215 | version "0.1.4"
3216 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
3217 |
3218 | winston@2.3.1:
3219 | version "2.3.1"
3220 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.3.1.tgz#0b48420d978c01804cf0230b648861598225a119"
3221 | dependencies:
3222 | async "~1.0.0"
3223 | colors "1.0.x"
3224 | cycle "1.0.x"
3225 | eyes "0.1.x"
3226 | isstream "0.1.x"
3227 | stack-trace "0.0.x"
3228 |
3229 | wns@^0.5.3:
3230 | version "0.5.3"
3231 | resolved "https://registry.yarnpkg.com/wns/-/wns-0.5.3.tgz#00f4e85cfcf8e3383dcbd81898906f1f6ad4845f"
3232 |
3233 | wordwrap@~1.0.0:
3234 | version "1.0.0"
3235 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
3236 |
3237 | wrap-ansi@^2.0.0:
3238 | version "2.1.0"
3239 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
3240 | dependencies:
3241 | string-width "^1.0.1"
3242 | strip-ansi "^3.0.1"
3243 |
3244 | wrappy@1:
3245 | version "1.0.2"
3246 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
3247 |
3248 | write@^0.2.1:
3249 | version "0.2.1"
3250 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
3251 | dependencies:
3252 | mkdirp "^0.5.1"
3253 |
3254 | ws@1.1.2:
3255 | version "1.1.2"
3256 | resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
3257 | dependencies:
3258 | options ">=0.0.5"
3259 | ultron "1.0.x"
3260 |
3261 | wtf-8@1.0.0:
3262 | version "1.0.0"
3263 | resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
3264 |
3265 | xmlhttprequest-ssl@1.5.3:
3266 | version "1.5.3"
3267 | resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
3268 |
3269 | xtend@^4.0.0, xtend@^4.0.1:
3270 | version "4.0.1"
3271 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
3272 |
3273 | y18n@^3.2.0, y18n@^3.2.1:
3274 | version "3.2.1"
3275 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
3276 |
3277 | yallist@^2.1.2:
3278 | version "2.1.2"
3279 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
3280 |
3281 | yargs-parser@^5.0.0:
3282 | version "5.0.0"
3283 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
3284 | dependencies:
3285 | camelcase "^3.0.0"
3286 |
3287 | yargs@^3.32.0:
3288 | version "3.32.0"
3289 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995"
3290 | dependencies:
3291 | camelcase "^2.0.1"
3292 | cliui "^3.0.3"
3293 | decamelize "^1.1.1"
3294 | os-locale "^1.4.0"
3295 | string-width "^1.0.1"
3296 | window-size "^0.1.4"
3297 | y18n "^3.2.0"
3298 |
3299 | yargs@^7.0.0:
3300 | version "7.1.0"
3301 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
3302 | dependencies:
3303 | camelcase "^3.0.0"
3304 | cliui "^3.2.0"
3305 | decamelize "^1.1.1"
3306 | get-caller-file "^1.0.1"
3307 | os-locale "^1.4.0"
3308 | read-pkg-up "^1.0.1"
3309 | require-directory "^2.1.1"
3310 | require-main-filename "^1.0.1"
3311 | set-blocking "^2.0.0"
3312 | string-width "^1.0.2"
3313 | which-module "^1.0.0"
3314 | y18n "^3.2.1"
3315 | yargs-parser "^5.0.0"
3316 |
3317 | yeast@0.1.2:
3318 | version "0.1.2"
3319 | resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
3320 |
--------------------------------------------------------------------------------