Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2018-08-17 11:38:40 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2018-08-17 11:38:40 +0300
commit0ff788a14db963b6dcd49f1c2b362d472f28247a (patch)
tree3190b4d5e5b6a56fdf8436f6ab4b9aef492b7516
parent1ecf67c6af75e9a82e33a105bb1d785903bde566 (diff)
Add Vue
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
-rw-r--r--.browserslistrc3
-rw-r--r--.eslintrc.js17
-rw-r--r--babel.config.js5
-rw-r--r--js/App.vue30
-rw-r--r--js/app.js153
-rw-r--r--js/controller/accountcontroller.js57
-rw-r--r--js/controller/foldercontroller.js250
-rw-r--r--js/controller/messagecontroller.js209
-rw-r--r--js/init.js37
-rw-r--r--js/main.js12
-rw-r--r--js/models/account.js105
-rw-r--r--js/models/accountcollection.js32
-rw-r--r--js/models/alias.js38
-rw-r--r--js/models/aliasescollection.js25
-rw-r--r--js/models/attachment.js45
-rw-r--r--js/models/attachments.js25
-rw-r--r--js/models/dav/calendar.js26
-rw-r--r--js/models/folder.js95
-rw-r--r--js/models/foldercollection.js25
-rw-r--r--js/models/localattachment.js36
-rw-r--r--js/models/message.js57
-rw-r--r--js/models/messagecollection.js28
-rw-r--r--js/models/messageflags.js26
-rw-r--r--js/models/unifiedmessagecollection.js32
-rw-r--r--js/radio.js42
-rw-r--r--js/routecontroller.js193
-rw-r--r--js/router.js60
-rw-r--r--js/search.js32
-rw-r--r--js/state.js82
-rw-r--r--js/store.js12
-rw-r--r--js/templatehelpers/accountColor.js40
-rw-r--r--js/templatehelpers/formatDate.js29
-rw-r--r--js/templatehelpers/humanFileSize.js28
-rw-r--r--js/templatehelpers/ifHasCC.js32
-rw-r--r--js/templatehelpers/ifToNoreply.js39
-rw-r--r--js/templatehelpers/printAddressList.js54
-rw-r--r--js/templatehelpers/printAddressListPlain.js44
-rw-r--r--js/templatehelpers/relativeModifiedDate.js33
-rw-r--r--js/templatehelpers/t.js26
-rw-r--r--js/templatehelpers/unlessHasCC.js32
-rw-r--r--js/templates/account-form.html113
-rw-r--r--js/templates/account.html43
-rw-r--r--js/templates/accountsettings.html22
-rw-r--r--js/templates/aliases-list.html14
-rw-r--r--js/templates/attachment.html2
-rw-r--r--js/templates/attachments.html8
-rw-r--r--js/templates/calendar.html1
-rw-r--r--js/templates/composer.html50
-rw-r--r--js/templates/empty-folder.html2
-rw-r--r--js/templates/empty-message.html1
-rw-r--r--js/templates/error.html8
-rw-r--r--js/templates/folder.html15
-rw-r--r--js/templates/foldercontent.html2
-rw-r--r--js/templates/keyboard-shortcuts.html48
-rw-r--r--js/templates/loading.html8
-rw-r--r--js/templates/message-attachment.html12
-rw-r--r--js/templates/message-attachments.html8
-rw-r--r--js/templates/message-list-item.html58
-rw-r--r--js/templates/message-list.html5
-rwxr-xr-xjs/templates/message.html37
-rw-r--r--js/templates/newmessage.html3
-rw-r--r--js/templates/no-search-results-message-list.html4
-rw-r--r--js/templates/settings.html25
-rw-r--r--js/templates/setup.html1
-rw-r--r--js/tests/e2e/custom-assertions/elementCount.js19
-rw-r--r--js/tests/e2e/specs/test.js14
-rw-r--r--js/tests/index.html12
-rw-r--r--js/tests/integration/app_start_spec.js103
-rw-r--r--js/tests/models/account_spec.js64
-rw-r--r--js/tests/models/accountcollection_spec.js55
-rw-r--r--js/tests/models/alias_spec.js41
-rw-r--r--js/tests/models/aliasescollection_spec.js35
-rw-r--r--js/tests/models/attachment_spec.js56
-rw-r--r--js/tests/models/attachments_spec.js37
-rw-r--r--js/tests/models/folder_spec.js77
-rw-r--r--js/tests/models/foldercollection_spec.js35
-rw-r--r--js/tests/models/localattachment_spec.js69
-rw-r--r--js/tests/models/message_spec.js49
-rw-r--r--js/tests/models/messagecollection_spec.js43
-rw-r--r--js/tests/models/messageflags_spec.js34
-rw-r--r--js/tests/replybuilder_spec.js191
-rw-r--r--js/tests/service/avatarservice_spec.js78
-rw-r--r--js/tests/service/backgroundsyncservice_spec.js49
-rw-r--r--js/tests/service/foldersyncservice_spec.js496
-rw-r--r--js/tests/service/messageservice_spec.js198
-rw-r--r--js/tests/service/preferenceservice_spec.js92
-rw-r--r--js/tests/service_accountservice_spec.js82
-rw-r--r--js/tests/service_attachmentservice_spec.js124
-rw-r--r--js/tests/test-main.js75
-rw-r--r--js/tests/test_init.js27
-rw-r--r--js/tests/unit/.eslintrc.js8
-rw-r--r--js/tests/unit/HelloWorld.spec.js13
-rw-r--r--js/tests/util/htmlhelper_spec.js111
-rw-r--r--js/tests/util_notificationhandler_spec.js95
-rw-r--r--js/tests/views/accountview_spec.js43
-rw-r--r--js/tests/views/attachment_spec.js128
-rw-r--r--js/tests/views/attachments_spec.js46
-rw-r--r--js/tests/views/calendarview_spec.js40
-rw-r--r--js/tests/views/composerview_spec.js275
-rw-r--r--js/tests/views/emptyfolderview_spec.js43
-rw-r--r--js/tests/views/errorview_spec.js44
-rw-r--r--js/tests/views/foldercontent_spec.js102
-rw-r--r--js/tests/views/folderview_spec.js62
-rw-r--r--js/tests/views/keyboardshortcuts_spec.js36
-rw-r--r--js/tests/views/messagesitem_spec.js97
-rw-r--r--js/tests/views/settings_spec.js41
-rw-r--r--js/tests/views/setupviewtest.js105
-rw-r--r--js/util/notificationhandler.js115
-rw-r--r--js/views/About.vue5
-rw-r--r--js/views/Home.vue10
-rw-r--r--js/views/accountformview.js221
-rw-r--r--js/views/accountsettings.js121
-rw-r--r--js/views/accountview.js148
-rw-r--r--js/views/aliases-list.js55
-rw-r--r--js/views/aliases.js27
-rw-r--r--js/views/appview.js257
-rw-r--r--js/views/attachmentsview.js91
-rw-r--r--js/views/attachmentview.js90
-rw-r--r--js/views/calendarspopoverview.js30
-rw-r--r--js/views/calendarview.js30
-rw-r--r--js/views/composerview.js635
-rw-r--r--js/views/emptyfolderview.js32
-rw-r--r--js/views/emptymessageview.js35
-rw-r--r--js/views/errorview.js64
-rw-r--r--js/views/foldercontent.js214
-rw-r--r--js/views/folderlistview.js46
-rw-r--r--js/views/folderview.js139
-rwxr-xr-xjs/views/helper.js38
-rw-r--r--js/views/imageplaceholder.js33
-rw-r--r--js/views/keyboardshortcuts.js32
-rw-r--r--js/views/loadingview.js44
-rw-r--r--js/views/messageattachmentsview.js87
-rw-r--r--js/views/messageattachmentview.js147
-rw-r--r--js/views/messagesitem.js220
-rw-r--r--js/views/messagesview.js274
-rw-r--r--js/views/messageview.js152
-rw-r--r--js/views/navigation-accounts.js71
-rw-r--r--js/views/navigation.js60
-rw-r--r--js/views/newmessage.js56
-rw-r--r--js/views/nosearchresultmessagelistview.js25
-rw-r--r--js/views/settings.js60
-rw-r--r--js/views/setupview.js118
-rw-r--r--js/views/tooltip.js33
-rw-r--r--package-lock.json12966
-rw-r--r--package.json96
-rw-r--r--postcss.config.js5
-rw-r--r--templates/index.php23
-rw-r--r--vue.config.js17
148 files changed, 8671 insertions, 14331 deletions
diff --git a/.browserslistrc b/.browserslistrc
new file mode 100644
index 000000000..9dee64646
--- /dev/null
+++ b/.browserslistrc
@@ -0,0 +1,3 @@
+> 1%
+last 2 versions
+not ie <= 8
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 000000000..1c6179f37
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,17 @@
+module.exports = {
+ root: true,
+ env: {
+ node: true
+ },
+ 'extends': [
+ 'plugin:vue/essential',
+ 'eslint:recommended'
+ ],
+ rules: {
+ 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
+ },
+ parserOptions: {
+ parser: 'babel-eslint'
+ }
+}
diff --git a/babel.config.js b/babel.config.js
new file mode 100644
index 000000000..ba179669a
--- /dev/null
+++ b/babel.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ presets: [
+ '@vue/app'
+ ]
+}
diff --git a/js/App.vue b/js/App.vue
new file mode 100644
index 000000000..8fdf073b6
--- /dev/null
+++ b/js/App.vue
@@ -0,0 +1,30 @@
+<template>
+ <div id="content" class="app-mail">
+ <div id="app-navigation" class="icon-loading">
+ <div id="mail-new-message-fixed"
+ class="app-navigation-new">
+ </div>
+ <ul id="usergrouplist"></ul>
+ <div id="app-settings">
+ <div id="app-settings-header">
+ <button class="settings-button"
+ data-apps-slide-toggle="#app-settings-content"><?php p($l->
+ t('Settings'));?>
+ </button>
+ </div>
+ <div id="app-settings-content"></div>
+ </div>
+ </div>
+ <div id="app-content">
+ <div id="app-content-wrapper"></div>
+ </div>
+ </div>
+</template>
+
+<script>
+ export default {}
+</script>
+
+<style>
+
+</style>
diff --git a/js/app.js b/js/app.js
deleted file mode 100644
index 844eb2099..000000000
--- a/js/app.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- // Enable ES6 promise polyfill
- require('es6-promise').polyfill();
-
- var $ = require('jquery');
- var Backbone = require('backbone');
- var Marionette = require('backbone.marionette');
- var OC = require('OC');
- var AppView = require('views/appview');
- var Search = require('search');
- var Radio = require('radio');
- var Router = require('router');
- var AccountController = require('controller/accountcontroller');
- var RouteController = require('routecontroller');
-
- // Load controllers/services
- require('controller/foldercontroller');
- require('controller/messagecontroller');
- require('service/accountservice');
- require('service/avatarservice');
- require('service/aliasesservice');
- require('service/attachmentservice');
- require('service/backgroundsyncservice');
- require('service/davservice');
- require('service/folderservice');
- require('service/foldersyncservice');
- require('service/messageservice');
- require('service/preferenceservice');
- require('util/notificationhandler');
-
- var Mail = Marionette.Application.extend({
-
- _useExternalAvatars: false,
-
- getUseExternalAvatars: function() {
- return this._useExternalAvatars;
- },
-
- /**
- * Register the mailto protocol handler
- */
- registerProtocolHandler: function() {
- if (window.navigator.registerProtocolHandler) {
- var url = window.location.protocol + '//' +
- window.location.host +
- OC.generateUrl('apps/mail/compose?uri=%s');
- try {
- window.navigator
- .registerProtocolHandler('mailto', url, OC.theme.name + ' Mail');
- } catch (e) {
- }
- }
- },
-
- requestNotificationPermissions: function() {
- Radio.ui.trigger('notification:request');
- },
-
- /**
- * Register the actual search module in the search proxy
- */
- setUpSearch: function() {
- new OCA.Search(Search.filter, function() {
- Search.filter('');
- });
- },
-
- /**
- * Start syncing accounts in the background
- *
- * @param {AccountCollection} accounts
- */
- startBackgroundSync: function(accounts) {
- Radio.sync.trigger('start', accounts);
- }
- });
-
- Mail = new Mail();
-
- Mail.on('start', function() {
- this._useExternalAvatars = $('#external-avatars').val() === 'true';
-
- this.view = new AppView();
-
- Radio.ui.trigger('content:loading', t('mail', 'Loading accounts'));
-
- this.registerProtocolHandler();
- this.requestNotificationPermissions();
- this.setUpSearch();
-
- var _this = this;
- AccountController.loadAccounts().then(function(accounts) {
- _this.router = new Router({
- controller: new RouteController(accounts)
- });
- Backbone.history.start();
- _this.startBackgroundSync(accounts);
- });
-
- /**
- * Detects pasted text by browser plugins, and other software.
- * Check for changes in message bodies every second.
- */
- setInterval((function() {
- // Begin the loop.
- return function() {
-
- // Define which elements hold the message body.
- var MessageBody = $('.message-body');
-
- /**
- * If the message body is displayed and has content:
- * Prepare the message body content for processing.
- * If there is new message body content to process:
- * Resize the text area.
- * Toggle the send button, based on whether the message is ready or not.
- * Prepare the new message body content for future processing.
- */
- if (MessageBody.val()) {
- var OldMessageBody = MessageBody.val();
- var NewMessageBody = MessageBody.val();
- if (NewMessageBody !== OldMessageBody) {
- MessageBody.trigger('autosize.resize');
- OldMessageBody = NewMessageBody;
- }
- }
- };
- })(), 1000);
- });
-
- return Mail;
-});
diff --git a/js/controller/accountcontroller.js b/js/controller/accountcontroller.js
deleted file mode 100644
index 692371069..000000000
--- a/js/controller/accountcontroller.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/* global Promise */
-
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2016, 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var CrashReport = require('crashreport');
- var FolderController = require('controller/foldercontroller');
- var Radio = require('radio');
-
- /**
- * Load all accounts
- *
- * @returns {Promise}
- */
- function loadAccounts() {
- // Do not show sidebar content until everything has been loaded
- Radio.ui.trigger('sidebar:loading');
-
- return Radio.account.request('entities').then(function(accounts) {
- if (accounts.length === 0) {
- Radio.navigation.trigger('setup');
- Radio.ui.trigger('sidebar:accounts');
- return Promise.resolve(accounts);
- }
-
- return Promise.all(accounts.map(function(account) {
- return FolderController.loadAccountFolders(account);
- })).then(function() {
- return accounts;
- });
- }).then(function(accounts) {
- // Show accounts regardless of the result of
- // loading the folders
- Radio.ui.trigger('sidebar:accounts');
-
- return accounts;
- }, function(e) {
- console.error(e);
- CrashReport.report(e);
- Radio.ui.trigger('error:show', t('mail', 'Error while loading the accounts.'));
- });
- }
-
- return {
- loadAccounts: loadAccounts
- };
-});
diff --git a/js/controller/foldercontroller.js b/js/controller/foldercontroller.js
deleted file mode 100644
index 203556e88..000000000
--- a/js/controller/foldercontroller.js
+++ /dev/null
@@ -1,250 +0,0 @@
-/* global Promise */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var $ = require('jquery');
- var _ = require('underscore');
- var CrashReport = require('crashreport');
- var Radio = require('radio');
- var ErrorMessageFactory = require('util/errormessagefactory');
-
- Radio.folder.reply('message:delete', deleteMessage);
-
- /**
- * @param {Account} account
- * @returns {Promise}
- */
- function loadFolders(account) {
- return Radio.folder.request('entities', account)
- .catch(CrashReport.report);
- }
-
- /**
- * @param {Account} account
- * @param {Folder} folder
- * @param {string} searchQuery
- * @param {bool} openFirstMessage
- * @returns {Promise}
- */
- function loadFolderMessages(account, folder, searchQuery, openFirstMessage) {
- openFirstMessage = openFirstMessage !== false;
-
- // Set folder active
- Radio.folder.trigger('setactive', account, folder);
-
- if (folder.get('noSelect')) {
- Radio.ui.trigger('content:error', t('mail', 'Can not load this folder.'));
- require('state').currentAccount = account;
- require('state').currentFolder = folder;
- Radio.ui.trigger('messagesview:message:setactive', null);
- require('state').currentlyLoading = null;
- return Promise.resolve();
- } else {
- return Radio.message.request('entities', account, folder, {
- cache: true,
- filter: searchQuery,
- replace: true
- }).then(function(messages) {
- Radio.ui.trigger('foldercontent:show', account, folder, {
- searchQuery: searchQuery
- });
- require('state').currentlyLoading = null;
- require('state').currentAccount = account;
- require('state').currentFolder = folder;
- Radio.ui.trigger('messagesview:message:setactive', null);
-
- // Fade out the message composer
- $('#mail_new_message').prop('disabled', false);
-
- if (messages.length > 0) {
- if (openFirstMessage) {
- var message = messages.first();
- Radio.message.trigger('load', message.folder.account, message.folder, message);
- }
- }
- }, function(error) {
- console.error('error while loading messages: ', error);
- var icon;
- if (folder.get('specialRole')) {
- icon = 'icon-' + folder.get('specialRole');
- }
- Radio.ui.trigger('content:error', ErrorMessageFactory.getRandomFolderErrorMessage(folder), icon);
-
- // Set the old folder as being active
- var oldFolder = require('state').currentFolder;
- Radio.folder.trigger('setactive', account, oldFolder);
- }).catch(CrashReport.report);
- }
- }
-
- var loadFolderMessagesDebounced = _.debounce(loadFolderMessages, 1000);
-
- /**
- * @param {Account} account
- * @param {Folder} folder
- * @param {bool} loadFirstMessage
- * @returns {Promise}
- */
- function showFolder(account, folder, loadFirstMessage) {
- loadFirstMessage = loadFirstMessage !== false;
- Radio.ui.trigger('search:set', '');
- Radio.ui.trigger('content:loading', folder.get('name'));
-
- return new Promise(function(resolve, reject) {
- _.defer(function() {
- var loading = loadFolderMessages(account, folder, undefined, loadFirstMessage);
-
- // Save current folder
- Radio.folder.trigger('setactive', account, folder);
- require('state').currentAccount = account;
- require('state').currentFolder = folder;
-
- loading.then(resolve).catch(reject);
- });
- });
- }
-
- /**
- * @param {Account} account
- * @param {Folder} folder
- * @param {string} query
- * @returns {Promise}
- */
- function searchFolder(account, folder, query) {
- // If this was triggered by a URL change, we set the search input manually
- Radio.ui.trigger('search:set', query);
-
- Radio.ui.trigger('content:loading', t('mail', 'Searching for {query}', {
- query: query
- }));
- _.defer(function() {
- loadFolderMessagesDebounced(account, folder, query);
- });
- }
-
- /**
- * @param {Folder} folder
- * @param {Folder} currentFolder
- * @returns {Array} array of two folders, the first one is the individual
- */
- function getSpecificAndUnifiedFolder(folder, currentFolder) {
- // Case 1: we're currently in a unified folder
- if (currentFolder.account.get('accountId') === -1) {
- return [folder, currentFolder];
- }
-
- // Locate unified folder if existent
- var unifiedAccount = require('state').accounts.get(-1);
- var unifiedFolder = unifiedAccount ? unifiedAccount.folders.first() : null;
-
- // Case 2: we're in a specific folder and a unified one is available too
- if (currentFolder.get('specialRole') === 'inbox' && unifiedFolder) {
- return [folder, unifiedFolder];
- }
-
- // Case 3: we're in a specific folder, but there's no unified one
- return [folder, null];
- }
-
- /**
- * Call supplied function with folder as first parameter, if
- * the folder is not undefined
- *
- * @param {Array<Folder>} folders
- * @param {Function} fn
- * @returns {mixed}
- */
- function applyOnFolders(folders, fn) {
- folders.forEach(function(folder) {
- if (!folder) {
- // ignore
- return;
- }
-
- return fn(folder);
- });
- }
-
- /**
- * @param {Message} message
- * @param {Folder} currentFolder
- * @returns {Promise}
- */
- function deleteMessage(message, currentFolder) {
- var folders = getSpecificAndUnifiedFolder(message.folder, currentFolder);
-
- applyOnFolders(folders, function(folder) {
- // Update total counter and prevent negative values
- folder.set('total', Math.max(0, folder.get('total')-1));
-
- if(message.get('flags').get('unseen') === true) {
- folder.set('unseen', Math.max(0, folder.get('unseen')-1));
- }
- });
-
- var searchCollection = currentFolder.messages;
- var index = searchCollection.indexOf(message);
- // Select previous or first
- if (index === 0) {
- index = 1;
- } else {
- index = index - 1;
- }
- var nextMessage = searchCollection.at(index);
-
- // Remove message
- applyOnFolders(folders, function(folder) {
- folder.messages.remove(message);
- });
-
- if (require('state').currentMessage && require('state').currentMessage.get('id') === message.id) {
- if (nextMessage) {
- Radio.message.trigger('load', nextMessage.folder.account, nextMessage.folder, nextMessage);
- } else {
- Radio.ui.trigger('message:empty');
- }
- }
-
- return Radio.message.request('delete', message)
- .catch(function(err) {
- console.error(err);
-
- Radio.ui.trigger('error:show', t('mail', 'Error while deleting message.'));
-
- applyOnFolders(folders, function(folder) {
- // Restore counter
-
- folder.set('total', folder.previousAttributes.total);
-
- // Add the message to the collection again
- folder.addMessage(message);
- });
- });
- }
-
- return {
- loadAccountFolders: loadFolders,
- showFolder: showFolder,
- searchFolder: searchFolder
- };
-});
diff --git a/js/controller/messagecontroller.js b/js/controller/messagecontroller.js
deleted file mode 100644
index 1ad4424f7..000000000
--- a/js/controller/messagecontroller.js
+++ /dev/null
@@ -1,209 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var $ = require('jquery');
- var _ = require('underscore');
- var OC = require('OC');
- var Radio = require('radio');
- var ErrorMessageFactory = require('util/errormessagefactory');
-
- Radio.message.on('load', load);
- Radio.message.on('forward', openForwardComposer);
- Radio.message.on('flag', flagMessage);
- Radio.message.on('move', moveMessage);
-
- /**
- * @param {Account} account
- * @param {Folder} folder
- * @param {Message} message
- * @param {object} options
- */
- function load(account, folder, message, options) {
- options = options || {};
- var defaultOptions = {
- force: false
- };
- _.defaults(options, defaultOptions);
-
- // Do not reload email when clicking same again
- if (require('state').currentMessage && require('state').currentMessage.get('id') === message.get('id')) {
- return;
- }
-
- // TODO: expression is useless?
- if (!options.force && false) {
- return;
- }
-
- // check if message is a draft
- var draft = require('state').currentFolder.get('specialRole') === 'drafts';
-
- // close email first
- // Check if message is open
- if (require('state').currentMessage !== null) {
- var lastMessage = require('state').currentMessage;
- Radio.ui.trigger('messagesview:message:setactive', null);
- if (lastMessage.get('id') === message.get('id')) {
- return;
- }
- }
-
- Radio.ui.trigger('message:loading');
-
- // Set current Message as active
- Radio.ui.trigger('messagesview:message:setactive', message);
- require('state').currentMessageBody = '';
-
- // Fade out the message composer
- $('#mail_new_message').prop('disabled', false);
-
- Radio.message.request('entity', account, folder, message.get('id')).then(function(messageBody) {
- if (draft) {
- Radio.ui.trigger('composer:show', messageBody, true);
- } else {
- Radio.ui.trigger('message:show', message, messageBody);
- }
- }, function() {
- Radio.ui.trigger('message:error', ErrorMessageFactory.getRandomMessageErrorMessage());
- });
- }
-
- function openForwardComposer() {
- var header = '\n\n\n\n-------- ' +
- t('mail', 'Forwarded message') +
- ' --------\n';
-
- // TODO: find a better way to get the current message body
- var data = {
- subject: 'Fwd: ' + require('state').currentMessageSubject,
- body: header + require('state').currentMessageBody.replace(/<br \/>/g, '\n')
- };
-
- if (require('state').currentAccount.get('accountId') !== -1) {
- data.accountId = require('state').currentAccount.get('accountId');
- }
-
- Radio.ui.trigger('composer:show', data);
- }
-
- /**
- * @param {Message} message
- * @param {number} attachmentId
- * @param {function} callback
- * @returns {Promise}
- */
- function saveAttachmentToFiles(message, attachmentId, callback) {
- var saveAll = _.isUndefined(attachmentId);
-
- return new Promise(function(resolve, reject) {
- OC.dialogs.filepicker(
- t('mail', 'Choose a folder to store the attachment in'),
- function(path) {
- if (typeof callback === 'function') {
- callback();
- }
- Radio.message.request('save:cloud', message, attachmentId, path).then(function() {
- if (saveAll) {
- Radio.ui.trigger('error:show', t('mail', 'Attachments saved to Files.'));
- } else {
- Radio.ui.trigger('error:show', t('mail', 'Attachment saved to Files.'));
- }
- resolve();
- }, function() {
- if (saveAll) {
- Radio.ui.trigger('error:show', t('mail', 'Error while saving attachments to Files.'));
- } else {
- Radio.ui.trigger('error:show', t('mail', 'Error while saving attachment to Files.'));
- }
- reject();
- });
- }, false, 'httpd/unix-directory', true);
- });
- }
-
- function flagMessage(message, flag, value) {
- var folder = message.folder;
- var account = folder.account;
- var prevUnseen = folder.get('unseen');
-
- if (message.get('flags').get(flag) === value) {
- // Nothing to do
- return;
- }
- message.get('flags').set(flag, value);
-
- // Update folder counter
- if (flag === 'unseen') {
- var unseen = Math.max(0, prevUnseen + (value ? 1 : -1));
- folder.set('unseen', unseen);
- }
-
- // Update the folder to reflect the new unread count
- Radio.ui.trigger('title:update');
-
- Radio.message.request('flag', account, folder, message, flag, value).
- catch(function() {
- Radio.ui.trigger('error:show', t('mail', 'Message flag could not be set.'));
-
- // Restore previous state
- message.get('flags').set(flag, !value);
- folder.set('unseen', prevUnseen);
- Radio.ui.trigger('title:update');
- });
- }
-
- function moveMessage(sourceAccount, sourceFolder, message, destAccount,
- destFolder) {
- if (sourceAccount.get('accountId') === destAccount.get('accountId')
- && sourceFolder.get('id') === destFolder.get('id')) {
- // Nothing to move
- return;
- }
-
- sourceFolder.messages.remove(message);
- destFolder.addMessage(message);
-
- Radio.message.request('move', sourceAccount, sourceFolder, message, destAccount, destFolder).
- then(function() {
- // TODO: update counters
- }, function() {
- Radio.ui.trigger('error:show', t('mail', 'Could not move message.'));
- sourceFolder.addMessage(message);
- });
- }
-
- /**
- * @param {Account} account
- * @param {Folder} folder
- * @param {number} messageId
- * @param {function} callback
- * @returns {Promise}
- */
- function saveAttachmentsToFiles(message, callback) {
- return saveAttachmentToFiles(message, null, callback);
- }
-
- return {
- saveAttachmentToFiles: saveAttachmentToFiles,
- saveAttachmentsToFiles: saveAttachmentsToFiles
- };
-});
diff --git a/js/init.js b/js/init.js
deleted file mode 100644
index 85326e9e7..000000000
--- a/js/init.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- var $ = require('jquery');
- var OC = require('OC');
- var App = require('app');
-
- $(function() {
- // Conigure CSRF token
- $.ajaxSetup({
- headers: {
- requesttoken: OC.requestToken
- }
- });
-
- // Start app when the page is ready
- console.log('Starting Mail …');
- App.start();
- });
-});
diff --git a/js/main.js b/js/main.js
new file mode 100644
index 000000000..8cd692e1c
--- /dev/null
+++ b/js/main.js
@@ -0,0 +1,12 @@
+import Vue from 'vue'
+import App from './App.vue'
+import router from './router'
+import store from './store'
+
+Vue.config.productionTip = false
+
+new Vue({
+ router,
+ store,
+ render: h => h(App)
+}).$mount('#content')
diff --git a/js/models/account.js b/js/models/account.js
deleted file mode 100644
index 436868efe..000000000
--- a/js/models/account.js
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015, 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Backbone = require('backbone');
- var FolderCollection = require('models/foldercollection');
- var AliasesCollection = require('models/aliasescollection');
- var OC = require('OC');
-
- /**
- * @class Account
- */
- var Account = Backbone.Model.extend({
- defaults: {
- aliases: [],
- specialFolders: [],
- isUnified: false
- },
- idAttribute: 'accountId',
- url: function() {
- return OC.generateUrl('apps/mail/api/accounts');
- },
- initialize: function() {
- this.folders = new FolderCollection();
- this.set('aliases', new AliasesCollection(this.get('aliases')));
- },
- _getFolderByIdRecursively: function(folder, folderId) {
- if (!folder) {
- return null;
- }
-
- if (folder.get('id') === folderId) {
- return folder;
- }
-
- var subFolders = folder.folders;
- if (!subFolders) {
- return null;
- }
- for (var i = 0; i < subFolders.length; i++) {
- var subFolder = this._getFolderByIdRecursively(subFolders.at(i), folderId);
- if (subFolder) {
- return subFolder;
- }
- }
-
- return null;
- },
- /**
- * @param {Folder} folder
- */
- addFolder: function(folder) {
- folder.account = this;
- this.folders.add(folder);
- },
- getFolderById: function(folderId) {
- if (!this.folders) {
- return undefined;
- }
- for (var i = 0; i < this.folders.length; i++) {
- var result = this._getFolderByIdRecursively(this.folders.at(i), folderId);
- if (result) {
- return result;
- }
- }
- return undefined;
- },
- getSpecialFolder: function() {
- if (!this.folders) {
- return undefined;
- }
- return _.find(this.folders, function(folder) {
- // TODO: handle special folders in subfolder properly
- if (folder.get('specialRole') === 'draft') {
- return true;
- }
- });
- },
- toJSON: function() {
- var data = Backbone.Model.prototype.toJSON.call(this);
- if (data.folders && data.folders.toJSON) {
- data.folders = data.folders.toJSON();
- }
- if (data.aliases && data.aliases.toJSON) {
- data.aliases = data.aliases.toJSON();
- }
- if (!data.id) {
- data.id = this.cid;
- }
- return data;
- }
- });
-
- return Account;
-});
diff --git a/js/models/accountcollection.js b/js/models/accountcollection.js
deleted file mode 100644
index cbc6ca9b0..000000000
--- a/js/models/accountcollection.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015, 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
- var Account = require('models/account');
- var OC = require('OC');
-
- /**
- * @class AccountCollection
- */
- var AccountCollection = Backbone.Collection.extend({
- model: Account,
- url: function() {
- return OC.generateUrl('apps/mail/api/accounts');
- },
- comparator: function(account) {
- return account.get('accountId');
- }
- });
-
- return AccountCollection;
-});
diff --git a/js/models/alias.js b/js/models/alias.js
deleted file mode 100644
index b79c54f4a..000000000
--- a/js/models/alias.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Tahaa Karim <tahaalibra@gmail.com>
- * @copyright Tahaa Karim 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
-
- /**
- * @class Alias
- */
- var Alias = Backbone.Model.extend({
- defaults: {
- },
- initialize: function() {
-
- },
- toJSON: function() {
- var data = Backbone.Model.prototype.toJSON.call(this);
- if (data.alias && data.alias.toJSON) {
- data.alias = data.alias.toJSON();
- }
- if (!data.id) {
- data.id = this.cid;
- }
- return data;
- }
- });
-
- return Alias;
-});
diff --git a/js/models/aliasescollection.js b/js/models/aliasescollection.js
deleted file mode 100644
index 039dd16ba..000000000
--- a/js/models/aliasescollection.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Tahaa Karim <tahaalibra@gmail.com>
- * @copyright Tahaa Karim 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
- var Alias = require('models/alias');
-
- /**
- * @class AliasesCollection
- */
- var AliasesCollection = Backbone.Collection.extend({
- model: Alias
- });
-
- return AliasesCollection;
-});
diff --git a/js/models/attachment.js b/js/models/attachment.js
deleted file mode 100644
index 43bcf874a..000000000
--- a/js/models/attachment.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
- var _ = require('underscore');
-
- /**
- * @class Attachment
- */
- var Attachment = Backbone.Model.extend({
- defaults: {
- isLocal: false
- },
-
- initialize: function() {
- if (_.isUndefined(this.get('id'))) {
- this.set('id', _.uniqueId());
- }
-
- var s = this.get('fileName');
-
- if (_.isUndefined(s)) {
- return;
- }
-
- if (s.charAt(0) === '/') {
- s = s.substr(1);
- }
-
- this.set('displayName', s);
- }
- });
-
- return Attachment;
-});
diff --git a/js/models/attachments.js b/js/models/attachments.js
deleted file mode 100644
index 91a90580e..000000000
--- a/js/models/attachments.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
- var Attachment = require('models/attachment');
-
- /**
- * @class AttachmentCollection
- */
- var AttachmentCollection = Backbone.Collection.extend({
- model: Attachment
- });
-
- return AttachmentCollection;
-});
diff --git a/js/models/dav/calendar.js b/js/models/dav/calendar.js
deleted file mode 100644
index 853ab84c7..000000000
--- a/js/models/dav/calendar.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
-
- return Backbone.Model.extend({});
-}); \ No newline at end of file
diff --git a/js/models/folder.js b/js/models/folder.js
deleted file mode 100644
index 59a802c59..000000000
--- a/js/models/folder.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Backbone = require('backbone');
-
- /**
- * @class Folder
- */
- var Folder = Backbone.Model.extend({
- messages: undefined,
- account: undefined,
- folder: undefined,
- folders: undefined,
- defaults: {
- open: false,
- folders: [],
- messagesLoaded: false
- },
-
- initialize: function() {
- var FolderCollection = require('models/foldercollection');
- var MessageCollection = require('models/messagecollection');
- var UnifiedMessageCollection = require('models/unifiedmessagecollection');
- this.account = this.get('account');
- this.unset('account');
- this.folders = new FolderCollection(this.get('folders') || []);
- this.folders.forEach(_.bind(function(folder) {
- folder.account = this.account;
- }, this));
- this.unset('folders');
- if (this.account && this.account.get('isUnified') === true) {
- this.messages = new UnifiedMessageCollection();
- } else {
- this.messages = new MessageCollection();
- }
- },
-
- toggleOpen: function() {
- this.set({open: !this.get('open')});
- },
-
- /**
- * @param {Message} message
- */
- addMessage: function(message) {
- if (this.account.id !== -1) {
- // Non-unified folder messages should keep their source folder
- message.folder = this;
- }
- message = this.messages.add(message);
- if (this.account.id === -1) {
- message.set('unifiedId', this.messages.getUnifiedId(message));
- }
- return message;
- },
-
- /**
- * @param {Array<Message>} messages
- */
- addMessages: function(messages) {
- var _this = this;
- return _.map(messages, _this.addMessage, this);
- },
-
- /**
- * @param {Folder} folder
- */
-
- addFolder: function(folder) {
- folder = this.folders.add(folder);
- folder.account = this.account;
- },
-
- toJSON: function() {
- var data = Backbone.Model.prototype.toJSON.call(this);
- if (!data.id) {
- data.id = this.cid;
- }
- return data;
- }
- });
-
- return Folder;
-});
diff --git a/js/models/foldercollection.js b/js/models/foldercollection.js
deleted file mode 100644
index 3e39651a4..000000000
--- a/js/models/foldercollection.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015, 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
- var Folder = require('models/folder');
-
- /**
- * @class FolderCollection
- */
- var FolderCollection = Backbone.Collection.extend({
- model: Folder
- });
-
- return FolderCollection;
-});
diff --git a/js/models/localattachment.js b/js/models/localattachment.js
deleted file mode 100644
index 85cd4c2c5..000000000
--- a/js/models/localattachment.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Luc Calaresu <dev@calaresu.com>
- */
-
-define(function(require) {
- 'use strict';
-
- var Attachment = require('models/attachment');
-
- var LocalAttachment = Attachment.extend({
-
- defaults: {
- progress: 0,
- uploadStatus: 0, /* 0=pending, 1=ongoing, 2=error, 3=success */
- isLocal: true
- },
-
- /**
- * @param {Event} evt
- */
- onProgress: function(evt) {
- if (evt.lengthComputable) {
- this.set('uploadStatus', 1);
- this.set('progress', evt.loaded / evt.total);
- }
- }
- });
-
- return LocalAttachment;
-});
diff --git a/js/models/message.js b/js/models/message.js
deleted file mode 100644
index d9a33f370..000000000
--- a/js/models/message.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
- var MessageFlags = require('models/messageflags');
-
- /**
- * @class Message
- */
- var Message = Backbone.Model.extend({
- folder: undefined,
- defaults: {
- flags: [],
- active: false,
- from: [],
- to: [],
- cc: [],
- bcc: []
- },
- initialize: function() {
- this.set('flags', new MessageFlags(this.get('flags')));
- if (this.get('folder')) {
- // Folder should be a simple property
- this.folder = this.get('folder');
- this.unset('folder');
- }
- this.listenTo(this.get('flags'), 'change', this._transformEvent);
- this.set('dateMicro', this.get('dateInt') * 1000);
- },
- _transformEvent: function() {
- this.trigger('change');
- this.trigger('change:flags', this);
- },
- toJSON: function() {
- var data = Backbone.Model.prototype.toJSON.call(this);
- if (data.flags && data.flags.toJSON) {
- data.flags = data.flags.toJSON();
- }
- if (!data.id) {
- data.id = this.cid;
- }
- return data;
- }
- });
-
- return Message;
-});
diff --git a/js/models/messagecollection.js b/js/models/messagecollection.js
deleted file mode 100644
index 1316e6b31..000000000
--- a/js/models/messagecollection.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
- var Message = require('models/message');
-
- /**
- * @class MessageCollection
- */
- var MessageCollection = Backbone.Collection.extend({
- model: Message,
- comparator: function(message) {
- return message.get('dateInt') * -1;
- }
- });
-
- return MessageCollection;
-});
diff --git a/js/models/messageflags.js b/js/models/messageflags.js
deleted file mode 100644
index 28e6ac45b..000000000
--- a/js/models/messageflags.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var Backbone = require('backbone');
-
- /**
- * @class MessageFlags
- */
- var MessageFlags = Backbone.Model.extend({
- defaults: {
- answered: false
- }
- });
-
- return MessageFlags;
-});
diff --git a/js/models/unifiedmessagecollection.js b/js/models/unifiedmessagecollection.js
deleted file mode 100644
index 6f19d9c8b..000000000
--- a/js/models/unifiedmessagecollection.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var MessageCollection = require('models/messagecollection');
-
- /**
- * @class UnifiedMessageCollection
- */
- var UnifiedMessageCollection = MessageCollection.extend({
-
- modelId: function(attrs) {
- return attrs.unifiedId;
- },
-
- getUnifiedId: function(message) {
- return message.id + '-' + message.folder.id + '-' + message.folder.account.id;
- }
-
- });
-
- return UnifiedMessageCollection;
-});
diff --git a/js/radio.js b/js/radio.js
deleted file mode 100644
index c4d77b9fd..000000000
--- a/js/radio.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Radio = require('backbone.radio');
-
- var channelNames = [
- 'account',
- 'aliases',
- 'attachment',
- 'avatar',
- 'folder',
- 'dav',
- 'keyboard',
- 'message',
- 'navigation',
- 'notification',
- 'preference',
- 'state',
- 'sync',
- 'ui'
- ];
-
- var channels = {};
- _.each(channelNames, function(channelName) {
- channels[channelName] = Radio.channel(channelName);
- // Uncomment the following line for debugging
- // Radio.tuneIn(channelName);
- });
-
- return channels;
-});
diff --git a/js/routecontroller.js b/js/routecontroller.js
deleted file mode 100644
index 88d30957c..000000000
--- a/js/routecontroller.js
+++ /dev/null
@@ -1,193 +0,0 @@
-/* global Promise */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Backbone = require('backbone');
- var CrashReport = require('crashreport');
- var Radio = require('radio');
- var FolderController = require('controller/foldercontroller');
-
- /**
- * @class RoutingController
- */
- var RoutingController = function(accounts) {
- this.initialize(accounts);
- };
-
- RoutingController.prototype = {
- accounts: undefined,
- initialize: function(accounts) {
- this.accounts = accounts;
-
- Radio.navigation.on('folder', _.bind(this.showFolder, this));
- Radio.navigation.on('search', _.bind(this.searchFolder, this));
- Radio.navigation.on('setup', _.bind(this.showSetup, this));
- Radio.navigation.on('accountsettings', _.bind(this.showAccountSettings, this));
- Radio.navigation.on('keyboardshortcuts', _.bind(this.showKeyboardShortcuts, this));
- },
- _navigate: function(route, options) {
- options = options || {};
- Backbone.history.navigate(route, options);
- },
-
- /**
- * Handle mailto links
- *
- * @returns {Promise}
- */
- _handleMailto: function(params) {
- var composerOptions = {};
- params = params.split('&');
-
- _.each(params, function(param) {
- param = param.split('=');
- var key = param[0];
- var value = param[1];
- value = decodeURIComponent((value).replace(/\+/g, '%20'));
-
- switch (key) {
- case 'mailto':
- case 'to':
- composerOptions.to = value;
- break;
- case 'cc':
- composerOptions.cc = value;
- break;
- case 'bcc':
- composerOptions.bcc = value;
- break;
- case 'subject':
- composerOptions.subject = value;
- break;
- case 'body':
- composerOptions.body = value;
- break;
- }
- });
-
- return this.default(true).then(function() {
- Radio.ui.trigger('composer:show', composerOptions);
- }).catch(CrashReport.report);
- },
-
- /**
- * @param {bool} showComposer
- * @returns {Promise}
- */
- default: function(showComposer) {
- this._navigate('');
- var _this = this;
- if (this.accounts.isEmpty()) {
- // No account configured -> show setup
- return _this.showSetup();
- }
-
- // Show first folder of first account
- var firstAccount = this.accounts.at(0);
- var firstFolder = firstAccount.folders.at(0);
- return _this.showFolder(firstAccount.get('accountId'), firstFolder.get('id'), showComposer);
- },
-
- /**
- * @param {int} accountId
- * @param {string} folderId
- * @param {bool} showComposer
- * @returns {Promise}
- */
- showFolder: function(accountId, folderId, showComposer) {
- this._navigate('accounts/' + accountId + '/folders/' + folderId);
- var _this = this;
- var account = this.accounts.get(accountId);
- if (_.isUndefined(account)) {
- // Unknown account id -> redirect
- Radio.ui.trigger('error:show', t('mail', 'Invalid account'));
- return _this.default();
- }
-
- var folder = account.getFolderById(folderId);
- if (_.isUndefined(folder)) {
- folder = account.folders.at(0);
- Radio.ui.trigger('error:show', t('mail', 'Invalid folder'));
- this._navigate('accounts/' + accountId + '/folders/' + folder.get('id'));
- return Promise.resolve();
- }
- return FolderController.showFolder(account, folder, !showComposer);
- },
-
- searchFolder: function(accountId, folderId, query) {
- if (!query || query === '') {
- this.showFolder(accountId, folderId);
- return;
- }
-
- this._navigate('accounts/' + accountId + '/folders/' + folderId + '/search/' + query);
- var account = this.accounts.get(accountId);
- if (_.isUndefined(account)) {
- // Unknown account id -> redirect
- Radio.ui.trigger('error:show', t('mail', 'Invalid account'));
- this.default();
- return;
- }
-
- var folder = account.getFolderById(folderId);
- if (_.isUndefined(folder)) {
- folder = account.folders.at(0);
- Radio.ui.trigger('error:show', t('mail', 'Invalid folder'));
- this._navigate('accounts/' + accountId + '/folders/' + folder.get('id'));
- }
- FolderController.searchFolder(account, folder, query);
- },
- mailTo: function(params) {
- this._handleMailto(params);
- },
-
- /**
- * @returns {Promise}
- */
- showSetup: function() {
- this._navigate('setup');
- Radio.ui.trigger('navigation:hide');
- Radio.ui.trigger('setup:show');
- return Promise.resolve();
- },
- showKeyboardShortcuts: function() {
- this._navigate('shortcuts');
- Radio.ui.trigger('keyboardShortcuts:show');
- },
- showAccountSettings: function(accountId) {
- this._navigate('accounts/' + accountId + '/settings');
- var account = this.accounts.get(accountId);
- if (_.isUndefined(account)) {
- // Unknown account id -> redirect
- Radio.ui.trigger('error:show', t('mail', 'Invalid account'));
- this.default();
- return;
- }
- Radio.ui.trigger('navigation:hide');
- Radio.ui.trigger('accountsettings:show', account);
- }
- };
-
- return RoutingController;
-});
diff --git a/js/router.js b/js/router.js
index 91975447a..d88e8df25 100644
--- a/js/router.js
+++ b/js/router.js
@@ -1,41 +1,25 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
+import Vue from 'vue'
+import Router from 'vue-router'
+import Home from './views/Home.vue'
-define(function(require) {
- 'use strict';
+Vue.use(Router)
- var Marionette = require('backbone.marionette');
-
- /**
- * @class Router
- */
- var Router = Marionette.AppRouter.extend({
- appRoutes: {
- '': 'default',
- 'accounts/:accountId/folders/:folderId': 'showFolder',
- 'accounts/:accountId/folders/:folderId/search/:query': 'searchFolder',
- 'mailto(?:params)': 'mailTo',
- 'setup': 'showSetup',
- 'shortcuts': 'showKeyboardShortcuts',
- 'accounts/:accountId/settings': 'showAccountSettings'
+export default new Router({
+ mode: 'history',
+ base: process.env.BASE_URL,
+ routes: [
+ {
+ path: '/',
+ name: 'home',
+ component: Home
+ },
+ {
+ path: '/about',
+ name: 'about',
+ // route level code-splitting
+ // this generates a separate chunk (about.[hash].js) for this route
+ // which is lazy-loaded when the route is visited.
+ component: () => import(/* webpackChunkName: "about" */ './views/About.vue')
}
- });
-
- return Router;
-});
+ ]
+})
diff --git a/js/search.js b/js/search.js
deleted file mode 100644
index 12c93ff9b..000000000
--- a/js/search.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015, 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Radio = require('radio');
- var lastQuery = '';
-
- function filter(query) {
- if (query !== lastQuery) {
- lastQuery = query;
-
- if (require('state').currentAccount && require('state').currentFolder) {
- var accountId = require('state').currentAccount.get('accountId');
- var folderId = require('state').currentFolder.get('id');
- Radio.navigation.trigger('search', accountId, folderId, query);
- }
- }
- }
-
- return {
- filter: filter
- };
-});
diff --git a/js/state.js b/js/state.js
deleted file mode 100644
index 94a16e9fb..000000000
--- a/js/state.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var Radio = require('radio');
- var AccountCollection = require('models/accountcollection');
-
- var state = {};
-
- var accounts = new AccountCollection();
- var currentAccount = null;
- var currentFolder = null;
- var currentMessage = null;
- var currentMessageSubject = null;
- var currentMessageBody = '';
-
- Object.defineProperties(state, {
- accounts: {
- get: function() {
- return accounts;
- },
- set: function(acc) {
- accounts = acc;
- }
- },
- currentAccount: {
- get: function() {
- return currentAccount;
- },
- set: function(account) {
- currentAccount = account;
- }
- },
- currentFolder: {
- get: function() {
- return currentFolder;
- },
- set: function(newFolder) {
- var oldFolder = currentFolder;
- currentFolder = newFolder;
- if (newFolder !== oldFolder) {
- Radio.ui.trigger('folder:changed');
- }
- }
- },
- currentMessage: {
- get: function() {
- return currentMessage;
- },
- set: function(newMessage) {
- currentMessage = newMessage;
- }
- },
- currentMessageSubject: {
- get: function() {
- return currentMessageSubject;
- },
- set: function(subject) {
- currentMessageSubject = subject;
- }
- },
- currentMessageBody: {
- get: function() {
- return currentMessageBody;
- },
- set: function(body) {
- currentMessageBody = body;
- }
- }
- });
-
- return state;
-});
diff --git a/js/store.js b/js/store.js
new file mode 100644
index 000000000..bf82512e1
--- /dev/null
+++ b/js/store.js
@@ -0,0 +1,12 @@
+import Vue from 'vue'
+import Vuex from 'vuex'
+
+Vue.use(Vuex)
+
+export default new Vuex.Store({
+ state: {
+ accounts: []
+ },
+ mutations: {},
+ actions: {}
+})
diff --git a/js/templatehelpers/accountColor.js b/js/templatehelpers/accountColor.js
deleted file mode 100644
index 8c0dbc988..000000000
--- a/js/templatehelpers/accountColor.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/* global md5 */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Handlebars = require('handlebars');
-
- return function(account) {
- var hash = md5(account);
- var hue = null;
- if (typeof hash.toHsl === 'function') {
- var hsl = hash.toHsl();
- hue = Math.round(hsl[0] / 40) * 40;
- return new Handlebars.SafeString('hsl(' + hue + ', ' + hsl[1] + '%, ' + hsl[2] + '%)');
- } else {
- var maxRange = parseInt('ffffffffffffffffffffffffffffffff', 16);
- hue = parseInt(hash, 16) / maxRange * 256;
- return new Handlebars.SafeString('hsl(' + hue + ', 90%, 65%)');
- }
- };
-});
diff --git a/js/templatehelpers/formatDate.js b/js/templatehelpers/formatDate.js
deleted file mode 100644
index 979fa601a..000000000
--- a/js/templatehelpers/formatDate.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/* global formatDate */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function() {
- 'use strict';
-
- return function(dateInt) {
- var lastModified = new Date(dateInt * 1000);
- return formatDate(lastModified);
- };
-});
diff --git a/js/templatehelpers/humanFileSize.js b/js/templatehelpers/humanFileSize.js
deleted file mode 100644
index 1684bdc96..000000000
--- a/js/templatehelpers/humanFileSize.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/* global humanFileSize */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function() {
- 'use strict';
-
- return function(size) {
- return humanFileSize(size);
- };
-});
diff --git a/js/templatehelpers/ifHasCC.js b/js/templatehelpers/ifHasCC.js
deleted file mode 100644
index 141a5daae..000000000
--- a/js/templatehelpers/ifHasCC.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function() {
- 'use strict';
-
- return function(options) {
- var hasCc = this.cc.length > 0;
- var hasBcc = this.bcc.length > 0;
- if (hasCc || hasBcc) {
- return options.fn(this);
- } else {
- return options.inverse(this);
- }
- };
-});
diff --git a/js/templatehelpers/ifToNoreply.js b/js/templatehelpers/ifToNoreply.js
deleted file mode 100644
index 5de18f8bb..000000000
--- a/js/templatehelpers/ifToNoreply.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * @author Jakob Sack <mail@jakobsack.de>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function() {
- 'use strict';
-
- function isToNoreply(recipient) {
- var user = recipient.email.substring(0, recipient.email.lastIndexOf('@'));
- return ['noreply', 'no-reply'].indexOf(user) !== -1;
- }
-
- return function(options) {
- var noreplyInTo = this.to.some(isToNoreply);
- var noreplyInCc = this.cc.some(isToNoreply);
- var noreplyInBcc = this.bcc.some(isToNoreply);
-
- if (noreplyInTo || noreplyInCc || noreplyInBcc) {
- return options.fn(this);
- } else {
- return options.inverse(this);
- }
- };
-});
diff --git a/js/templatehelpers/printAddressList.js b/js/templatehelpers/printAddressList.js
deleted file mode 100644
index 6fa8d2ac9..000000000
--- a/js/templatehelpers/printAddressList.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Handlebars = require('handlebars');
-
- return function(addressList) {
- var currentAccount = require('state').currentAccount;
-
- var str = _.reduce(addressList, function(memo, value, index) {
- if (index !== 0) {
- memo += ', ';
- }
- var label = value.label
- .replace(/(^"|"$)/g, '')
- .replace(/(^'|'$)/g, '');
- label = Handlebars.Utils.escapeExpression(label);
- var email = Handlebars.Utils.escapeExpression(value.email);
-
- if (currentAccount && (email === currentAccount.get('emailAddress') ||
- _.find(currentAccount.get('aliases').
- toJSON(), function(alias) {
- return alias.alias === email;
- }))) {
- label = t('mail', 'you');
- }
- var title = t('mail', 'Send message to {email}', {email: email});
- memo += '<span class="tooltip-mailto" title="' + title + '">';
- memo += '<a class="link-mailto" data-email="' + email + '" data-label="' + label + '">';
- memo += label + '</a></span>';
- return memo;
- }, '');
- return new Handlebars.SafeString(str);
- };
-});
diff --git a/js/templatehelpers/printAddressListPlain.js b/js/templatehelpers/printAddressListPlain.js
deleted file mode 100644
index 17621ac66..000000000
--- a/js/templatehelpers/printAddressListPlain.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Handlebars = require('handlebars');
-
- return function(addressList) {
- var str = _.reduce(addressList, function(memo, value, index) {
- if (index !== 0) {
- memo += ', ';
- }
- var label = value.label
- .replace(/(^"|"$)/g, '')
- .replace(/(^'|'$)/g, '');
- label = Handlebars.Utils.escapeExpression(label);
- var email = Handlebars.Utils.escapeExpression(value.email);
- if (label === email) {
- return memo + email;
- } else {
- return memo + '"' + label + '" <' + email + '>';
- }
- }, '');
- return str;
- };
-});
diff --git a/js/templatehelpers/relativeModifiedDate.js b/js/templatehelpers/relativeModifiedDate.js
deleted file mode 100644
index 752c26059..000000000
--- a/js/templatehelpers/relativeModifiedDate.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/* global relative_modified_date */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(function() {
- 'use strict';
-
- return function(dateInt) {
- var lastModified = new Date(dateInt * 1000);
- var lastModifiedTime = Math.round(lastModified.getTime() / 1000);
- // jscs:disable requireCamelCaseOrUpperCaseIdentifiers
- return relative_modified_date(lastModifiedTime);
- // jscs:enable requireCamelCaseOrUpperCaseIdentifiers
- };
-});
diff --git a/js/templatehelpers/t.js b/js/templatehelpers/t.js
deleted file mode 100644
index 49c6a5b92..000000000
--- a/js/templatehelpers/t.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function() {
- 'use strict';
-
- return function(text) {
- return t('mail', text);
- };
-}); \ No newline at end of file
diff --git a/js/templatehelpers/unlessHasCC.js b/js/templatehelpers/unlessHasCC.js
deleted file mode 100644
index 9c990ee72..000000000
--- a/js/templatehelpers/unlessHasCC.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function() {
- 'use strict';
-
- return function(options) {
- var hasCc = this.cc.length > 0;
- var hasBcc = this.bcc.length > 0;
- if (!hasCc && !hasBcc) {
- return options.fn(this);
- } else {
- return options.inverse(this);
- }
- };
-}); \ No newline at end of file
diff --git a/js/templates/account-form.html b/js/templates/account-form.html
deleted file mode 100644
index 863a23a12..000000000
--- a/js/templates/account-form.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<form method="post">
- <div class="hidden-visually">
- <!-- Hack for Safari and Chromium/Chrome which ignore autocomplete="off" -->
- <input type="text" id="fake_user" name="fake_user"
- autocomplete="off" tabindex="-1">
- <input type="password" id="fake_password" name="fake_password"
- autocomplete="off" tabindex="-1">
- </div>
- <fieldset>
- <div id="emptycontent">
- <div class="icon-mail"></div>
- <h2>{{ t 'Connect your mail account' }}</h2>
- </div>
- <p class="grouptop">
- <input type="text"
- name="account-name"
- placeholder="{{ t 'Name' }}"
- value="{{ config.name }}"
- autofocus />
- </p>
- <p class="groupmiddle">
- <input type="email"
- name="mail-address"
- placeholder="{{ t 'Mail Address' }}"
- value="{{ config.emailAddress }}"
- required />
- </p>
- <p class="groupbottom">
- <input type="password"
- name="mail-password"
- placeholder="{{ t 'Password' }}"
- value="{{ config.password }}"
- required />
- </p>
-
- <a class="toggle-manual-mode icon-caret-dark">{{ t 'Manual configuration' }}</a>
-
- <div class="manual-inputs">
- <p class="grouptop">
- <input type="text"
- name="imap-host"
- placeholder="{{ t 'IMAP Host' }}"
- value="{{ config.imapHost }}" />
- </p>
- <p class="groupmiddle" id="setup-imap-ssl">
- <select id="setup-imap-ssl-mode"
- name="imap-sslmode"
- title="{{ t 'IMAP security' }}">
- <option value="none">{{ t 'None' }}</option>
- <option value="ssl">{{ t 'SSL/TLS' }}</option>
- <option value="tls">{{ t 'STARTTLS' }}</option>
- </select>
- </p>
- <p class="groupmiddle">
- <input type="number"
- name="imap-port"
- placeholder="{{ t 'IMAP Port' }}"
- value="{{ config.imapPort }}" />
- </p>
- <p class="groupmiddle">
- <input type="text"
- name="imap-user"
- placeholder="{{ t 'IMAP User' }}"
- value="{{ config.imapUser }}" />
- </p>
- <p class="groupbottom">
- <input type="password"
- name="imap-password"
- placeholder="{{ t 'IMAP Password' }}"
- value="{{ config.imapPassword }}"
- required />
- </p>
- <p class="grouptop">
- <input type="text"
- name="smtp-host"
- placeholder="{{ t 'SMTP Host' }}"
- value="{{ config.smtpHost }}" />
- </p>
- <p class="groupmiddle" id="setup-smtp-ssl">
- <select id="setup-smtp-ssl-mode"
- name="mail-smtp-sslmode"
- title="{{ t 'SMTP security' }}">
- <option value="none">{{ t 'None' }}</option>
- <option value="ssl">{{ t 'SSL/TLS' }}</option>
- <option value="tls">{{ t 'STARTTLS' }}</option>
- </select>
- </p>
- <p class="groupmiddle">
- <input type="number"
- name="smtp-port"
- placeholder="{{ t 'SMTP Port' }}"
- value="{{ config.smtpPort }}" />
- </p>
- <p class="groupmiddle">
- <input type="text"
- name="smtp-user"
- placeholder="{{ t 'SMTP User' }}"
- value="{{ config.smtpUser }}" />
- </p>
- <p class="groupbottom">
- <input type="password"
- name="smtp-password"
- placeholder="{{ t 'SMTP Password' }}"
- value="{{ config.smtpPassword }}"
- required />
- </p>
- </div>
-
- <input type="submit"
- class="primary"
- value="{{ t 'Connect' }}"/>
- </fieldset>
-</form>
diff --git a/js/templates/account.html b/js/templates/account.html
deleted file mode 100644
index 13652005f..000000000
--- a/js/templates/account.html
+++ /dev/null
@@ -1,43 +0,0 @@
-{{#unless isUnifiedInbox}}
-<li class="{{#if hasMenu}} with-menu {{/if}}">
- {{#if emailAddress}}
- <div class="app-navigation-entry-bullet" style="background-color: {{accountColor emailAddress}}"></div>
- {{/if}}
- <a>{{emailAddress}}</a>
-
- {{#if hasMenu}}
- <div class="app-navigation-entry-utils">
- <ul>
- <li class="app-navigation-entry-utils-menu-button svg"><button></button></li>
- </ul>
- </div>
- <div class="app-navigation-entry-menu">
- <ul>
- <li>
- <a href="#" class="menuitem action action-settings permanent">
- <span class="icon icon-rename"></span>
- <span>{{ t 'Settings' }}</span>
- </a>
- </li>
- {{#if isDeletable}}
- <li>
- <a href="#" class="menuitem action action-delete permanent">
- <span class="icon icon-delete"></span>
- <span>{{ t 'Delete account' }}</span>
- </a>
- </li>
- {{/if}}
- </ul>
- </div>
- {{/if}}
-</li>
-{{/unless}}
-
-<div class="folders"></div>
-{{#unless isUnifiedInbox}}
-{{#if hasFolders}}
-<li class="account-toggle-collapse">
- <a>{{toggleCollapseMessage}}</a>
-</li>
-{{/if}}
-{{/unless}}
diff --git a/js/templates/accountsettings.html b/js/templates/accountsettings.html
deleted file mode 100644
index e5512b445..000000000
--- a/js/templates/accountsettings.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<div class="section" id="account-info">
- <h2>{{ t 'Account Settings' }} - {{ email }}</h2>
-</div>
-
-<div class="section" id="aliases">
- <h2>{{ t 'Aliases' }}</h2>
- <div id="aliases-list"></div>
- <form name="aliasForm" method="post">
- <input type="text" name="alias" id="alias" placeholder="{{ t 'Mail address' }}">
- <input type="text" name="alias-name" id="alias-name" placeholder="{{ t 'Display Name' }}">
- <input type="submit" value="{{ t 'Save' }}">
- </form>
-</div>
-
-<div class="section">
- <h2>{{ t 'Account' }}</h2>
- <div id="mail-settings-status">
- <div id="mail-settings-loading" class="icon-loading-small" style="display: none; float: left; margin-right: 10px;"></div>
- <span id="mail-settings-msg" class="msg success" style="display: none;">Saved</span>
- </div>
- <div id="mail-settings"></div>
-</div>
diff --git a/js/templates/aliases-list.html b/js/templates/aliases-list.html
deleted file mode 100644
index a2fa0e7e9..000000000
--- a/js/templates/aliases-list.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<table class="grid">
- <tbody>
- <tr id="{{ aliases.id }}">
- <td style="padding:0 5px 0 5px;">
- {{ aliases.alias }}
- </td>
- <td style="padding:0 5px 0 5px;">
- {{ aliases.name }}
- </td>
- <td style="padding:0 5px 0 5px;"> <button type="submit" value="{{ id }}" class="icon-delete"></button>
- </td>
- </tr>
- </tbody>
-</table> \ No newline at end of file
diff --git a/js/templates/attachment.html b/js/templates/attachment.html
deleted file mode 100644
index d2f9c0587..000000000
--- a/js/templates/attachment.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<div class="new-message-attachment-name">{{displayName}}</div>
-<div class="new-message-attachments-action svg icon-delete"></div>
diff --git a/js/templates/attachments.html b/js/templates/attachments.html
deleted file mode 100644
index 5df0900eb..000000000
--- a/js/templates/attachments.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<ul></ul>
-<button type="button" id="add-local-attachment" style="display: inline-block;">
- <span class="icon-upload"/> {{ t 'Upload attachment' }}
-</button>
-<button type="button" id="add-cloud-attachment" style="display: inline-block;">
- <span class="icon-folder"/> {{ t 'Add attachment from Files' }}
-</button>
-<input type="file" multiple id="local-attachments" style="display: none;">
diff --git a/js/templates/calendar.html b/js/templates/calendar.html
deleted file mode 100644
index b10bf7698..000000000
--- a/js/templates/calendar.html
+++ /dev/null
@@ -1 +0,0 @@
-<a class="select-calendar" data-calendar-url="{{url}}">{{displayname}}</a> \ No newline at end of file
diff --git a/js/templates/composer.html b/js/templates/composer.html
deleted file mode 100644
index a6deeeb58..000000000
--- a/js/templates/composer.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<div class="message-composer">
- <select class="mail-account">
- {{#each aliases}}
- <option value="{{id}}">{{ t 'from' }} {{name}} &lt;{{emailAddress}}&gt;</option>
- {{/each}}
- </select>
- <div class="composer-fields">
- <a href="#" class="composer-cc-bcc-toggle transparency
- {{#ifHasCC}}
- hidden
- {{/ifHasCC}}">{{ t '+ cc/bcc' }}</a>
- <input type="text" name="to"
- value="{{printAddressListPlain to}}"
- class="to recipient-autocomplete" />
- <label class="to-label transparency" for="to">{{ t 'to' }}</label>
- <div class="composer-cc-bcc
- {{#unlessHasCC}}
- hidden
- {{/unlessHasCC}}">
- <input type="text"
- name="cc"
- class="cc recipient-autocomplete"
- value="{{printAddressListPlain cc}}"
- />
- <label for="cc" class="cc-label transparency">{{ t 'cc' }}</label>
- <input type="text"
- name="bcc"
- class="bcc recipient-autocomplete"
- value="{{printAddressListPlain bcc}}"
- />
- <label for="bcc" class="bcc-label transparency">{{ t 'bcc' }}</label>
- </div>
- {{#ifToNoreply}}
- <div class="warning noreply-box">{{ t 'Note that the mail came from a noreply address so your reply will probably not be read.' }}</div>
- {{/ifToNoreply}}
- {{#unless isReply}}
- <input type="text" name="subject" value="{{subject}}" class="subject" autocomplete="off"
- placeholder="{{ t 'Subject' }}" />
- {{/unless}}
- <textarea name="body"
- class="message-body"
- placeholder="{{ t 'Message …' }}">{{message}}</textarea>
- </div>
- <div class="submit-message-wrapper">
- <input class="submit-message send primary" type="submit" value="{{submitButtonTitle}}" disabled>
- <div class="submit-message-wrapper-inside" ></div>
- </div>
- <div class="new-message-attachments">
- </div>
-</div>
diff --git a/js/templates/empty-folder.html b/js/templates/empty-folder.html
deleted file mode 100644
index 4c4f55c52..000000000
--- a/js/templates/empty-folder.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<div class="icon-mail"></div>
-<h2>{{ t 'No messages in this folder' }}</h2>
diff --git a/js/templates/empty-message.html b/js/templates/empty-message.html
deleted file mode 100644
index 1ec3aa0f1..000000000
--- a/js/templates/empty-message.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="container hidden-mobile"></div>
diff --git a/js/templates/error.html b/js/templates/error.html
deleted file mode 100644
index cfac169bf..000000000
--- a/js/templates/error.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="">
- {{#if icon}}<div class="{{icon}}"></div>{{/if}}
- <h2>{{{ text }}}</h2>
- {{# if canRetry }}
- <br>
- <button class="retry">{{ t 'Try again' }}</button>
- {{/if}}
-</div> \ No newline at end of file
diff --git a/js/templates/folder.html b/js/templates/folder.html
deleted file mode 100644
index 62886fd63..000000000
--- a/js/templates/folder.html
+++ /dev/null
@@ -1,15 +0,0 @@
-{{#if folders}}
-<button class="collapse"></button>
-{{/if}}
-<a class="folder
- {{#if specialRole}} icon-{{specialRole}} svg{{/if}}
- {{#if noSelect}} no-select {{/if}}"
- href="{{#if noSelect}}#{{else}}{{url}}{{/if}}">
- {{name}}
-</a>
-<div class="app-navigation-entry-utils">
- <ul>
- <li class="app-navigation-entry-utils-counter">{{#if count}}{{count}}{{/if}}</li>
- </ul>
-</div>
-<div class="folders"></div> \ No newline at end of file
diff --git a/js/templates/foldercontent.html b/js/templates/foldercontent.html
deleted file mode 100644
index 878b7f493..000000000
--- a/js/templates/foldercontent.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<div class="app-content-list"></div>
-<div class="app-content-details"></div>
diff --git a/js/templates/keyboard-shortcuts.html b/js/templates/keyboard-shortcuts.html
deleted file mode 100644
index 91bd625f9..000000000
--- a/js/templates/keyboard-shortcuts.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<div id="app-shortcuts" class="section">
-
- <h2>{{t 'Keyboard shortcuts'}}</h2>
-
- <p>{{t 'Speed up your Mail experience with these quick shortcuts.'}}</p>
-
- <dl>
- <div>
- <dt><kbd>C</kbd></dt>
- <dd>{{t 'Compose new message'}}</dd>
- </div>
- <div>
- <dt><kbd>K</kbd> or <kbd>←</kbd></dt>
- <dd>{{t 'Newer message'}}</dd>
- </div>
- <div>
- <dt><kbd>J</kbd> or <kbd>→</kbd></dt>
- <dd>{{t 'Older message'}}</dd>
- </div>
-
- <div>
- <dt><kbd>S</kbd></dt>
- <dd>{{ t 'Toggle star' }}</dd>
- </div>
- <div>
- <dt><kbd>U</kbd></dt>
- <dd>{{ t 'Toggle unread' }}</dd>
- </div>
- <div>
- <dt><kbd>Del</kbd></dt>
- <dd>{{ t 'Delete' }}</dd>
- </div>
-
- <div>
- <dt><kbd>Ctrl</kbd> + <kbd>F</kbd></dt>
- <dd>{{ t 'Search' }}</dd>
- </div>
- <div>
- <dt><kbd>Ctrl</kbd> + <kbd>Enter</kbd></dt>
- <dd>{{ t 'Send' }}</dd>
- </div>
- <div>
- <dt><kbd>R</kbd></dt>
- <dd>{{t 'Refresh'}}</dd>
- </div>
- </dl>
-
-</div>
diff --git a/js/templates/loading.html b/js/templates/loading.html
deleted file mode 100644
index b7ce1aa92..000000000
--- a/js/templates/loading.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{{#if hint}}
-<div class="emptycontent">
- <a class="icon-loading"></a>
- <h2>{{{ hint }}}</h2>
-</div>
-{{else}}
-<div class="container icon-loading"></div>
-{{/if}} \ No newline at end of file
diff --git a/js/templates/message-attachment.html b/js/templates/message-attachment.html
deleted file mode 100644
index 2591d478b..000000000
--- a/js/templates/message-attachment.html
+++ /dev/null
@@ -1,12 +0,0 @@
-{{#if isImage}}
-<img class="mail-attached-image" src="{{downloadUrl}}">
-<br>
-{{/if}}
-<img class="attachment-icon" src="{{mimeUrl}}" />
-<span class="attachment-name" title="{{fileName}} ({{humanFileSize size}})">{{fileName}} <span class="attachment-size">({{humanFileSize size}})</span></span>
-{{#if isCalendarEvent}}
-<button class="button icon-add attachment-import calendar" title="{{ t 'Import into calendar' }}"></button>
-{{/if}}
-<button class="button icon-download attachment-download" title="{{ t 'Download attachment' }}"></button>
-<button class="icon-folder attachment-save-to-cloud" title="{{ t 'Save to Files' }}"></button>
-<div class="popovermenu bubble attachment-import-popover hidden"></div> \ No newline at end of file
diff --git a/js/templates/message-attachments.html b/js/templates/message-attachments.html
deleted file mode 100644
index 90ff0b949..000000000
--- a/js/templates/message-attachments.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="attachments">
-
-</div>
-{{#if moreThanOne}}
-<p>
- <button class="icon-folder attachments-save-to-cloud">{{ t 'Save all to Files' }}</button>
-</p>
-{{/if}} \ No newline at end of file
diff --git a/js/templates/message-list-item.html b/js/templates/message-list-item.html
deleted file mode 100644
index 1b8f9a70f..000000000
--- a/js/templates/message-list-item.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<div class="app-content-list-item {{#if flags.unseen}}unseen{{/if}} {{#if active}}active{{/if}}" data-message-id="{{id}}">
- {{#if isUnified}}
- <div class="mail-message-account-color" style="background-color: {{accountColor accountMail}}"></div>
- {{/if}}
-
- {{#if flags.flagged}}
- <div class="star app-content-list-item-star icon-starred" data-starred="true"></div>
- {{else}}
- <div class="star app-content-list-item-star icon-star" data-starred="false"></div>
- {{/if}}
-
- <div class="app-content-list-item-icon sender-image avatardiv">
- {{#if senderImage}}
- <img src="{{senderImage}}" width="32px" height="32px" />
- {{else}}
- <div class="avatar" data-user="{{sender.label}}" data-size="32"></div>
- {{/if}}
- </div>
-
- <div class="app-content-list-item-line-one" title="{{label}}">{{label}}</div>
- <div class="app-content-list-item-line-two" title="{{subject}}">
- {{#if flags.answered}}
- <span class="icon-reply"></span>
- {{/if}}
-
- {{#if flags.hasAttachments}}
- <span class="icon-public icon-attachment"></span>
- {{/if}}
- {{subject}}
- </div>
- <div class="app-content-list-item-details date">
- <span class="modified live-relative-timestamp"
- data-timestamp="{{dateMicro}}"
- title="{{formatDate dateInt}}">
- {{relativeModifiedDate dateInt}}
- </span>
- </div>
- <div class="app-content-list-item-menu">
- <div class="icon-more toggle-menu"></div>
- <div class="popovermenu">
- <ul>
- <li>
- <button class="action toggle-read">
- <span class="icon-mail"></span>
- <span>{{ t 'Toggle read' }}</span>
- </button>
- </li>
- <li>
- <button class="action delete">
- <span class="icon-delete"></span>
- <span>{{ t 'Delete' }}</span>
- </button>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
diff --git a/js/templates/message-list.html b/js/templates/message-list.html
deleted file mode 100644
index a117d63f2..000000000
--- a/js/templates/message-list.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<div id="mail-message-list-loading"
- class="icon-loading-small"
- style="display: none"></div>
-<div id="mail-message-list"></div>
-<div id="load-more-mail-messages"></div> \ No newline at end of file
diff --git a/js/templates/message.html b/js/templates/message.html
deleted file mode 100755
index d9fc2402b..000000000
--- a/js/templates/message.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<div id="mail-message-close" class="icon-close"></div>
-<div id="mail-message-header" class="section">
- <h2 title="{{subject}}">{{subject}}</h2>
- <p class="transparency">
- {{printAddressList from}}
- {{ t 'to' }}
- {{printAddressList to}}
- {{#if cc.length}}
- ({{ t 'cc' }} {{printAddressList cc}})
- {{/if}}
- </p>
-</div>
-<div class="mail-message-body">
- <div id="mail-content">
- {{#if hasHtmlBody}}
- <div id="show-images-text">
- {{ t 'The images have been blocked to protect your privacy.' }}
- <button id="show-images-button">{{ t 'Show images from this sender' }}</button>
- </div>
- <div class="icon-loading">
- <iframe src="{{htmlBodyUrl}}" seamless>
- </iframe>
- </div>
- {{else}}
- {{{body}}}
- {{/if}}
- </div>
- {{#if signature}}
- <div class="mail-signature">
- {{{signature}}}
- </div>
- {{/if}}
-
- <div class="mail-message-attachments"></div>
- <div id="reply-composer"></div>
- <input type="button" id="forward-button" value="{{ t 'Forward' }}">
-</div>
diff --git a/js/templates/newmessage.html b/js/templates/newmessage.html
deleted file mode 100644
index 2fbce75c8..000000000
--- a/js/templates/newmessage.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button type="button"
- id="mail_new_message"
- class="icon-add">{{ t 'New message' }}</button> \ No newline at end of file
diff --git a/js/templates/no-search-results-message-list.html b/js/templates/no-search-results-message-list.html
deleted file mode 100644
index 0b9ecd35b..000000000
--- a/js/templates/no-search-results-message-list.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div id="emptycontent" class="emptycontent-search">
- <div class="icon-search"></div>
- <h2>{{ t 'No search results for' }} {{ searchTerm }}</h2>
-</div> \ No newline at end of file
diff --git a/js/templates/settings.html b/js/templates/settings.html
deleted file mode 100644
index e46c639fa..000000000
--- a/js/templates/settings.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<div id="mailsettings">
- <ul id="settings-accounts" class="mailaccount-list">
- </ul>
-
- <a id="new-mail-account"
- class="button new-button"
- href="{{addAccountUrl}}">{{ t 'Add mail account' }}</a>
-
- <p>
- <input class="checkbox"
- id="gravatar-enabled"
- {{#if useExternalAvatars}}checked="checked"{{/if}}
- type="checkbox">
- <label for="gravatar-enabled">{{ t 'Use Gravatar and favicon avatars' }}</label>
- </p>
-
- <p class="app-settings-hint">
- <a id="keyboard-shortcuts"
- href="{{keyboardShortcutUrl}}">{{ t 'Keyboard shortcuts' }}</a>
- </p>
-
- <p class="app-settings-hint">
- {{{ t 'Looking to encrypt your emails? Install the <a href="https://www.mailvelope.com/" target="_blank">Mailvelope browser extension</a>!' }}}
- </p>
- </div>
diff --git a/js/templates/setup.html b/js/templates/setup.html
deleted file mode 100644
index f2f4f9550..000000000
--- a/js/templates/setup.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="setup-content container"></div>
diff --git a/js/tests/e2e/custom-assertions/elementCount.js b/js/tests/e2e/custom-assertions/elementCount.js
new file mode 100644
index 000000000..528830385
--- /dev/null
+++ b/js/tests/e2e/custom-assertions/elementCount.js
@@ -0,0 +1,19 @@
+// A custom Nightwatch assertion.
+// The assertion name is the filename.
+// Example usage:
+//
+// browser.assert.elementCount(selector, count)
+//
+// For more information on custom assertions see:
+// http://nightwatchjs.org/guide#writing-custom-assertions
+
+exports.assertion = function elementCount (selector, count) {
+ this.message = `Testing if element <${selector}> has count: ${count}`
+ this.expected = count
+ this.pass = val => val === count
+ this.value = res => res.value
+ function evaluator (_selector) {
+ return document.querySelectorAll(_selector).length
+ }
+ this.command = cb => this.api.execute(evaluator, [selector], cb)
+}
diff --git a/js/tests/e2e/specs/test.js b/js/tests/e2e/specs/test.js
new file mode 100644
index 000000000..03256494c
--- /dev/null
+++ b/js/tests/e2e/specs/test.js
@@ -0,0 +1,14 @@
+// For authoring Nightwatch tests, see
+// http://nightwatchjs.org/guide#usage
+
+module.exports = {
+ 'default e2e tests': browser => {
+ browser
+ .url(process.env.VUE_DEV_SERVER_URL)
+ .waitForElementVisible('#app', 5000)
+ .assert.elementPresent('.hello')
+ .assert.containsText('h1', 'Welcome to Your Vue.js App')
+ .assert.elementCount('img', 1)
+ .end()
+ }
+}
diff --git a/js/tests/index.html b/js/tests/index.html
deleted file mode 100644
index bf6a672a8..000000000
--- a/js/tests/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>Jasmine Spec Runner</title>
- <link rel="stylesheet" type="text/css" href="../vendor/jasmine-core/lib/jasmine-core/jasmine.css">
- <script type="text/javascript" src="../vendor/requirejs/require.js"></script>
- <script type="text/javascript" src="Views_Attachments_Spec.js"></script>
- </head>
- <body>
- <div id="sandbox" style="overflow: hidden; height: 1px;"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/js/tests/integration/app_start_spec.js b/js/tests/integration/app_start_spec.js
deleted file mode 100644
index cd09d1a0e..000000000
--- a/js/tests/integration/app_start_spec.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/* global expect, spyOn */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'jquery',
- 'app',
- 'radio',
- 'backbone',
- 'controller/accountcontroller',
- 'models/accountcollection'
-], function($, Mail, Radio, Backbone, AccountController,
- AccountCollection) {
- describe('App', function() {
-
- beforeEach(function() {
- jasmine.Ajax.install();
- $('testcontainer').remove();
- $('body')
- .append('testcontainer')
- .append(
- '<input type="hidden" id="config-installed-version" value="0.6.1">'
- + '<input type="hidden" id="serialized-accounts" value="">'
- + '<div id="user-displayname">Jane Doe</div>'
- + '<div id="user-email">jane@doe.cz</div>'
- + '<div id="app">'
- + ' <div id="app-navigation" class="icon-loading">'
- + ' <div id="mail-new-message-fixed"></div>'
- + ' <div id="usergrouplist"></div>'
- + ' <div id="app-settings">'
- + ' <div id="app-settings-header">'
- + ' <button class="settings-button" data-apps-slide-toggle="#app-settings-content"><?php p($l->t("Settings"));?></button>'
- + ' </div>'
- + ' <div id="app-settings-content"></div>'
- + ' </div>'
- + ' </div>'
- + ' <div id="app-content">'
- + ' <div class="mail-content container">'
- + ' <div class="container icon-loading"></div>'
- + ' </div>'
- + ' </div>'
- + '</div>');
- });
-
- afterEach(function() {
- jasmine.Ajax.uninstall();
- });
-
- it('starts', function(done) {
- var resolve;
- var accountsPromise = new Promise(function(res) {
- resolve = res;
- });
-
- spyOn(Radio.ui, 'trigger');
- spyOn(Backbone.history, 'start');
- spyOn(AccountController, 'loadAccounts').and.callFake(function() {
- return accountsPromise;
- });
- spyOn(Mail, 'startBackgroundSync');
-
- // No ajax calls so far
- expect(jasmine.Ajax.requests.count()).toBe(0);
-
- // Let's go…
- Mail.start();
-
- expect(Radio.ui.trigger).toHaveBeenCalledWith('content:loading', 'Loading accounts');
-
- var accounts = new AccountCollection([
- {
- accountId: 44,
- name: 'Jane Doe',
- email: 'jane@doe.se'
- }
- ]);
- resolve(accounts);
-
- accountsPromise.then(function() {
- // The promise is resolved asynchronously, so we have to use the
- // promise here too
- expect(Backbone.history.start).toHaveBeenCalled();
- }).then(done).catch(done.fail);
- });
- });
-});
diff --git a/js/tests/models/account_spec.js b/js/tests/models/account_spec.js
deleted file mode 100644
index 13c6c2dc0..000000000
--- a/js/tests/models/account_spec.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/* global spyOn */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(['models/account',
- 'models/foldercollection',
- 'models/aliasescollection',
- 'models/folder',
- 'OC'
-], function(Account, FolderCollection, AliasCollection, Folder, OC) {
- describe('Account test', function() {
- var account;
-
- beforeEach(function() {
- account = new Account();
- });
-
- it('has collections as default attributes', function() {
- var folders = account.folders;
- var aliases = account.get('aliases');
-
- expect(folders instanceof FolderCollection).toBe(true);
- expect(aliases instanceof AliasCollection).toBe(true);
- });
-
- it('uses accountId as id attribute', function() {
- expect(account.idAttribute).toBe('accountId');
- });
-
- it('has the correct URL', function() {
- spyOn(OC, 'generateUrl').and.returnValue('index.php/apps/mail/api/accounts');
-
- var url = account.url();
-
- expect(url).toBe('index.php/apps/mail/api/accounts');
- });
-
- it('adds folders to its collection', function() {
- var folder = new Folder();
-
- account.addFolder(folder);
-
- expect(account.folders.length).toBe(1);
- expect(folder.account).toBe(account);
- });
- });
-}); \ No newline at end of file
diff --git a/js/tests/models/accountcollection_spec.js b/js/tests/models/accountcollection_spec.js
deleted file mode 100644
index 28db4f69f..000000000
--- a/js/tests/models/accountcollection_spec.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/accountcollection',
- 'models/account',
- 'OC'
-], function(AccountCollection, Account, OC) {
- describe('AccountCollection', function() {
- var collection;
- var account;
-
- beforeEach(function() {
- collection = new AccountCollection();
- });
-
- it('contains accounts', function() {
- expect(collection.model).toBe(Account);
- });
-
- it('uses the right URL', function() {
- spyOn(OC, 'generateUrl').and.returnValue('index.php/apps/mail/api/accounts');
-
- var url = collection.url();
-
- expect(OC.generateUrl).toHaveBeenCalled();
- expect(url).toBe('index.php/apps/mail/api/accounts');
- });
-
- it('sorts accounts by accountId', function() {
- account = new Account();
- account.set('accountId', 12);
-
- var cmp = collection.comparator(account);
-
- expect(cmp).toBe(12);
- });
- });
-});
diff --git a/js/tests/models/alias_spec.js b/js/tests/models/alias_spec.js
deleted file mode 100644
index 55df86e3e..000000000
--- a/js/tests/models/alias_spec.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['models/alias'], function(Alias) {
- describe('Alias test', function() {
- var alias;
-
- beforeEach(function() {
- alias = new Alias();
- });
-
- it('serializes the alias model', function() {
- alias.set('id', 123);
- alias.set('alias', 'alias@example.com');
-
- var serialized = alias.toJSON();
-
- expect(serialized).toEqual({
- id: 123,
- alias: 'alias@example.com'
- });
- });
- });
-});
diff --git a/js/tests/models/aliasescollection_spec.js b/js/tests/models/aliasescollection_spec.js
deleted file mode 100644
index 19c11f82e..000000000
--- a/js/tests/models/aliasescollection_spec.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/aliasescollection',
- 'models/alias'
-], function(AliasesCollection, Alias) {
- describe('AliasesCollection', function() {
- var collection;
-
- beforeEach(function() {
- collection = new AliasesCollection();
- });
-
- it('contains aliases', function() {
- expect(collection.model).toBe(Alias);
- });
- });
-});
diff --git a/js/tests/models/attachment_spec.js b/js/tests/models/attachment_spec.js
deleted file mode 100644
index 34e524f64..000000000
--- a/js/tests/models/attachment_spec.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/* global expect */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/attachment'
-], function(Attachment) {
- describe('Attachment', function() {
- var attachment;
-
- it('has an random id', function() {
- var a1 = new Attachment({
- fileName: '/file1.png'
- });
- var a2 = new Attachment({
- fileName: '/cat.jpg'
- });
-
- expect(a1.get('id')).toBeDefined();
- expect(a2.get('id')).toBeDefined();
-
- expect(a1.get('id')).not.toBe(a2.get('id'));
- });
-
- it('ha no displayName if fileName is not set', function() {
- attachment = new Attachment();
-
- expect(attachment.get('displayName')).toBeUndefined();
- });
-
- it('removes leading slash from display name', function() {
- attachment = new Attachment({
- fileName: '/my/file.jpg'
- });
-
- expect(attachment.get('displayName')).toBe('my/file.jpg');
- });
- });
-});
diff --git a/js/tests/models/attachments_spec.js b/js/tests/models/attachments_spec.js
deleted file mode 100644
index 3920dfef1..000000000
--- a/js/tests/models/attachments_spec.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/* global expect */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/attachments',
- 'models/attachment'
-], function(Attachents, Attachment) {
- describe('Attachments', function() {
- var attachments;
-
- beforeEach(function() {
- attachments = new Attachents();
- });
-
- it('contains attachments', function() {
- expect(attachments.model).toBe(Attachment);
- });
- });
-});
diff --git a/js/tests/models/folder_spec.js b/js/tests/models/folder_spec.js
deleted file mode 100644
index f700a9d59..000000000
--- a/js/tests/models/folder_spec.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/* global expect */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/folder',
- 'models/account',
- 'models/messagecollection',
- 'models/message'
-], function(Folder, Account, MessageCollection, Message) {
- describe('Folder', function() {
- var account;
- var folder;
-
- beforeEach(function() {
- account = new Account();
- folder = new Folder();
- account.addFolder(folder);
- });
-
- it('has messages', function() {
- expect(folder.messages instanceof MessageCollection).toBe(true);
- });
-
- it('toggles open', function() {
- expect(folder.get('open')).toBe(false);
-
- folder.toggleOpen();
-
- expect(folder.get('open')).toBe(true);
-
- folder.toggleOpen();
-
- expect(folder.get('open')).toBe(false);
- });
-
- it('assigns itself to an added message', function() {
- var message = new Message();
-
- expect(folder.messages.length).toBe(0);
-
- folder.addMessage(message);
-
- expect(folder.messages.length).toBe(1);
- expect(message.folder).toBe(folder);
- });
-
- it('assigns itself to added messages', function() {
- var messages = [{}, {}];
-
- expect(folder.messages.length).toBe(0);
-
- folder.addMessages(messages);
-
- expect(folder.messages.length).toBe(2);
- expect(folder.messages.at(0).folder).toBe(folder);
- expect(folder.messages.at(1).folder).toBe(folder);
- });
- });
-});
diff --git a/js/tests/models/foldercollection_spec.js b/js/tests/models/foldercollection_spec.js
deleted file mode 100644
index 51de05288..000000000
--- a/js/tests/models/foldercollection_spec.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/foldercollection',
- 'models/folder'
-], function(FolderCollection, Folder) {
- describe('FolderCollection', function() {
- var collection;
-
- beforeEach(function() {
- collection = new FolderCollection();
- });
-
- it('contains folders', function() {
- expect(collection.model).toBe(Folder);
- });
- });
-}); \ No newline at end of file
diff --git a/js/tests/models/localattachment_spec.js b/js/tests/models/localattachment_spec.js
deleted file mode 100644
index 2d138fd2c..000000000
--- a/js/tests/models/localattachment_spec.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/* global expect */
-
-/**
- * @author Luc Calaresu <dev@calaresu.com>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/localattachment'
-], function(LocalAttachment) {
-
- /* LocalAttachment derivates from Attachment */
- /* We just test the specifics since Attachment is already tested */
- describe('LocalAttachment', function() {
- var attachment;
-
- it('has an initial progress and status equal to 0', function() {
- var a1 = new LocalAttachment({
- fileName: '/file1.png'
- });
-
- expect(a1.get('progress')).toBe(0);
- expect(a1.get('uploadStatus')).toBe(0);
- });
-
- it('updates its attributes on upload progress', function() {
- attachment = new LocalAttachment();
- /* simulate a call to 'onProgress' with some example values */
- var progressEvent = {
- lengthComputable: true,
- loaded: 500,
- total: 1000
- };
- attachment.onProgress(progressEvent);
-
- /* we expect the status to be 'ONGOING' and the value 0.5 (=500/1000) */
- expect(attachment.get('progress')).toBe(0.5);
- expect(attachment.get('uploadStatus')).toBe(1);
- });
-
- it('does not update its attributes if progress is not computable', function() {
- attachment = new LocalAttachment();
- /* simulate a call to 'onProgress' with some example values */
- var progressEvent = {
- lengthComputable: false,
- loaded: 1000,
- total: 1000
- };
- attachment.onProgress(progressEvent);
-
- expect(attachment.get('progress')).toBe(0);
- expect(attachment.get('uploadStatus')).toBe(0);
- });
- });
-});
diff --git a/js/tests/models/message_spec.js b/js/tests/models/message_spec.js
deleted file mode 100644
index cb760fdf0..000000000
--- a/js/tests/models/message_spec.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/message',
- 'models/messageflags'
-], function(Message, MessageFlags) {
- describe('Message', function() {
- var message;
-
- beforeEach(function() {
- message = new Message();
- });
-
- it('has flags and is inactive by default', function() {
- expect(message.get('flags') instanceof MessageFlags).toBe(true);
- expect(message.get('active')).toBe(false);
- });
-
- it('triggers a change event whenever flags change', function() {
- var hnd1 = jasmine.createSpy('handler1');
- var hnd2 = jasmine.createSpy('handler2');
-
- message.on('change', hnd1);
- message.on('change', hnd2);
-
- message.get('flags').trigger('change');
-
- expect(hnd1).toHaveBeenCalled();
- expect(hnd2).toHaveBeenCalled();
- });
- });
-});
diff --git a/js/tests/models/messagecollection_spec.js b/js/tests/models/messagecollection_spec.js
deleted file mode 100644
index 8262b7055..000000000
--- a/js/tests/models/messagecollection_spec.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(['models/messagecollection',
- 'models/message'],
- function(MessageCollection, Message) {
- describe('MessageCollection', function() {
- var collection;
-
- beforeEach(function() {
- collection = new MessageCollection();
- });
-
- it('contains messages', function() {
- expect(collection.model).toBe(Message);
- });
-
- it('compares messages by date', function() {
- var message = new Message();
- message.set('dateInt', 12345);
-
- var cmp = collection.comparator(message);
-
- expect(cmp).toBe(-12345);
- });
- });
- });
diff --git a/js/tests/models/messageflags_spec.js b/js/tests/models/messageflags_spec.js
deleted file mode 100644
index a624056b3..000000000
--- a/js/tests/models/messageflags_spec.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'models/messageflags'
-], function(MessageFlag) {
- describe('MessageFlag', function() {
- var messageFlag;
-
- beforeEach(function() {
- messageFlag = new MessageFlag();
- });
-
- it('is answered by default', function() {
- expect(messageFlag.get('answered')).toBe(false);
- });
- });
-}); \ No newline at end of file
diff --git a/js/tests/replybuilder_spec.js b/js/tests/replybuilder_spec.js
deleted file mode 100644
index 0e9ef11e9..000000000
--- a/js/tests/replybuilder_spec.js
+++ /dev/null
@@ -1,191 +0,0 @@
-/* global expect */
-
-/**
- * @copyright 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-define([
- 'replybuilder',
- 'models/message',
- 'models/folder',
- 'models/account',
- 'backbone'
-], function(ReplyBuilder, Message, Folder, Account, Backbone) {
-
- describe('ReplyBuilder', function() {
-
- var message, messageBody, folder, account;
-
- beforeEach(function() {
- message = new Message();
- messageBody = new Backbone.Model();
- folder = new Folder();
- account = new Account();
- account.addFolder(folder);
- folder.addMessage(message);
- });
-
- var createAddress = function(addr) {
- return {
- label: addr,
- email: addr
- };
- };
-
- var setEmail = function(message, address) {
- message.folder.account.set('emailAddress', address.email);
- };
-
- var assertSameAddressList = function(l1, l2) {
- var rawL1 = l1.map(function(a) {
- return a.email;
- });
- var rawL2 = l2.map(function(a) {
- return a.email;
- });
- rawL1.sort();
- rawL2.sort();
- expect(rawL1).toEqual(rawL2);
- };
-
- // b -> a to a -as b
- it('handles a one-on-one reply', function() {
- var a = createAddress('a@domain.tld');
- var b = createAddress('b@domain.tld');
- messageBody.set('from', [b]);
- messageBody.set('to', [a]);
- messageBody.set('cc', []);
- setEmail(message, a);
-
- var reply = ReplyBuilder.buildReply(message, messageBody);
-
- assertSameAddressList(reply.from, [a]);
- assertSameAddressList(reply.to, [b]);
- assertSameAddressList(reply.cc, []);
- });
-
- it('handles simple group reply', function() {
- var a = createAddress('a@domain.tld');
- var b = createAddress('b@domain.tld');
- var c = createAddress('c@domain.tld');
- messageBody.set('from', [a]);
- messageBody.set('to', [b, c]);
- messageBody.set('cc', []);
- setEmail(message, b);
-
- var reply = ReplyBuilder.buildReply(message, messageBody);
-
- assertSameAddressList(reply.from, [b]);
- assertSameAddressList(reply.to, [a, c]);
- assertSameAddressList(reply.cc, []);
- });
-
-
- it('handles group reply with CC', function() {
- var a = createAddress('a@domain.tld');
- var b = createAddress('b@domain.tld');
- var c = createAddress('c@domain.tld');
- var d = createAddress('d@domain.tld');
- messageBody.set('from', [a]);
- messageBody.set('to', [b, c]);
- messageBody.set('cc', [d]);
- setEmail(message, b);
-
- var reply = ReplyBuilder.buildReply(message, messageBody);
-
- assertSameAddressList(reply.from, [b]);
- assertSameAddressList(reply.to, [a, c]);
- assertSameAddressList(reply.cc, [d]);
- });
-
- it('handles group reply of CC address', function() {
- var a = createAddress('a@domain.tld');
- var b = createAddress('b@domain.tld');
- var c = createAddress('c@domain.tld');
- var d = createAddress('d@domain.tld');
- messageBody.set('from', [a]);
- messageBody.set('to', [b, c]);
- messageBody.set('cc', [d]);
- setEmail(message, d);
-
- var reply = ReplyBuilder.buildReply(message, messageBody);
-
- assertSameAddressList(reply.from, [d]);
- assertSameAddressList(reply.to, [a, b, c]);
- assertSameAddressList(reply.cc, []);
- });
-
- it('handles group reply of CC address with many CCs', function() {
- var a = createAddress('a@domain.tld');
- var b = createAddress('b@domain.tld');
- var c = createAddress('c@domain.tld');
- var d = createAddress('d@domain.tld');
- var e = createAddress('e@domain.tld');
- messageBody.set('from', [a]);
- messageBody.set('to', [b, c]);
- messageBody.set('cc', [d, e]);
- setEmail(message, e);
-
- var reply = ReplyBuilder.buildReply(message, messageBody);
-
- assertSameAddressList(reply.from, [e]);
- assertSameAddressList(reply.to, [a, b, c]);
- assertSameAddressList(reply.cc, [d]);
- });
-
- it('handles reply of message where the recipient is in the CC', function() {
- var ali = createAddress('ali@domain.tld');
- var bob = createAddress('bob@domain.tld');
- var me = createAddress('c@domain.tld');
- var dani = createAddress('d@domain.tld');
-
- messageBody.set('from', [ali]);
- messageBody.set('to', [bob]);
- messageBody.set('cc', [me, dani]);
- setEmail(message, me);
-
- var reply = ReplyBuilder.buildReply(message, messageBody);
-
- assertSameAddressList(reply.from, [me]);
- assertSameAddressList(reply.to, [ali, bob]);
- assertSameAddressList(reply.cc, [dani]);
- });
-
- it('handles jan\'s reply to nina\'s mesage to a mailing list', function() {
- var nina = createAddress('nina@nc.com');
- var list = createAddress('list@nc.com');
- var jan = createAddress('jan@nc.com');
-
- messageBody.set('from', [nina]);
- messageBody.set('to', [list]);
- messageBody.set('cc', []);
- setEmail(message, jan);
-
- var reply = ReplyBuilder.buildReply(message, messageBody);
-
- assertSameAddressList(reply.from, [jan]);
- assertSameAddressList(reply.to, [nina, list]);
- assertSameAddressList(reply.cc, []);
- });
-
- });
-
-});
diff --git a/js/tests/service/avatarservice_spec.js b/js/tests/service/avatarservice_spec.js
deleted file mode 100644
index 4133a87d6..000000000
--- a/js/tests/service/avatarservice_spec.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/* global sinon, expect */
-
-/**
- * @copyright 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-define([
- 'service/avatarservice'
-], function(AvatarService) {
- 'use strict';
-
- describe('AvatarService', function() {
- var server;
-
- beforeEach(function() {
- server = sinon.fakeServer.create();
- });
-
- afterEach(function() {
- server.restore();
- });
-
- it('does not load the image if no avatar is available', function(done) {
- var loading = AvatarService.loadAvatar('user@domain.com');
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 404,
- {
- 'Content-Type': 'application/json'
- });
-
- loading.then(function(url) {
- expect(url).toBe(undefined);
- done();
- }).catch(done.fail);
- });
-
- it('does load the image if an avatar is available', function(done) {
- var loading = AvatarService.loadAvatar('user@domain.com');
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- isExternal: true,
- mime: 'image/jpeg',
- url: 'https://domain.com/favicon.ico'
- }));
-
- loading.then(function(url) {
- expect(url).not.toBe(undefined);
- done();
- }).catch(done.fail);
- });
- });
-});
diff --git a/js/tests/service/backgroundsyncservice_spec.js b/js/tests/service/backgroundsyncservice_spec.js
deleted file mode 100644
index 4d1f50a38..000000000
--- a/js/tests/service/backgroundsyncservice_spec.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/* global expect, Promise, spyOn */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'radio',
- 'models/account',
- 'models/folder',
- 'service/backgroundsyncservice'
-], function(Radio, Account, Folder, BackgroundSyncService) {
- describe('Background sync service', function() {
- it('fails', function(done) {
- spyOn(Radio.sync, 'request').and.returnValue(Promise.resolve([]));
- spyOn(Radio.ui, 'trigger');
- var account = new Account({
- accountId: -1,
- isUnified: true
- });
- var folder = new Folder({
- account: account
- });
- account.addFolder(folder);
-
- BackgroundSyncService.sync(account).then(function() {
- expect(Radio.sync.request).toHaveBeenCalledWith('sync:folder', folder);
- expect(Radio.ui.trigger).
- toHaveBeenCalledWith('notification:mail:show', []);
- done();
- }).catch(done.fail);
- });
- });
-});
diff --git a/js/tests/service/foldersyncservice_spec.js b/js/tests/service/foldersyncservice_spec.js
deleted file mode 100644
index f4606d577..000000000
--- a/js/tests/service/foldersyncservice_spec.js
+++ /dev/null
@@ -1,496 +0,0 @@
-/* global sinon, expect */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'service/foldersyncservice',
- 'models/account',
- 'models/accountcollection',
- 'models/folder',
- 'models/message',
- 'state'
-], function(FolderSyncService, Account, AccountCollection, Folder, Message,
- State) {
-
- describe('FolderSyncService', function() {
- var server;
-
- beforeEach(function() {
- State.accounts = new AccountCollection();
- server = sinon.fakeServer.create();
- });
-
- afterEach(function() {
- State.accounts = new AccountCollection();
- server.restore();
- });
-
- it('syncs the sync token of a single folder', function(done) {
- var account = new Account({
- accountId: 15
- });
- var folder = new Folder({
- id: 'SU5CT1g=',
- syncToken: 'oldToken',
- account: account
- });
- folder.addMessage(new Message({
- id: 123
- }));
- folder.addMessage(new Message({
- id: 124
- }));
-
- var syncing = FolderSyncService.syncFolder(folder);
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [
- {
- id: 125
- }
- ],
- changedMessages: [],
- vanishedMessages: []
- })
- );
-
- syncing.then(function() {
- expect(folder.messages.pluck('id')).toEqual([123, 124, 125]);
- done();
- }).catch(function(e) {
- console.error(e);
- done.fail(e);
- });
- });
-
- it('syncs new messages in a single folder', function(done) {
- var account = new Account({
- accountId: 15
- });
- var folder = new Folder({
- id: 'SU5CT1g=',
- syncToken: 'oldToken',
- account: account
- });
- folder.addMessage(new Message({
- id: 123
- }));
- folder.addMessage(new Message({
- id: 124
- }));
-
- var syncing = FolderSyncService.syncFolder(folder);
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [
- {
- id: 125
- }
- ],
- changedMessages: [],
- vanishedMessages: []
- })
- );
-
- syncing.then(function() {
- expect(folder.messages.pluck('id')).toEqual([123, 124, 125]);
- done();
- }).catch(function(e) {
- console.error(e);
- done.fail(e);
- });
- });
-
- it('syncs changed messages in a single folder', function(done) {
- var account = new Account({
- accountId: 15
- });
- var folder = new Folder({
- id: 'SU5CT1g=',
- syncToken: 'oldToken',
- account: account
- });
- folder.addMessage(new Message({
- id: 123,
- subject: 'old subject'
- }));
- folder.addMessage(new Message({
- id: 124
- }));
-
- var syncing = FolderSyncService.syncFolder(folder);
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [],
- changedMessages: [
- {
- id: 123,
- subject: 'new subject'
- }
- ],
- vanishedMessages: []
- })
- );
-
- syncing.then(function() {
- expect(folder.messages.get(123).
- get('subject')).toEqual('new subject');
- done();
- }).catch(function(e) {
- console.error(e);
- done.fail(e);
- });
- });
-
- it('syncs vanished messages in a single folder', function(done) {
- var account = new Account({
- accountId: 15
- });
- var folder = new Folder({
- id: 'SU5CT1g=',
- syncToken: 'oldToken',
- account: account
- });
- folder.addMessage(new Message({
- id: 123,
- subject: 'old subject'
- }));
- folder.addMessage(new Message({
- id: 124
- }));
-
- var syncing = FolderSyncService.syncFolder(folder);
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [],
- changedMessages: [],
- vanishedMessages: [
- 123
- ]
- })
- );
-
- syncing.then(function() {
- expect(folder.messages.pluck('id')).toEqual([124]);
- done();
- }).catch(function(e) {
- console.error(e);
- done.fail(e);
- });
- });
-
- it('syncs the unified inbox, even if no accounts are configured', function(
- done) {
- var account = new Account({
- accountId: -1,
- isUnified: true
- });
- var folder = new Folder({
- account: account
- });
-
- var syncing = FolderSyncService.syncFolder(folder);
- expect(server.requests.length).toBe(0);
-
- syncing.then(done).catch(done.fail);
- });
-
- describe('unified inbox with two accounts and three inboxes', function() {
- var account, acc1, acc2;
- var folder, folder11, folder12, folder21, folder22;
-
- beforeEach(function() {
- account = new Account({
- accountId: -1,
- isUnified: true
- });
- folder = new Folder({
- account: account
- });
- acc1 = new Account({
- accountId: 1
- });
- folder11 = new Folder({
- id: 'inbox11',
- specialRole: 'inbox'
- });
- folder12 = new Folder({
- specialRole: 'sent'
- });
- acc2 = new Account({
- accountId: 2
- });
- folder21 = new Folder({
- id: 'inbox21',
- specialRole: 'inbox'
- });
- folder22 = new Folder({
- id: 'inbox22',
- specialRole: 'inbox'
- });
- account.addFolder(folder);
- acc1.addFolder(folder11);
- acc1.addFolder(folder12);
- acc2.addFolder(folder21);
- acc2.addFolder(folder22);
- State.accounts.add(account);
- State.accounts.add(acc1);
- State.accounts.add(acc2);
- });
-
- it('syncs all changes', function(done) {
- // Add some messages
- var message211 = new Message({
- id: 234,
- subject: 'old sub',
- account: acc2
- });
- folder21.addMessage(message211);
- folder.addMessage(folder21.messages.get(234));
- var message221 = new Message({
- id: 345,
- account: acc2
- });
- folder22.addMessage(message221);
- folder.addMessage(folder22.messages.get(345));
-
- var syncing = FolderSyncService.syncFolder(folder);
- expect(server.requests.length).toBe(3);
-
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [
- {
- id: 123
- }
- ],
- changedMessages: [],
- vanishedMessages: []
- })
- );
- server.requests[1].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [],
- changedMessages: [
- {
- id: 234,
- subject: 'new sub'
- }
- ],
- vanishedMessages: []
- })
- );
- server.requests[2].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [],
- changedMessages: [],
- vanishedMessages: [
- 345
- ]
- })
- );
-
- syncing.then(function() {
- // New message saved to first inbox
- expect(folder11.messages.pluck('id')).toEqual([123]);
- // Update applied in second inbox
- expect(folder21.messages.get(234).get('subject')).toEqual('new sub');
- // Vanished message in third inbox is removed
- expect(folder22.messages.pluck('id')).toEqual([]);
-
- done();
- }).catch(done.fail);
- });
-
- it('removes vanished messages', function(done) {
- // Add some messages
- var message211 = new Message({
- id: 234,
- subject: 'Message 1',
- account: acc2
- });
- folder21.addMessage(message211);
- folder.addMessage(message211);
-
- // Check initial state
- expect(folder21.messages.pluck('id')).toEqual([234]);
- expect(folder.messages.pluck('id')).toEqual([234]);
-
- var syncing = FolderSyncService.syncFolder(folder);
- expect(server.requests.length).toBe(3);
-
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [],
- changedMessages: [],
- vanishedMessages: []
- }));
- server.requests[1].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [],
- changedMessages: [],
- vanishedMessages: [
- 234
- ]
- }));
- server.requests[2].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [],
- changedMessages: [],
- vanishedMessages: []
- }));
-
- syncing.then(function() {
- // Vanished message in third inbox is removed
- expect(folder22.messages.pluck('id')).toEqual([]);
-
- // Message was also removed from the unified folder
- expect(folder.messages.pluck('id')).toEqual([]);
-
- done();
- }).catch(done.fail);
- });
- });
-
- it('syncs the unified inbox when an individual one changes', function(done) {
- var account = new Account({
- accountId: -1,
- isUnified: true
- });
- var folder = new Folder({
- account: account
- });
- var acc1 = new Account({
- accountId: 1
- });
- var folder11 = new Folder({
- specialRole: 'inbox'
- });
- var folder12 = new Folder({
- specialRole: 'sent'
- });
- var acc2 = new Account({
- accountId: 2
- });
- var folder21 = new Folder({
- specialRole: 'inbox'
- });
- var folder22 = new Folder({
- specialRole: 'inbox'
- });
- account.addFolder(folder);
- acc1.addFolder(folder11);
- acc1.addFolder(folder12);
- acc2.addFolder(folder21);
- acc2.addFolder(folder22);
- State.accounts.add(account);
- State.accounts.add(acc1);
- State.accounts.add(acc2);
-
- var syncing = FolderSyncService.syncFolder(folder11);
- expect(server.requests.length).toBe(1);
-
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- token: 'newToken',
- newMessages: [
- {
- id: 123
- }
- ],
- changedMessages: [],
- vanishedMessages: []
- })
- );
-
- syncing.then(function() {
- // New message saved to first inbox
- expect(folder11.messages.pluck('id')).toEqual([123]);
- // Unified inbox was updated too
- expect(folder.messages.pluck('id')).toEqual([123]);
-
- done();
- }).catch(done.fail);
- });
- });
-
-}); \ No newline at end of file
diff --git a/js/tests/service/messageservice_spec.js b/js/tests/service/messageservice_spec.js
deleted file mode 100644
index ee6b2897f..000000000
--- a/js/tests/service/messageservice_spec.js
+++ /dev/null
@@ -1,198 +0,0 @@
-/* global sinon */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'underscore',
- 'service/messageservice',
- 'models/account',
- 'models/accountcollection',
- 'models/folder',
- 'models/message',
- 'state'
-], function(_, MessageService, Account, AccountCollection, Folder, Message,
- State) {
- 'use strict';
-
- describe('MessageService', function() {
- var server;
-
- beforeEach(function() {
- State.accounts = new AccountCollection();
- server = sinon.fakeServer.create();
- });
-
- afterEach(function() {
- State.accounts = new AccountCollection();
- server.restore();
- });
-
- function getTestAccounts(nrAccounts) {
- var unifiedAccount = new Account({
- accountId: -1,
- isUnified: true
- });
- var unifiedInbox = new Folder({
- id: 'inbox',
- specialRole: 'inbox',
- account: unifiedAccount
- });
- unifiedAccount.addFolder(unifiedInbox);
- State.accounts.add(unifiedAccount);
-
- return _.range(1, nrAccounts + 1).map(function(id) {
- var account = new Account({
- accountId: id
- });
- var inbox = new Folder({
- id: 'inbox',
- specialRole: 'inbox',
- account: account
- });
- var otherFolder = new Folder({
- id: 'something',
- account: account
- });
- account.addFolder(inbox);
- account.addFolder(otherFolder);
- State.accounts.add(account);
- return account;
- });
- }
-
- function createMessages(count) {
- return _.range(count).map(function(id) {
- return new Message({
- id: id * 100,
- dateInt: id * 1000
- });
- });
- }
-
- it('fetches the next page of an individual folder', function(done) {
- var account = new Account();
- var folder = new Folder({
- id: 'XYZ'
- });
- account.addFolder(folder);
- var fetching = MessageService.getNextMessagePage(account, folder);
-
- expect(server.requests.length).toBe(1);
-
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify([
- {
- id: 123,
- subject: 'hello'
- }
- ])
- );
-
- expect(server.requests.length).toBe(1);
-
- fetching.then(function(messages) {
- expect(messages.length).toBe(1);
- done();
- }).catch(done.fail);
- });
-
- it('propagates fetch errors', function(done) {
- var account = new Account();
- var folder = new Folder({
- id: 'XYZ',
- account: account
- });
- account.addFolder(folder);
- var fetching = MessageService.getNextMessagePage(account, folder);
-
- expect(server.requests.length).toBe(1);
-
- server.requests[0].respond(
- 500,
- {
- 'Content-Type': 'application/json'
- });
-
- fetching.then(done.catch).catch(done);
- });
-
- it('loads unified inbox page and uses local data if enough data is available', function(
- done) {
- var testAccounts = getTestAccounts(2);
- var unifiedAccount = State.accounts.get(-1);
- var unifiedInbox = unifiedAccount.folders.first();
- var inbox1 = testAccounts[0].folders.first();
- var inbox2 = testAccounts[1].folders.first();
-
- inbox1.addMessages(createMessages(25));
- inbox2.addMessages(createMessages(25));
-
- var fetching = MessageService.getNextMessagePage(unifiedAccount, unifiedInbox);
-
- expect(server.requests.length).toBe(0);
-
- fetching.then(function() {
- expect(unifiedInbox.messages.length).toBe(20);
- done();
- }).catch(done.fail);
- });
-
- it('loads unified inbox page and fetches pages where necessary', function(
- done) {
- var testAccounts = getTestAccounts(2);
- var unifiedAccount = State.accounts.get(-1);
- var unifiedInbox = unifiedAccount.folders.first();
- var inbox1 = testAccounts[0].folders.first();
- var inbox2 = testAccounts[1].folders.first();
-
- inbox1.addMessages(createMessages(25));
- inbox2.addMessages(createMessages(5));
-
- var fetching = MessageService.getNextMessagePage(unifiedAccount, unifiedInbox);
-
- expect(server.requests.length).toBe(1);
-
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify([
- {
- id: 123,
- subject: 'hello',
- dateInt: 26000
- }
- ])
- );
-
- fetching.then(function() {
- expect(unifiedInbox.messages.length).toBe(20);
- done();
- }).catch(done.fail);
- });
-
- });
-
-}); \ No newline at end of file
diff --git a/js/tests/service/preferenceservice_spec.js b/js/tests/service/preferenceservice_spec.js
deleted file mode 100644
index d982b1af7..000000000
--- a/js/tests/service/preferenceservice_spec.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/* global sinon, expect */
-
-/**
- * @copyright 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-define([
- 'service/preferenceservice'
-], function(PreferenceService) {
- 'use strict';
-
- describe('PreferenceService', function() {
- var server;
-
- beforeEach(function() {
- server = sinon.fakeServer.create();
- });
-
- afterEach(function() {
- server.restore();
- });
-
- it('retrieves a preference from the back-end', function(done) {
- var retrieving = PreferenceService.getPreference('test');
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- value: '123'
- })
- );
-
- retrieving.then(function(value) {
- expect(value).toBe('123');
-
- done();
- }).catch(done.fail);
- });
-
- it('retrieves an error from the back-end', function(done) {
- var retrieving = PreferenceService.getPreference('test');
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(500, null, null);
-
- retrieving.then(done.fail).catch(done);
- });
-
- it('stores a preference on the back-end', function(done) {
- var storing = PreferenceService.savePreference('test', '123');
-
- expect(server.requests.length).toBe(1);
- server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- value: '123'
- })
- );
-
- storing.then(function(value) {
- expect(value).toBe('123');
-
- done();
- }).catch(done.fail);
- });
- });
-});
diff --git a/js/tests/service_accountservice_spec.js b/js/tests/service_accountservice_spec.js
deleted file mode 100644
index e650839b7..000000000
--- a/js/tests/service_accountservice_spec.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/* global spyOn, expect */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'service/accountservice',
- 'OC'
-], function(AccountService, OC) {
-
- describe('AccountService', function() {
-
- beforeEach(function() {
- jasmine.Ajax.install();
- });
-
- afterEach(function() {
- jasmine.Ajax.uninstall();
- });
-
- it('creates a new account on the server', function(done) {
- spyOn(OC, 'generateUrl').and.returnValue('index.php/apps/mail/api/accounts');
-
- var promise = AccountService.createAccount({
- email: 'email@example.com',
- password: '12345'
- });
-
- expect(OC.generateUrl).toHaveBeenCalledWith('apps/mail/api/accounts');
-
- expect(jasmine.Ajax.requests.count())
- .toBe(1);
- expect(jasmine.Ajax.requests.mostRecent().url)
- .toBe('index.php/apps/mail/api/accounts');
- jasmine.Ajax.requests.mostRecent().respondWith({
- 'status': 200,
- 'contentType': 'application/json',
- 'responseText': '{}'
- });
-
- promise.then(done).catch(done.fail);
- });
-
- it('handle account creation errors correctly', function(done) {
- spyOn(OC, 'generateUrl').and.returnValue('index.php/apps/mail/api/accounts');
-
- var creating = AccountService.createAccount({
- email: 'email@example.com',
- password: '12345'
- });
-
- expect(OC.generateUrl).toHaveBeenCalledWith('apps/mail/api/accounts');
-
- expect(jasmine.Ajax.requests.count()).toBe(1);
- expect(jasmine.Ajax.requests.mostRecent().url)
- .toBe('index.php/apps/mail/api/accounts');
- jasmine.Ajax.requests.mostRecent().respondWith({
- 'status': 500,
- 'contentType': 'application/json',
- 'responseText': '{}'
- });
-
- creating.catch(done);
- });
- });
-});
diff --git a/js/tests/service_attachmentservice_spec.js b/js/tests/service_attachmentservice_spec.js
deleted file mode 100644
index 6d67de4ab..000000000
--- a/js/tests/service_attachmentservice_spec.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * @author Luc Calaresu <dev@calaresu.com>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'service/attachmentservice',
- 'OC',
- 'radio',
-], function(AttachmentService, OC, Radio) {
-
- describe('AttachmentService', function() {
-
- var fakeModel;
- var fakeFile;
-
- beforeEach(function() {
- jasmine.Ajax.install();
- fakeModel = jasmine.createSpyObj('fakeModel', ['onProgress', 'set', 'get', 'unset']);
- fakeFile = {filename: 'file.zip', size: '12345' };
- });
-
- afterEach(function() {
- jasmine.Ajax.uninstall();
- });
-
- /* when everything went as expected on attachment upload */
- it('uploads a new attachment on the server', function(done) {
- spyOn(OC, 'generateUrl').and.returnValue('index.php/apps/mail/api/attachments');
-
- jasmine.Ajax.stubRequest('index.php/apps/mail/api/attachments').andReturn({
- status: 200,
- contentType: 'application/json',
- responseText: '{"id": "33", "fileName": "file.zip"}'
- });
-
- var promise = AttachmentService.uploadLocalAttachment(fakeFile, fakeModel);
- expect(OC.generateUrl).toHaveBeenCalledWith('/apps/mail/api/attachments');
-
- promise
- .then(function() {
- expect(jasmine.Ajax.requests.count()).toBe(1);
- expect(jasmine.Ajax.requests.mostRecent().url).toBe('index.php/apps/mail/api/attachments');
- done();
- })
- .catch(function(error) {
- console.error(error);
- done.fail('Attachment upload is not supposed to fail', error);
- });
- });
-
- /* when an error occurred on server side on attachment upload */
- it('handles errors during attachment uploads', function(done) {
- spyOn(OC, 'generateUrl').and.returnValue('index.php/apps/mail/api/attachments');
-
- jasmine.Ajax.stubRequest('index.php/apps/mail/api/attachments').andReturn({
- status: 500,
- contentType: 'text/plain'
- });
-
- var promise = AttachmentService.uploadLocalAttachment(fakeFile, fakeModel);
- expect(OC.generateUrl).toHaveBeenCalledWith('/apps/mail/api/attachments');
-
- promise
- .then(function() {
- done.fail('Attachment upload is supposed to fail');
- })
- .catch(function() {
- expect(jasmine.Ajax.requests.count()).toBe(1);
- expect(jasmine.Ajax.requests.mostRecent().url).toBe('index.php/apps/mail/api/attachments');
- done();
- });
- });
-
- /* when upload finished with success */
- it('handles upload finished with success', function() {
- // progress=1, for upload succeeded
- fakeModel.progress = 1;
- AttachmentService.uploadLocalAttachmentFinished(fakeModel, 33);
-
- // the model ID and upload status are updated on succes
- expect(fakeModel.set).toHaveBeenCalledWith('id', 33);
- expect(fakeModel.set).toHaveBeenCalledWith('uploadStatus', 3);
-
- // make sure the xhr request has been removed from the model
- expect(fakeModel.unset).toHaveBeenCalledWith('uploadRequest');
-
- });
-
- /* when a problem occured on upload */
- it('handles upload finished with error', function() {
- // progress=1, but no id returned from the server
- fakeModel.progress = 1;
- AttachmentService.uploadLocalAttachmentFinished(fakeModel);
- // the upload status are updated on succes
- expect(fakeModel.set).toHaveBeenCalledWith('uploadStatus', 2);
- // make sure the xhr request has been removed from the model
- expect(fakeModel.unset).toHaveBeenCalledWith('uploadRequest');
-
- // == id returned from server but file not uploaded ==
- // not sure that is possible though
- fakeModel.progress = 0.5;
- AttachmentService.uploadLocalAttachmentFinished(fakeModel, 33);
- // the upload status are updated on succes
- expect(fakeModel.set).toHaveBeenCalledWith('uploadStatus', 2);
- // make sure the xhr request has been removed from the model
- expect(fakeModel.unset).toHaveBeenCalledWith('uploadRequest');
- });
- });
-});
diff --git a/js/tests/test-main.js b/js/tests/test-main.js
deleted file mode 100644
index 7c07d7c2b..000000000
--- a/js/tests/test-main.js
+++ /dev/null
@@ -1,75 +0,0 @@
-var allTestFiles = [];
-var TEST_REGEXP = /(spec|test)\.js$/i;
-
-// Get a list of all the test files to include
-Object.keys(window.__karma__.files).forEach(function(file) {
- if (TEST_REGEXP.test(file)) {
- // Normalize paths to RequireJS module names.
- // If you require sub-dependencies of test files to be loaded as-is (requiring file extension)
- // then do not normalize the paths
- var normalizedTestModule = file.replace(/^\/base\/js\/|\.js$/g, '');
- if (normalizedTestModule.substring(0, 'tests'.length) === 'tests') {
- allTestFiles.push(normalizedTestModule);
- }
- }
-});
-
-window.t = function(app, text) {
- if (app !== 'mail') {
- throw 'wrong app used to for translation';
- }
- return text;
-};
-
-OC = {
- Notification: {
- showTemporary: function() {
-
- }
- },
- filePath: function(app, type, path) {
- return type + '/' + path;
- },
- generateUrl: function(url, params) {
- var props = [];
- for (var prop in params) {
- props.push(prop);
- }
- return '/base/' + props.reduce(function(url, paramName) {
- var param = params[paramName];
- return url.replace('{' + paramName + '}', param);
- }, url);
- },
- linkToRemote: function() {
-
- }
-};
-
-OCA = {};
-OCA.Search = function() {
-
-};
-
-// jQuery module stubs
-$.fn.tooltip = function() {
-
-};
-
-$.fn.droppable = function() {
-
-};
-
-$.fn.imageplaceholder = function() {
-
-};
-
-formatDate = function(arg) {
- return arg;
-};
-
-relative_modified_date = function(arg) {
- return arg;
-};
-
-// es6-object-assign
-window.ObjectAssign.polyfill(); \ No newline at end of file
diff --git a/js/tests/test_init.js b/js/tests/test_init.js
deleted file mode 100644
index b870ca0d3..000000000
--- a/js/tests/test_init.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @copyright 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-define([
- 'app'
-], function() {
- console.info('Mail initialized for testing');
-});
diff --git a/js/tests/unit/.eslintrc.js b/js/tests/unit/.eslintrc.js
new file mode 100644
index 000000000..74fe62701
--- /dev/null
+++ b/js/tests/unit/.eslintrc.js
@@ -0,0 +1,8 @@
+module.exports = {
+ env: {
+ mocha: true
+ },
+ rules: {
+ 'import/no-extraneous-dependencies': 'off'
+ }
+} \ No newline at end of file
diff --git a/js/tests/unit/HelloWorld.spec.js b/js/tests/unit/HelloWorld.spec.js
new file mode 100644
index 000000000..c585ea333
--- /dev/null
+++ b/js/tests/unit/HelloWorld.spec.js
@@ -0,0 +1,13 @@
+import { expect } from 'chai'
+import { shallowMount } from '@vue/test-utils'
+import HelloWorld from '@/components/HelloWorld.vue'
+
+describe('HelloWorld.vue', () => {
+ it('renders props.msg when passed', () => {
+ const msg = 'new message'
+ const wrapper = shallowMount(HelloWorld, {
+ propsData: { msg }
+ })
+ expect(wrapper.text()).to.include(msg)
+ })
+})
diff --git a/js/tests/util/htmlhelper_spec.js b/js/tests/util/htmlhelper_spec.js
deleted file mode 100644
index 33c451254..000000000
--- a/js/tests/util/htmlhelper_spec.js
+++ /dev/null
@@ -1,111 +0,0 @@
-/* global expect */
-
-/**
- * @copyright 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-define([
- 'util/htmlhelper'
-], function(HtmlHelper) {
- 'use strict';
-
- describe('HtmlHelper', function() {
- it('preserves breaks', function() {
- var html = 'line1<br>line2';
- var expected = 'line1\nline2';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
-
- it('concats divs', function() {
- var html = '<div>one</div><div>two</div>';
- var expected = 'onetwo';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
-
- it('does not produce large number of line breaks for nested elements', function() {
- var html =
- '<div>' +
- ' <div>' +
- ' line1' +
- ' </div>' +
- '</div>' +
- '<div>line2</div>';
- var expected = ' line1 line2';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
-
- it('converts blocks to text', function() {
- var html = '<div>hello</div>';
- var expected = 'hello';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
-
- it('converts paragraphs to text', function() {
- var html = '<p>hello</p>';
- var expected = 'hello';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
-
- it('converts lists to text', function() {
- var html = '<ul><li>one</li><li>two</li><li>three</li></ul>';
- var expected = ' * one\n * two\n * three';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
-
- it('converts deeply nested elements to text', function() {
- var html = '<html>'
- + '<body><p>Hello!</p><p>this <i>is</i> <b>some</b> random <strong>text</strong></p></body>'
- + '</html>';
- var expected = 'Hello!\n\nthis is some random text';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
-
- it('does not leak internal redirection URLs', function() {
- var html = '<a href="https://localhost/apps/mail/redirect?src=domain.tld">domain.tld</a>';
- var expected = 'domain.tld';
-
- var actual = HtmlHelper.htmlToText(html);
-
- expect(actual).toBe(expected);
- });
- });
-});
diff --git a/js/tests/util_notificationhandler_spec.js b/js/tests/util_notificationhandler_spec.js
deleted file mode 100644
index 62cce22a1..000000000
--- a/js/tests/util_notificationhandler_spec.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'util/notificationhandler',
- 'radio'
-], function(NotificationHandler, Radio) {
-
- describe('NotificationHandler', function() {
- var notification;
- var originalNotification;
-
- function getNotificationMock() {
- var mock = function(title, options) {
- this.title = title;
- this.options = options;
- // Hack to get ref to notification object
- notification = this;
- };
- mock.requestPermission = function() {
-
- };
- mock.prototype = {
- getTitle: function() {
- return this.title;
- },
- getOptions: function() {
- return this.options;
- },
- close: function() {
-
- }
- };
- return mock;
- }
-
- beforeEach(function() {
- originalNotification = window.Notification;
- jasmine.clock().install();
- });
-
- afterEach(function() {
- window.Notification = originalNotification;
- jasmine.clock().uninstall();
- notification = undefined;
- });
-
- it('requests notification permissions', function() {
- window.Notification = getNotificationMock();
- spyOn(window.Notification, 'requestPermission');
-
- Radio.ui.trigger('notification:request');
-
- expect(window.Notification.requestPermission).toHaveBeenCalled();
- });
-
- it('should do nothing if notifications are not supported by the browser', function() {
- window.Notification = undefined;
-
- NotificationHandler.showNotification('a', 'b');
-
- expect(notification).toBe(undefined);
- });
-
- it('should construct and show a new notification', function() {
- window.Notification = getNotificationMock();
- spyOn(Radio.navigation, 'trigger');
-
- NotificationHandler.showNotification('a', 'b');
-
- // A new notification should have been created
- expect(notification).not.toBe(undefined);
-
- // Check click handler
- expect(Radio.navigation.trigger).not.toHaveBeenCalled();
- expect(notification.onclick).not.toBe(undefined);
- });
- });
-});
diff --git a/js/tests/views/accountview_spec.js b/js/tests/views/accountview_spec.js
deleted file mode 100644
index 0c6ea131a..000000000
--- a/js/tests/views/accountview_spec.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/* global expect */
-
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define([
- 'views/accountview',
- 'models/account',
-], function(AccountView, Account) {
-
- describe('Account view', function() {
-
- var account;
- var accountView;
-
- beforeEach(function() {
- account = new Account();
- accountView = new AccountView({
- model: account
- });
- });
-
- it('has a delete button if the account is deletable', function() {
- accountView.render();
-
- expect(accountView.$el.html()).toContain('Delete');
- });
-
- it('has no delete button if the account is not deletable', function() {
- account.set('accountId', -2);
- accountView.render();
-
- expect(accountView.$el.html()).not.toContain('Delete');
- });
- });
-});
diff --git a/js/tests/views/attachment_spec.js b/js/tests/views/attachment_spec.js
deleted file mode 100644
index e8dbae5c3..000000000
--- a/js/tests/views/attachment_spec.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/* global expect */
-
-/**
- * @author Luc Calaresu <dev@calaresu.com>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define([
- 'views/attachmentview',
- 'models/localattachment',
- 'models/attachment',
- 'radio',
- 'jquery-ui'
-], function(AttachmentView, LocalAttachment, Attachment, Radio) {
-
- describe('AttachmentView', function() {
-
- var view;
- var model;
-
- describe('on local attachment', function() {
-
- beforeEach(function() {
- // on local attachment, we use the LocalAttachment model
- model = new LocalAttachment({
- fileName: 'test.zip',
- uploadRequest: true
- });
- view = new AttachmentView({
- model: model
- });
- view.render();
- view.bindUIElements();
- });
-
- it('should exist', function() {
- expect(view).toBeDefined();
- });
-
- it('should have a progress bar set at 0', function() {
- // jquery-ui progressbar is initialised
- expect(view.ui.attachmentName.attr('role')).toBe('progressbar');
- // value of progressbar is set to 0
- expect(view.ui.attachmentName.attr('aria-valuenow')).toBe('0');
- });
-
- it('should allow attachment removal', function() {
- /* We just test that the 'upload:abort' event has been sent */
- /* The deletion action itself is tested on the attachmentService tests */
- spyOn(Radio.attachment, 'request');
- view.removeAttachment();
- expect(Radio.attachment.request).toHaveBeenCalledWith('upload:abort', model);
- });
-
- it('should update the attachment colour on upload status changes', function() {
- // Update the model progress value and make sure the css class has been added
- model.set('uploadStatus', 1); // uploading
- expect(view.ui.attachmentName.attr('class')).toContain('upload-ongoing');
-
- model.set('uploadStatus', 2); // error
- expect(view.ui.attachmentName.attr('class')).not.toContain('upload-ongoing');
- expect(view.ui.attachmentName.attr('class')).toContain('upload-warning');
-
- model.set('uploadStatus', 3); // success
- expect(view.ui.attachmentName.attr('class')).not.toContain('upload-ongoing');
- expect(view.ui.attachmentName.attr('class')).not.toContain('upload-warning');
- });
-
- it('should update the progress bar on model progress changes', function() {
- spyOn(view.ui.attachmentName, 'progressbar');
- // Update the model progress value and make sure the view has been updated
- model.set('progress', 0.5);
- expect(view.ui.attachmentName.progressbar).toHaveBeenCalledWith(
- 'option', 'value', 0.5
- );
- });
- });
-
- describe('on attachment from Files', function() {
-
- beforeEach(function() {
- // on attachment from Files, we use the Attachment model
- model = new Attachment({
- fileName: 'test.zip'
- });
- view = new AttachmentView({
- model: model
- });
- view.render();
- });
-
- it('should exist', function() {
- expect(view).toBeDefined();
- });
-
- it('should not have a progress bar', function() {
- // jquery-ui progressbar is NOT initialised
- expect(view.ui.attachmentName.attr('role')).toBe(undefined);
- // and css style upload-ongoing has NOT been added
- expect(view.ui.attachmentName.attr('class')).not.toContain('upload-ongoing');
- });
-
- it('should allow attachment removal', function() {
- /* We just test that the 'upload:abort' event has been sent */
- /* The deletion action itself is tested on the attachmentService tests */
- spyOn(Radio.attachment, 'request');
- view.removeAttachment();
- expect(Radio.attachment.request).toHaveBeenCalledWith('upload:abort', model);
- });
- });
-
- });
-});
diff --git a/js/tests/views/attachments_spec.js b/js/tests/views/attachments_spec.js
deleted file mode 100644
index 23f8cbf41..000000000
--- a/js/tests/views/attachments_spec.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/* global expect */
-
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define([
- 'views/attachmentsview',
- 'jquery'
-], function(AttachmentView, $) {
-
- describe('AttachmentsView', function() {
-
- var view;
-
- beforeEach(function() {
- $('body').append('<div id="#mail-attachments-template"></div>');
- view = new AttachmentView({});
- });
-
- afterEach(function() {
- view.remove();
- $('#mail-attachments-template').remove();
- });
-
- it('produces the correct HTML', function() {
- view.render();
-
- expect(view.el.innerHTML)
- .toContain('<ul></ul>\n\
-<button type="button" id="add-local-attachment" style="display: inline-block;">\n\
- <span class="icon-upload"></span> Upload attachment\n\
-</button>\n\
-<button type="button" id="add-cloud-attachment" style="display: inline-block;">\n\
- <span class="icon-folder"></span> Add attachment from Files\n\
-</button>\n\
-<input type="file" multiple="" id="local-attachments" style="display: none;">\n');
- });
- });
-});
diff --git a/js/tests/views/calendarview_spec.js b/js/tests/views/calendarview_spec.js
deleted file mode 100644
index 9124547c5..000000000
--- a/js/tests/views/calendarview_spec.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * @author Steffen Lindner <mail@steffen-lindner.de>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['views/calendarview', 'views/helper'], function(CalendarView) {
-
- describe('CalendarView', function () {
-
- var calendarview;
-
- beforeEach(function () {
- calendarview = new CalendarView({});
- });
-
- it('produces the correct HTML', function () {
- calendarview.render();
-
- html = calendarview.el.innerHTML.trim();
- expected_html = '<a class="select-calendar" data-calendar-url=""></a>';
- expect(html).toContain(expected_html);
-
- });
- });
-}); \ No newline at end of file
diff --git a/js/tests/views/composerview_spec.js b/js/tests/views/composerview_spec.js
deleted file mode 100644
index 4ce4dd35c..000000000
--- a/js/tests/views/composerview_spec.js
+++ /dev/null
@@ -1,275 +0,0 @@
-/* global expect, spyOn */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'views/composerview',
- 'models/accountcollection',
- 'models/attachment',
- 'models/localattachment',
- 'state'
-], function(ComposerView, AccountCollection, Attachment, LocalAttachment, State) {
- describe('ComposerView', function() {
- var accounts;
-
- beforeEach(function() {
- accounts = new AccountCollection([
- {
- accountId: 13,
- name: 'Jane Nextcloud',
- emailAddress: 'jane@nextcloud.com',
- folders: [
- {
- id: 'inbox'
- }
- ]
- },
- {
- accountId: 14,
- name: 'John Nextcloud',
- emailAddress: 'john@nextcloud.com',
- folders: [
- {
- id: 'inbox'
- }
- ]
- }
- ]);
-
- State.currentAccount = accounts.first();
- });
-
- it('creates a view to composer a new message', function() {
- var view = new ComposerView({
- accounts: accounts
- });
- spyOn(view, 'saveDraft');
-
- expect(view.type).toBe('new');
- expect(view.isReply()).toBe(false);
- expect(view.account).toBe(accounts.at(0));
- expect(view.repliedMessage).toBeNull();
- });
-
- it('creates a reply composer', function() {
- var account = accounts.at(1);
- var folder = account.folders.first();
- var view = new ComposerView({
- accounts: accounts,
- account: account,
- folder: folder,
- type: 'reply'
- });
- spyOn(view, 'saveDraft');
-
- expect(view.type).toBe('reply');
- expect(view.isReply()).toBe(true);
- expect(view.account).toBe(account);
- expect(view.folder).toBe(folder);
- });
-
- it('doesn\'t have draft UID at creation', function() {
- var view = new ComposerView({
- accounts: accounts
- });
- spyOn(view, 'saveDraft');
-
- expect(view.draftUID).toBeUndefined();
- });
-
- it('creates the correct list of selectable accounts withoug aliases', function() {
- var view = new ComposerView({
- accounts: accounts
- });
- spyOn(view, 'saveDraft');
-
- var expected = [
- {
- id: 1,
- accountId: 13,
- aliasId: null,
- emailAddress: 'jane@nextcloud.com',
- name: 'Jane Nextcloud'
- },
- {
- id: 2,
- accountId: 14,
- aliasId: null,
- emailAddress: 'john@nextcloud.com',
- name: 'John Nextcloud'
- }
- ];
- expect(view.buildAliases()).toEqual(expected);
- });
-
- it('renders correctly', function() {
- var view = new ComposerView({
- accounts: accounts
- });
- spyOn(view, 'saveDraft');
-
- view.render();
-
- var $el = view.$el;
-
- // Two accounts should be selectable
- expect($el.find('select.mail-account').
- children().length).toBe(2);
- });
-
- describe('with attachments', function () {
- var view;
- var localAttachment;
-
- beforeEach(function() {
- var accounts = new AccountCollection([
- {
- accountId: 13,
- name: 'Jane Nextcloud',
- emailAddress: 'jane@nextcloud.com',
- folders: [
- {
- id: 'inbox'
- }
- ]
- }
- ]);
- State.currentAccount = accounts.first();
-
- view = new ComposerView({
- accounts: accounts
- });
- spyOn(view, 'saveDraft');
-
- view.render();
- view.bindUIElements();
-
- localAttachment = new LocalAttachment({
- fileName: 'test.zip'
- });
- });
-
- it('calls onInputChanged and checkAllAttachmentsValid when the attachment list changed', function() {
- spyOn(view, 'onInputChanged');
- spyOn(view, 'checkAllAttachmentsValid');
- view.bindAttachments();
- view.attachments.add(localAttachment);
- expect(view.onInputChanged).toHaveBeenCalled();
- expect(view.checkAllAttachmentsValid).toHaveBeenCalled();
- });
- it('disables the send button when a local attachment is not valid', function() {
- // we put something into the 'To:' input, so the submit button can be activated
- view.$('.to').val('test@mailserver');
- view.onInputChanged();
-
- // and we chack how the button reacts when checkAllAttachmentsValid return false
- spyOn(view, 'checkAllAttachmentsValid').and.returnValue(false);
- expect(view.$('.submit-message').attr('disabled')).toBe(undefined);
- view.attachments.add(localAttachment);
- expect(view.$('.submit-message').attr('disabled')).toBe('disabled');
- });
-
- it('enables the send button when all local attachment are valid', function() {
- // we put something into the 'To:' input, so the submit button can be activated
- view.$('.to').val('test@mailserver');
- view.onInputChanged();
-
- // and we chack how the button reacts when checkAllAttachmentsValid return false
- spyOn(view, 'checkAllAttachmentsValid').and.returnValue(true);
- expect(view.$('.submit-message').attr('disabled')).toBe(undefined);
- view.attachments.add(localAttachment);
- expect(view.$('.submit-message').attr('disabled')).toBe(undefined);
- });
-
- describe('from local source (upload)', function () {
- it('detects when all local attachments are valid', function() {
- var localAttachmentA = new LocalAttachment({
- fileName: 'test.zip',
- uploadStatus: 3 // success
- });
- var localAttachmentB = new LocalAttachment({
- fileName: 'test2.zip',
- uploadStatus: 3 // success
- });
- view.attachments.add(localAttachmentA);
- view.attachments.add(localAttachmentB);
- expect(view.checkAllAttachmentsValid()).toBe(true);
- });
-
- it('detects when at least one local attachment is pending', function() {
- var localAttachmentA = new LocalAttachment({
- fileName: 'test.zip',
- uploadStatus: 0 // pending
- });
- var localAttachmentB = new LocalAttachment({
- fileName: 'test2.zip',
- uploadStatus: 3 // success
- });
- view.attachments.add(localAttachmentA);
- view.attachments.add(localAttachmentB);
- expect(view.checkAllAttachmentsValid()).toBe(false);
- });
-
- it('detects when at least one local attachment is ongoing', function() {
- var localAttachmentA = new LocalAttachment({
- fileName: 'test.zip',
- uploadStatus: 1 // ongoing
- });
- var localAttachmentB = new LocalAttachment({
- fileName: 'test2.zip',
- uploadStatus: 3 // success
- });
- view.attachments.add(localAttachmentA);
- view.attachments.add(localAttachmentB);
- expect(view.checkAllAttachmentsValid()).toBe(false);
- });
-
- it('detects when at least one local attachment is broken', function() {
- var localAttachmentA = new LocalAttachment({
- fileName: 'test.zip',
- uploadStatus: 2 // error
- });
- var localAttachmentB = new LocalAttachment({
- fileName: 'test2.zip',
- uploadStatus: 3 // success
- });
- view.attachments.add(localAttachmentA);
- view.attachments.add(localAttachmentB);
- expect(view.checkAllAttachmentsValid()).toBe(false);
- });
- });
-
- describe('from Files', function () {
- it('always consider attachments from Files as valid', function() {
- var localAttachmentA = new Attachment({
- fileName: 'test.zip'
- });
- var localAttachmentB = new Attachment({
- fileName: 'test2.zip'
- });
- view.attachments.add(localAttachmentA);
- view.attachments.add(localAttachmentB);
- expect(view.checkAllAttachmentsValid()).toBe(true);
- });
- });
-
- });
- });
-});
diff --git a/js/tests/views/emptyfolderview_spec.js b/js/tests/views/emptyfolderview_spec.js
deleted file mode 100644
index e7f3ff280..000000000
--- a/js/tests/views/emptyfolderview_spec.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * @author Steffen Lindner <mail@steffen-lidnner.de>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['views/emptyfolderview', 'views/helper'], function(EmptyfolderView) {
-
- describe('EmptyfolderView', function () {
-
- var emptyfolderview;
-
- beforeEach(function () {
- emptyfolderview = new EmptyfolderView({});
- });
-
- describe('Rendering', function () {
-
- it('produces the correct HTML', function () {
- emptyfolderview.render();
-
- html = emptyfolderview.el.innerHTML.trim();
- expected_html = '<div class="icon-mail"></div>\n<h2>No messages in this folder</h2>';
- expect(html).toContain(expected_html);
-
- });
- });
- });
-});
diff --git a/js/tests/views/errorview_spec.js b/js/tests/views/errorview_spec.js
deleted file mode 100644
index b1d5db5dc..000000000
--- a/js/tests/views/errorview_spec.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/* global expect */
-
-/**
- * @author Steffen Lindner <mail@steffen-lindner.de>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['views/errorview'], function(ErrorView) {
-
- describe('ErrorView', function () {
-
- var errorview;
-
- beforeEach(function () {
- errorview = new ErrorView({});
- });
-
- describe('Rendering', function () {
-
- it('produces the correct HTML', function () {
- errorview.render();
-
- var html = errorview.el.innerHTML.trim();
- var expected_html = '<div class="">\n\t<div class="icon-mail"></div>\n\t<h2>An unknown error occurred</h2>\n</div>';
- expect(html).toContain(expected_html);
- });
- });
- });
-});
diff --git a/js/tests/views/foldercontent_spec.js b/js/tests/views/foldercontent_spec.js
deleted file mode 100644
index ab8e32d67..000000000
--- a/js/tests/views/foldercontent_spec.js
+++ /dev/null
@@ -1,102 +0,0 @@
-/* global spyOn, expect */
-
-/**
- * @author Luc Calaresu <dev@calaresu.com>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['jquery',
- 'views/foldercontent',
- 'models/folder',
- 'models/account',
- 'models/message',
- 'radio'],
- function($, FolderContent, Folder, Account, Message, Radio) {
-
- var account;
- var folder;
- var message;
- var view;
-
- beforeEach(function () {
- account = new Account();
- folder = new Folder({
- account: account
- });
- message = new Message({
- from: [
- {
- label: 'Christoph Wurst',
- email: 'christoph@domain.tld'
- }
- ]
- });
- folder.addMessage(message);
- view = new FolderContent({
- account: account,
- folder: folder,
- searchQuery: undefined
- });
-
- spyOn(Radio.avatar, 'request').and.callFake(function() {
- return Promise.resolve(undefined);
- });
- });
-
- describe('On mobile phones, FolderContent', function () {
- beforeEach(function () {
- // just make the screen small
- $('body').css('width', '600px');
- $(window).trigger('resize');
- view.render();
- view.bindUIElements();
- });
-
- it ('should exist', function () {
- expect(view).toBeDefined();
- });
-
- it ('should not mark first email as read on folder view', function() {
- spyOn(Radio.message, 'trigger');
- view.markMessageAsRead(message);
- expect(Radio.message.trigger).not.toHaveBeenCalled();
- });
- });
-
- describe('On computers, FolderContent', function () {
- beforeEach(function () {
- // just make the screen "bigger" than a mobile phone
- $('body').css('width', '1024px');
- $(window).trigger('resize');
- view.render();
- view.bindUIElements();
- });
-
- it ('should exist', function () {
- expect(view).toBeDefined();
- });
-
- it ('should mark first email as read on folder view', function() {
- spyOn(Radio.message, 'trigger');
- view.markMessageAsRead(message);
- expect(Radio.message.trigger).toHaveBeenCalledWith(
- 'flag', message, 'unseen', false
- );
- });
- });
-});
diff --git a/js/tests/views/folderview_spec.js b/js/tests/views/folderview_spec.js
deleted file mode 100644
index af7590f48..000000000
--- a/js/tests/views/folderview_spec.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/* global expect */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'views/folderview',
- 'models/account',
- 'models/folder',
-], function(FolderView, Account, Folder) {
- describe('FolderView', function() {
- var folder;
- var folderView;
-
- beforeEach(function() {
- folder = new Folder({
- account: new Account(),
- id: 'folder1'
- });
- folderView = new FolderView({
- model: folder
- });
- });
-
- it('shows subfolders on clicking the expand triangle', function() {
- var subFolder1 = new Folder({
- id: 'sub1',
- name: 'sub1'
- });
- folder.addFolder(subFolder1);
- var subFolder2 = new Folder({
- id: 'sub2',
- name: 'sub2'
- });
- folder.addFolder(subFolder2);
-
- folderView.render();
- expect(folderView.$el.attr('class').split(' ')).toContain('collapsible');
- expect(folderView.$el.attr('class').split(' ')).not.toContain('open');
-
- folderView.$el.find('button.collapse').click();
-
- expect(folderView.$el.attr('class').split(' ')).toContain('open');
- });
- });
-});
diff --git a/js/tests/views/keyboardshortcuts_spec.js b/js/tests/views/keyboardshortcuts_spec.js
deleted file mode 100644
index 17e3a7efa..000000000
--- a/js/tests/views/keyboardshortcuts_spec.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * @author Steffen Lindner <mail@steffen-lindner.de>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['views/keyboardshortcuts', 'views/helper'], function(KeyboardShortcutsView) {
-
- describe('KeyboardShortcutsView', function () {
-
- var keyboardshortcutsview;
-
- beforeEach(function () {
- keyboardshortcutsview = new KeyboardShortcutsView({});
- });
-
- it('produces the correct HTML', function () {
- keyboardshortcutsview.render();
-
- });
- });
-}); \ No newline at end of file
diff --git a/js/tests/views/messagesitem_spec.js b/js/tests/views/messagesitem_spec.js
deleted file mode 100644
index d6fe13846..000000000
--- a/js/tests/views/messagesitem_spec.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/* global expect */
-
-/**
- * @author Luc Calaresu <dev@calaresu.com>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['jquery',
- 'views/messagesitem',
- 'models/message',
- 'models/folder',
- 'models/account',
- 'radio'],
- function($, MessagesItem, Message, Account, Folder, Radio) {
-
- describe('MessagesItem', function () {
-
- var view;
- var model;
-
- beforeEach(function () {
- model = new Message({
- id: 22
- });
- model.folder = new Folder();
- model.folder.account = new Account();
- view = new MessagesItem({
- model: model
- });
- });
-
- describe('On mobile phones ', function () {
- beforeEach(function () {
- // just make the screen small
- $('body').css('width', '600px');
- $(window).trigger('resize');
- });
-
- it ('should mark an email as read when selected', function() {
- var event = jasmine.createSpyObj('event', ['stopPropagation']);
- spyOn(Radio.ui, 'trigger');
- spyOn(Radio.message, 'trigger');
-
- view.openMessage(event);
-
- expect(event.stopPropagation).toHaveBeenCalled();
- // check message is marked as read
- expect(Radio.message.trigger).toHaveBeenCalledWith(
- 'flag', model, 'unseen', false
- );
- // check message has been opened
- expect(Radio.message.trigger).toHaveBeenCalled();
- expect(Radio.message.trigger.calls.mostRecent().args[0]).toEqual('load');
- });
- });
-
- describe('On computers', function () {
- beforeEach(function () {
- // just make the screen "bigger" than a mobile phone
- $('body').css('width', '1024px');
- $(window).trigger('resize');
- });
-
- it ('should mark an email as read when selected', function() {
- var event = jasmine.createSpyObj('event', ['stopPropagation']);
- spyOn(Radio.ui, 'trigger');
- spyOn(Radio.message, 'trigger');
-
- view.openMessage(event);
-
- expect(event.stopPropagation).toHaveBeenCalled();
- // check message is marked as read
- expect(Radio.message.trigger).toHaveBeenCalledWith(
- 'flag', model, 'unseen', false
- );
- // check message has been opened
- expect(Radio.message.trigger).toHaveBeenCalled();
- expect(Radio.message.trigger.calls.mostRecent().args[0]).toEqual('load');
- });
- });
- });
-});
diff --git a/js/tests/views/settings_spec.js b/js/tests/views/settings_spec.js
deleted file mode 100644
index 1d7a70ad0..000000000
--- a/js/tests/views/settings_spec.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * @author Steffen Lindner <mail@steffen-lindner.de>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-define(['views/settings', 'views/helper'], function(SettingsView) {
-
- describe('SettingsView', function () {
-
- var settingsview;
-
- beforeEach(function () {
- settingsview = new SettingsView({});
- });
-
- it('has the account and shortcut functions', function () {
- expect(typeof settingsview.showKeyboardShortcuts).toBe("function");
- expect(typeof settingsview.addAccount).toBe("function")
- });
-
- it('produces the correct HTML', function () {
- settingsview.render();
-
- });
- });
-});
diff --git a/js/tests/views/setupviewtest.js b/js/tests/views/setupviewtest.js
deleted file mode 100644
index b559e3e89..000000000
--- a/js/tests/views/setupviewtest.js
+++ /dev/null
@@ -1,105 +0,0 @@
-/* global spyOn, expect */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define([
- 'radio',
- 'views/setupview'
-], function(Radio, SetupView) {
-
- describe('Setup view', function() {
- var view,
- loadingPromise,
- resolvePromise,
- rejectPromise;
-
- /**
- * @param {Object} config
- * @returns {Promise}
- */
- function triggerFormSubmit(config) {
- return view.onChildviewFormSubmit(config);
- }
-
- beforeEach(function() {
- view = new SetupView();
- loadingPromise = new Promise(function(resolve, reject) {
- resolvePromise = resolve;
- rejectPromise = reject;
- });
- });
-
- it('shows the setup form', function() {
- view.render();
- expect(view.$el.html()).toContain('Connect your mail account');
- });
-
- it('shows a loading view while the account is being created', function() {
- spyOn(Radio.account, 'request').and.returnValue(loadingPromise);
- spyOn(Radio.ui, 'trigger');
-
- // Submit -> show loading view
- triggerFormSubmit({});
- expect(Radio.account.request).toHaveBeenCalledWith('create', {});
- expect(view.$el.html()).toContain('Setting up your account');
- });
-
- it('shows the form again after an error occurred', function(done) {
- spyOn(Radio.account, 'request').and.returnValue(loadingPromise);
- spyOn(Radio.ui, 'trigger');
- var config = {
- accountName: 'User',
- emailAddress: 'user@example.com',
- password: '123456',
- imapHost: 'imap.example.com',
- imapUser: 'iuser@example.com',
- imapPassword: 'i1234',
- smtpHost: 'smtp.example.com',
- smtpUser: 'suser@example.com',
- smtpPassword: 's1234',
- autoDetect: false
- };
-
- // Reject loading promise -> show error view
- rejectPromise('Some error');
- triggerFormSubmit(config).then(function() {
- expect(view.$el.html()).toContain('Try again');
-
- // Click 'Try again'
- view.$el.find('button').click();
-
- expect(Radio.account.request).toHaveBeenCalledWith('create', config);
- expect(view.$el.html()).toContain('Connect your mail account');
- expect(view.$el.html()).toContain('User');
- expect(view.$el.html()).toContain('user@example.com');
- expect(view.$el.html()).toContain('123456');
-
- expect(view.$el.html()).toContain('imap.example.com');
- expect(view.$el.html()).toContain('iuser@example.com');
- expect(view.$el.html()).toContain('i1234');
- expect(view.$el.html()).toContain('smtp.example.com');
- expect(view.$el.html()).toContain('suser@example.com');
- expect(view.$el.html()).toContain('s1234');
- done();
- });
- });
- });
-
-}); \ No newline at end of file
diff --git a/js/util/notificationhandler.js b/js/util/notificationhandler.js
deleted file mode 100644
index b3e414e86..000000000
--- a/js/util/notificationhandler.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/* global Notification */
-
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var OC = require('OC');
- var Radio = require('radio');
-
- Radio.ui.on('notification:mail:show', showMailNotification);
- Radio.ui.on('notification:request', requestNotification);
-
- function requestNotification() {
- if (typeof Notification !== 'undefined') {
- Notification.requestPermission();
- }
- }
-
- function showNotification(title, body, icon) {
- // notifications not supported -> go away
- if (typeof Notification === 'undefined') {
- return;
- }
- // browser is active -> go away
- var isWindowFocused = document.querySelector(':focus') !== null;
- if (isWindowFocused) {
- return;
- }
- var notification = new Notification(
- title,
- {
- body: body,
- icon: icon
- }
- );
- notification.onclick = function() {
- window.focus();
- };
- }
-
- /**
- * @param {array<Message>} messages
- */
- function showMailNotification(messages) {
- if (messages.length === 0) {
- // Ignore
- return;
- }
-
- // Update favicon to show red dot
- Radio.notification.trigger('favicon:change', OC.filePath('mail', 'img', 'favicon-notification.png'));
-
- if (Notification.permission !== 'granted') {
- // Don't show a notification
- return;
- }
-
- var from = _.map(messages, function(m) {
- return m.get('from')[0].label;
- });
- from = _.uniq(from);
- if (from.length > 2) {
- from = from.slice(0, 2);
- from.push('…');
- } else {
- from = from.slice(0, 2);
- }
- // special layout if there is only 1 new message
- var body = '';
- if (messages.length === 1) {
- var subject = _.map(messages, function(m) {
- return m.get('subject');
- });
- body = t('mail',
- '{from}\n{subject}', {
- from: from.join(),
- subject: subject.join()
- });
- } else {
- body = n('mail',
- '%n new message \nfrom {from}',
- '%n new messages \nfrom {from}',
- messages.length, {
- from: from.join()
- });
- }
- // If it's okay let's create a notification
- var icon = OC.filePath('mail', 'img', 'mail-notification.png');
- showNotification(t('mail', 'Nextcloud Mail'), body, icon);
- }
-
- return {
- showNotification: showNotification,
- showMailNotification: showMailNotification
- };
-});
diff --git a/js/views/About.vue b/js/views/About.vue
new file mode 100644
index 000000000..3fa28070d
--- /dev/null
+++ b/js/views/About.vue
@@ -0,0 +1,5 @@
+<template>
+ <div class="about">
+ <h1>This is an about page</h1>
+ </div>
+</template>
diff --git a/js/views/Home.vue b/js/views/Home.vue
new file mode 100644
index 000000000..2ab9abb8b
--- /dev/null
+++ b/js/views/Home.vue
@@ -0,0 +1,10 @@
+<template>
+ <div class="home">
+ </div>
+</template>
+
+<script>
+ export default {
+ name: 'home',
+ }
+</script>
diff --git a/js/views/accountformview.js b/js/views/accountformview.js
deleted file mode 100644
index 47b0f6783..000000000
--- a/js/views/accountformview.js
+++ /dev/null
@@ -1,221 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2016, 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Marionette = require('backbone.marionette');
- var AccountFormTemplate = require('templates/account-form.html');
-
- /**
- * @class AccountFormView
- */
- return Marionette.View.extend({
-
- /** @type {string} */
- id: 'account-form',
-
- /** @type {Function} */
- template: AccountFormTemplate,
-
- /**
- * @returns {object}
- */
- templateContext: function() {
- return {
- config: this._config
- };
- },
-
- /** @type {boolean} */
- firstToggle: true,
-
- /** @type {boolean} */
- settingsPage: false,
-
- /** @type {object} */
- _config: '',
-
- ui: {
- form: 'form',
- inputs: 'input, select',
- toggleManualMode: '.toggle-manual-mode',
- accountName: 'input[name="account-name"]',
- mailAddress: 'input[name="mail-address"]',
- mailPassword: 'input[name="mail-password"]',
- manualInputs: '.manual-inputs',
- imapHost: 'input[name="imap-host"]',
- imapPort: 'input[name="imap-port"]',
- imapSslMode: '#setup-imap-ssl-mode',
- imapUser: 'input[name="imap-user"]',
- imapPassword: 'input[name="imap-password"]',
- smtpHost: 'input[name="smtp-host"]',
- smtpSslMode: '#setup-smtp-ssl-mode',
- smtpPort: 'input[name="smtp-port"]',
- smtpUser: 'input[name="smtp-user"]',
- smtpPassword: 'input[name="smtp-password"]',
- submitButton: 'input[type=submit]',
- emptyContent: '#emptycontent'
- },
-
- events: {
- 'click @ui.submitButton': 'onSubmit',
- 'submit @ui.form': 'onSubmit',
- 'click @ui.toggleManualMode': 'toggleManualMode',
- 'change @ui.imapSslMode': 'onImapSslModeChange',
- 'change @ui.smtpSslMode': 'onSmtpSslModeChange'
- },
-
- /**
- * @param {object} options
- */
- initialize: function(options) {
- this._config = _.defaults(options.config || {}, {
- accountName: '',
- emailAddress: '',
- autoDetect: true,
- imapPort: 993,
- imapSslMode: 'ssl',
- smtpPort: 587,
- smtpSslMode: 'tls'
- });
-
- this.settingsPage = _.defaults(options.settingsPage, {settingsPage: false});
- },
-
- onRender: function() {
- if (this.settingsPage) {
- this.getUI('emptyContent').hide();
- this.getUI('submitButton').val(t('mail', 'Save'));
- }
-
- if (this._config.autoDetect) {
- this.getUI('mailPassword').show();
- this.getUI('manualInputs').hide();
- } else {
- this.getUI('mailPassword').hide();
- }
-
- this.getUI('imapSslMode').find('[value="' + this._config.imapSslMode + '"]').attr({'selected': 'selected'});
- this.getUI('smtpSslMode').find('[value="' + this._config.smtpSslMode + '"]').attr({'selected': 'selected'});
- },
-
- /**
- * @param {Event} e
- */
- toggleManualMode: function(e) {
- e.stopPropagation();
- this._config.autoDetect = !this._config.autoDetect;
-
- this.getUI('manualInputs').slideToggle();
- this.getUI('imapHost').focus();
-
- if (!this._config.autoDetect) {
- if (this.firstToggle) {
- // Manual mode opened for the first time
- // -> copy email, password for imap&smtp
- var email = this.getUI('mailAddress').val();
- var password = this.getUI('mailPassword').val();
- this.getUI('imapUser').val(email);
- this.getUI('imapPassword').val(password);
- this.getUI('smtpUser').val(email);
- this.getUI('smtpPassword').val(password);
- this.firstToggle = false;
- }
-
- var _this = this;
- this.getUI('mailPassword').slideToggle(function() {
- _this.getUI('mailAddress').parent()
- .removeClass('groupmiddle').addClass('groupbottom');
-
- // Focus imap host input
- _this.getUI('imapHost').focus();
- });
- } else {
- this.getUI('mailPassword').slideToggle();
- this.getUI('mailAddress').parent()
- .removeClass('groupbottom').addClass('groupmiddle');
- }
- },
-
- /**
- * @param {type} e
- */
- onSubmit: function(e) {
- e.preventDefault();
- e.stopPropagation();
-
- var emailAddress = this.getUI('mailAddress').val();
- var accountName = this.getUI('accountName').val();
- var password = this.getUI('mailPassword').val();
-
- var config = {
- accountName: accountName,
- emailAddress: emailAddress,
- password: password,
- autoDetect: true
- };
-
- // if manual setup is open, use manual values
- if (!this._config.autoDetect) {
- config = {
- accountName: accountName,
- emailAddress: emailAddress,
- password: password,
- imapHost: this.getUI('imapHost').val(),
- imapPort: this.getUI('imapPort').val(),
- imapSslMode: this.getUI('imapSslMode').val(),
- imapUser: this.getUI('imapUser').val(),
- imapPassword: this.getUI('imapPassword').val(),
- smtpHost: this.getUI('smtpHost').val(),
- smtpPort: this.getUI('smtpPort').val(),
- smtpSslMode: this.getUI('smtpSslMode').val(),
- smtpUser: this.getUI('smtpUser').val(),
- smtpPassword: this.getUI('smtpPassword').val(),
- autoDetect: false
- };
- }
-
- this.triggerMethod('form:submit', config);
- },
-
- onImapSslModeChange: function() {
- // set standard port for the selected IMAP & SMTP security
- var imapDefaultPort = 143;
- var imapDefaultSecurePort = 993;
-
- switch (this.getUI('imapSslMode').val()) {
- case 'none':
- case 'tls':
- this.getUI('imapPort').val(imapDefaultPort);
- break;
- case 'ssl':
- this.getUI('imapPort').val(imapDefaultSecurePort);
- break;
- }
- },
-
- onSmtpSslModeChange: function() {
- var smtpDefaultPort = 587;
- var smtpDefaultSecurePort = 465;
-
- switch (this.getUI('smtpSslMode').val()) {
- case 'none':
- case 'tls':
- this.getUI('smtpPort').val(smtpDefaultPort);
- break;
- case 'ssl':
- this.getUI('smtpPort').val(smtpDefaultSecurePort);
- break;
- }
- }
- });
-});
diff --git a/js/views/accountsettings.js b/js/views/accountsettings.js
deleted file mode 100644
index 1f73b401a..000000000
--- a/js/views/accountsettings.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Tahaa Karim <tahaalibra@gmail.com>
- * @copyright Tahaa Karim 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var $ = require('jquery');
- var Marionette = require('backbone.marionette');
- var OC = require('OC');
- var AccountSettingsTemplate = require('templates/accountsettings.html');
- var AccountFormView = require('views/accountformview');
- var AliasesView = require('views/aliases');
- var CrashReport = require('crashreport');
- var Radio = require('radio');
-
- return Marionette.View.extend({
- template: AccountSettingsTemplate,
- templateContext: function() {
- var aliases = this.aliases;
- return {
- aliases: aliases,
- email: this.currentAccount.get('email')
- };
- },
- currentAccount: null,
- aliases: null,
- ui: {
- 'form': 'form',
- 'alias': 'input[name="alias"]',
- 'submitButton': 'input[type=submit]',
- 'aliasName': 'input[name="alias-name"]'
- },
- events: {
- 'click @ui.submitButton': 'onSubmit',
- 'submit @ui.form': 'onSubmit'
- },
- regions: {
- aliasesRegion: '#aliases-list',
- accountRegion: '#mail-settings'
- },
- initialize: function(options) {
- this.currentAccount = options.account;
- },
- onSubmit: function(e) {
- e.preventDefault();
- var alias = {
- alias: this.getUI('alias').val(),
- name: this.getUI('aliasName').val()
- };
- this.getUI('alias').prop('disabled', true);
- this.getUI('aliasName').prop('disabled', true);
- this.getUI('submitButton').val('Saving');
- this.getUI('submitButton').prop('disabled', true);
- var _this = this;
-
- Radio.aliases.request('save', this.currentAccount, alias)
- .then(function(data) {
- _this.currentAccount.get('aliases').add(data);
- }, CrashReport.report)
- .then(function() {
- _this.getUI('alias').val('');
- _this.getUI('aliasName').val('');
- _this.getUI('alias').prop('disabled', false);
- _this.getUI('aliasName').prop('disabled', false);
- _this.getUI('submitButton').prop('disabled', false);
- _this.getUI('submitButton').val('Save');
- }).catch(CrashReport.report);
- },
- onRender: function() {
- this.showAliases();
- this.showAccountSetup();
- },
- showAliases: function() {
- this.showChildView('aliasesRegion', new AliasesView({
- currentAccount: this.currentAccount
- }));
- },
-
- showAccountSetup: function() {
- this.showChildView('accountRegion', new AccountFormView({
- config: this.currentAccount.attributes,
- settingsPage: true
- }));
- },
-
- startLoading: function() {
- OC.msg.startSaving('#mail-settings-msg');
- $('#mail-settings-loading').show();
- },
-
- /**
- * @private
- * @param {Object} account
- * @returns {Promise}
- */
- onChildviewFormSubmit: function(config) {
- config.accountId = this.currentAccount.get('accountId');
-
- this.startLoading();
-
- return Radio.account.request('update', config).then(function() {
- var response = {status: 'success', data: {message: t('mail', 'Saved')}};
- OC.msg.finishedSaving('#mail-settings-msg', response);
- $('#mail-settings-loading').hide();
- }).catch(function(error) {
- CrashReport.report(error);
- console.error('could not update account:', error);
- var response = {status: 'error', data: {message: error}};
- OC.msg.finishedSaving('#mail-settings-msg', response);
- $('#mail-settings-loading').hide();
- }).catch(CrashReport.report);
- }
- });
-});
diff --git a/js/views/accountview.js b/js/views/accountview.js
deleted file mode 100644
index b72813990..000000000
--- a/js/views/accountview.js
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015, 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var OC = require('OC');
- var Radio = require('radio');
- var FolderListView = require('views/folderlistview');
- var AccountTemplate = require('templates/account.html');
-
- return Marionette.View.extend({
-
- template: AccountTemplate,
-
- templateContext: function() {
- var toggleCollapseMessage = this.collapsed ? t('mail', 'Show all folders') : t('mail', 'Collapse folders');
- return {
- isUnifiedInbox: this.model.get('accountId') === -1,
- toggleCollapseMessage: toggleCollapseMessage,
- hasMenu: this.model.get('accountId') !== -1,
- hasFolders: this.model.folders.length > 0,
- isDeletable: this.model.get('accountId') !== -2
- };
- },
-
- events: {
- 'click .account-toggle-collapse': 'toggleCollapse',
- 'click .app-navigation-entry-utils-menu-button button': 'toggleMenu',
- 'click @ui.deleteButton': 'onDelete',
- 'click @ui.settingsButton': 'showAccountSettings',
- 'click @ui.email': 'onClick'
- },
-
- regions: {
- folders: {
- el: '.folders',
- replaceElement: true
- }
- },
-
- ui: {
- email: '.mail-account-email',
- menu: '.app-navigation-entry-menu',
- settingsButton: '.action-settings',
- deleteButton: '.action-delete'
- },
-
- /** @type {string} */
- className: 'navigation-account',
-
- /** @type {bool} */
- menuShown: false,
-
- /** @type {bool} */
- collapsed: true,
-
- /**
- * @param {array} options
- */
- initialize: function(options) {
- this.model = options.model;
- },
-
- toggleCollapse: function() {
- this.collapsed = !this.collapsed;
- this.render();
- },
-
- /**
- * @param {Event} e
- */
- toggleMenu: function(e) {
- e.preventDefault();
- this.menuShown = !this.menuShown;
- this.toggleMenuClass();
- },
-
- toggleMenuClass: function() {
- this.getUI('menu').toggleClass('open', this.menuShown);
- },
-
- /**
- * @param {Event} e
- */
- onDelete: function(e) {
- e.stopPropagation();
-
- this.getUI('deleteButton').find('.icon-delete').removeClass('icon-delete').addClass('icon-loading-small');
-
- var account = this.model;
-
- Radio.account.request('delete', account).then(function() {
- // reload the complete page
- // TODO should only reload the app nav/content
- window.location.reload();
- }, function() {
- OC.Notification.show(t('mail', 'Error while deleting account.'));
- });
- },
-
- /**
- * @param {Event} e
- */
- onClick: function(e) {
- e.preventDefault();
- if (this.model.folders.length > 0) {
- var accountId = this.model.get('accountId');
- var folderId = this.model.folders.first().get('id');
- Radio.navigation.trigger('folder', accountId, folderId);
- }
- },
-
- onRender: function() {
- this.listenTo(Radio.ui, 'document:click', function(event) {
- var target = $(event.target);
- if (!this.$el.is(target.closest('.navigation-account'))) {
- // Click was not triggered by this element -> close menu
- this.menuShown = false;
- this.toggleMenuClass();
- }
- });
-
- this.showChildView('folders', new FolderListView({
- collection: this.model.folders,
- collapsed: this.collapsed
- }));
- },
-
- /**
- * @param {Event} e
- */
- showAccountSettings: function(e) {
- this.toggleMenu(e);
- Radio.navigation.trigger('accountsettings', this.model.get('accountId'));
-
- }
-
- });
-});
diff --git a/js/views/aliases-list.js b/js/views/aliases-list.js
deleted file mode 100644
index 78891080e..000000000
--- a/js/views/aliases-list.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Tahaa Karim <tahaalibra@gmail.com>
- * @copyright Tahaa Karim 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var AliasesListTemplate = require('templates/aliases-list.html');
- var Radio = require('radio');
-
- return Marionette.View.extend({
- collection: null,
- model: null,
- tagName: 'tr',
- childViewContainer: 'tbody',
- template: AliasesListTemplate,
- templateContext: function() {
- return {
- aliases: this.model.toJSON()
- };
- },
- ui: {
- deleteButton: 'button'
- },
- events: {
- 'click @ui.deleteButton': 'deleteAlias'
- },
- initialize: function(options) {
- this.model = options.model;
- },
- deleteAlias: function(event) {
- event.stopPropagation();
- var currentAccount = require('state').accounts.get(this.model.get('accountId'));
- var _this = this;
- this.getUI('deleteButton').prop('disabled', true);
- this.getUI('deleteButton').attr('class', 'icon-loading-small');
- Radio.aliases.request('delete', currentAccount, this.model.get('id'))
- .then(function() {
- currentAccount.get('aliases').remove(_this.model);
- }, console.error.bind(this))
- .then(function() {
- _this.getUI('deleteButton').attr('class', 'icon-delete');
- _this.getUI('deleteButton').prop('disabled', false);
- });
- }
-
- });
-});
diff --git a/js/views/aliases.js b/js/views/aliases.js
deleted file mode 100644
index 15295898c..000000000
--- a/js/views/aliases.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Tahaa Karim <tahaalibra@gmail.com>
- * @copyright Tahaa Karim 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var AliasesListView = require('views/aliases-list');
-
- return Marionette.CollectionView.extend({
- collection: null,
- tagName: 'table',
- childView: AliasesListView,
- currentAccount: null,
- initialize: function(options) {
- this.currentAccount = options.currentAccount;
- this.collection = this.currentAccount.get('aliases');
- }
- });
-});
diff --git a/js/views/appview.js b/js/views/appview.js
deleted file mode 100644
index ae4496845..000000000
--- a/js/views/appview.js
+++ /dev/null
@@ -1,257 +0,0 @@
-/* global oc_defaults */
-
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var document = require('domready');
- var Marionette = require('backbone.marionette');
- var $ = require('jquery');
- var OC = require('OC');
- var Radio = require('radio');
- var FolderContentView = require('views/foldercontent');
- var NavigationAccountsView = require('views/navigation-accounts');
- var SettingsView = require('views/settings');
- var ErrorView = require('views/errorview');
- var LoadingView = require('views/loadingview');
- var NavigationView = require('views/navigation');
- var SetupView = require('views/setupview');
- var AccountSettingsView = require('views/accountsettings');
- var KeyboardShortcutView = require('views/keyboardshortcuts');
-
- // Load handlebars helper
- require('views/helper');
-
- var ContentType = Object.freeze({
- ERROR: -2,
- LOADING: -1,
- FOLDER_CONTENT: 0,
- SETUP: 1,
- ACCOUNT_SETTINGS: 2,
- KEYBOARD_SHORTCUTS: 3
- });
-
- var AppView = Marionette.View.extend({
- el: '#app',
- accountsView: null,
- activeContent: null,
- regions: {
- content: {
- el: '#app-content-wrapper',
- replaceElement: true
- },
- setup: '#setup'
- },
- initialize: function() {
- this.bindUIElements();
-
- // Global event handlers:
- this.listenTo(Radio.notification, 'favicon:change', this.changeFavicon);
- this.listenTo(Radio.ui, 'notification:show', this.showNotification);
- this.listenTo(Radio.ui, 'error:show', this.showError);
- this.listenTo(Radio.ui, 'setup:show', this.showSetup);
- this.listenTo(Radio.ui, 'foldercontent:show', this.showFolderContent);
- this.listenTo(Radio.ui, 'content:error', this.showContentError);
- this.listenTo(Radio.ui, 'content:loading', this.showContentLoading);
- this.listenTo(Radio.ui, 'title:update', this.updateTitle);
- this.listenTo(Radio.ui, 'accountsettings:show', this.showAccountSettings);
- this.listenTo(Radio.ui, 'search:set', this.setSearchQuery);
- this.listenTo(Radio.ui, 'sidebar:loading', this.showSidebarLoading);
- this.listenTo(Radio.ui, 'sidebar:accounts', this.showSidebarAccounts);
- this.listenTo(Radio.ui, 'keyboardShortcuts:show', this.showKeyboardShortcuts);
-
- // Hide notification favicon when switching back from
- // another browser tab
- $(window).focus(this.onDocumentShow.bind(this));
-
- $(document).on('click', this.onDocumentClick);
-
- // Listens to key strokes, and executes a function based
- // on the key combinations.
- $(document).keyup(this.onKeyUp);
-
- window.addEventListener('resize', this.onWindowResize);
-
- $(document).on('click', function(e) {
- Radio.ui.trigger('document:click', e);
- });
-
- // TODO: create marionette view and encapsulate events
- $(document).on('click', '#forward-button', function() {
- Radio.message.trigger('forward');
- });
-
- $(document).on('click', '.link-mailto', function(event) {
- Radio.ui.trigger('composer:show', event);
- });
-
- // TODO: create marionette view and encapsulate events
- // close message when close button is tapped on mobile
- $(document).on('click', '#mail-message-close', function() {
- $('.app-content-list').removeClass('showdetails');
- });
-
- // TODO: create marionette view and encapsulate events
- // Show the images if wanted
- $(document).on('click', '#show-images-button', function() {
- $('#show-images-text').hide();
- $('iframe').contents().find('img[data-original-src]').each(function() {
- $(this).attr('src', $(this).attr('data-original-src'));
- $(this).show();
- });
- $('iframe').contents().find('[data-original-style]').each(function() {
- $(this).attr('style', $(this).attr('data-original-style'));
- });
- });
-
- // Render settings menu
- this.navigation = new NavigationView({
- accounts: require('state').accounts
- });
- this.navigation.showChildView('settings', new SettingsView());
- },
- onDocumentClick: function(event) {
- Radio.ui.trigger('document:click', event);
- },
- onDocumentShow: function(e) {
- e.preventDefault();
- this.changeFavicon(OC.filePath('mail', 'img', 'favicon.png'));
- },
- onKeyUp: function(e) {
- // Define which objects to check for the event properties.
- var key = e.which;
-
- // Trigger the event only if no input or textarea is focused
- // and the CTRL key is not pressed
- if ($('input:focus').length === 0 &&
- $('textarea:focus').length === 0 &&
- !e.ctrlKey) {
- Radio.keyboard.trigger('keyup', e, key);
- }
- },
- onWindowResize: function() {
- // Resize iframe
- var iframe = $('#mail-content iframe');
- iframe.height(iframe.contents().find('html').height() + 20);
- },
- render: function() {
- // This view doesn't need rendering
- },
- changeFavicon: function(src) {
- $('link[rel="icon"]').attr('href', src);
- },
- showNotification: function(message) {
- OC.Notification.showTemporary(message);
- },
- showError: function(message) {
- OC.Notification.showTemporary(message);
- $('#mail_message').removeClass('icon-loading');
- },
- showSetup: function() {
- this.activeContent = ContentType.SETUP;
-
- this.showChildView('content', new SetupView({
- config: {
- accountName: $('#user-displayname').text(),
- emailAddress: $('#user-email').text()
- }
- }));
- },
- showKeyboardShortcuts: function() {
- this.activeContent = ContentType.KEYBOARD_SHORTCUTS;
- this.showChildView('content', new KeyboardShortcutView({}));
- },
- showFolderContent: function(account, folder, options) {
- this.activeContent = ContentType.FOLDER_CONTENT;
-
- // Merge account, folder into a single options object
- options.account = account;
- options.folder = folder;
-
- this.showChildView('content', new FolderContentView(options));
- },
- showContentError: function(text, icon) {
- this.activeContent = ContentType.ERROR;
- this.showChildView('content', new ErrorView({
- text: text,
- icon: icon
- }));
- },
- showContentLoading: function(text) {
- this.activeContent = ContentType.LOADING;
- this.showChildView('content', new LoadingView({
- text: text
- }));
- },
- updateTitle: function() {
- var activeEmail = '';
-
- if (!require('state').currentAccount) {
- // Nothing to do
- return;
- }
-
- if (require('state').currentAccount.get('accountId') !== -1) {
- var activeAccount = require('state').currentAccount;
- activeEmail = ' - ' + activeAccount.get('email');
- }
- var activeFolder = require('state').currentFolder;
- var name = activeFolder.name || activeFolder.get('name');
- var count = 0;
- // TODO: use specialRole instead, otherwise this won't work with localized drafts folders
- if (name === 'Drafts') {
- count = activeFolder.total || activeFolder.get('total');
- } else {
- count = activeFolder.unseen || activeFolder.get('unseen');
- }
- if (count > 0) {
- window.document.title = name + ' (' + count + ')' +
- // jscs:disable requireCamelCaseOrUpperCaseIdentifiers
- activeEmail + ' - Mail - ' + oc_defaults.title;
- // jscs:enable requireCamelCaseOrUpperCaseIdentifiers
- } else {
- window.document.title = name + activeEmail +
- // jscs:disable requireCamelCaseOrUpperCaseIdentifiers
- ' - Mail - ' + oc_defaults.title;
- // jscs:enable requireCamelCaseOrUpperCaseIdentifiers
- }
- },
- showAccountSettings: function(account) {
- this.activeContent = ContentType.ACCOUNT_SETTINGS;
-
- this.showChildView('content', new AccountSettingsView({
- account: account
- }));
- },
- setSearchQuery: function(val) {
- val = val || '';
- $('#searchbox').val(val);
- },
- showSidebarLoading: function() {
- $('#app-navigation').addClass('icon-loading');
- if (this.navigation.getChildView('accounts')) {
- this.navigation.detachChildView('accounts');
- }
- },
- showSidebarAccounts: function() {
- $('#app-navigation').removeClass('icon-loading');
- // setup folder view
- this.navigation.showChildView('accounts', new NavigationAccountsView({
- collection: require('state').accounts
- }));
- // Also show the 'New message' button
- Radio.ui.trigger('navigation:newmessage:show');
- }
- });
-
- return AppView;
-});
diff --git a/js/views/attachmentsview.js b/js/views/attachmentsview.js
deleted file mode 100644
index e68c85203..000000000
--- a/js/views/attachmentsview.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Luc Calaresu <dev@calaresu.com>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Marionette = require('backbone.marionette');
- var OC = require('OC');
- var Radio = require('radio');
- var AttachmentView = require('views/attachmentview');
- var AttachmentsTemplate = require('templates/attachments.html');
- var LocalAttachment = require('models/localattachment');
-
- return Marionette.CompositeView.extend({
- collection: null,
- childView: AttachmentView,
- childViewContainer: 'ul',
- template: AttachmentsTemplate,
- ui: {
- 'fileInput': '#local-attachments'
- },
- events: {
- 'click #add-cloud-attachment': 'addCloudAttachment',
- 'click #add-local-attachment': 'addLocalAttachment',
- 'change @ui.fileInput': 'onLocalAttachmentsChanged'
- },
- initialize: function(options) {
- this.collection = options.collection;
- },
-
- /**
- * Click on 'Add from Files'
- */
- addCloudAttachment: function() {
- var title = t('mail', 'Choose a file to add as attachment');
- OC.dialogs.filepicker(title, _.bind(this.onCloudFileSelected, this));
- },
- onCloudFileSelected: function(path) {
- this.collection.add({
- fileName: path
- });
- },
-
- /**
- * Click on 'Add Attachment'
- */
- addLocalAttachment: function() {
- /* reset the fileInput value to allow sending the same file several */
- /* times. e.g. if the previous upload failed. */
- this.ui.fileInput.val('');
- this.ui.fileInput.click();
- },
- onLocalAttachmentsChanged: function(event) {
- var files = event.target.files;
- for (var i = 0; i < files.length; i++) {
- var file = files[i];
- this.uploadLocalAttachment(file);
- }
- },
-
- uploadLocalAttachment: function(file) {
- // TODO check file size?
- var attachment = new LocalAttachment({
- fileName: file.name
- });
-
- Radio.attachment.request('upload:local', file, attachment)
- .then(function(ret) {
- Radio.attachment.request('upload:finished', attachment, ret);
- })
- .catch(function() {
- Radio.attachment.request('upload:finished', attachment);
- var errorMsg = t('mail',
- 'An error occurred while uploading {fname}', {fname: file.name}
- );
- Radio.ui.trigger('error:show', errorMsg);
- });
-
- this.collection.add(attachment);
- }
- });
-});
diff --git a/js/views/attachmentview.js b/js/views/attachmentview.js
deleted file mode 100644
index c2123609f..000000000
--- a/js/views/attachmentview.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Luc Calaresu <dev@calaresu.com>
- * @copyright Christoph Wurst 2017
- */
-
-define(function(require) {
- 'use strict';
-
- require('jquery-ui/ui/widgets/progressbar');
- var Marionette = require('backbone.marionette');
- var Radio = require('radio');
- var AttachmentTemplate = require('templates/attachment.html');
-
- return Marionette.View.extend({
- tagName: 'li',
- template: AttachmentTemplate,
- ui: {
- attachmentName: '.new-message-attachment-name'
- },
- events: {
- 'click .icon-delete': 'removeAttachment'
- },
- modelEvents: {
- 'change:progress': 'onProgress',
- 'change:uploadStatus': 'onUploadStatus'
- },
- onRender: function() {
- var uploadRequest = this.model.get('uploadRequest');
- if (uploadRequest) {
- /* If upload, init the progressbar with the initial and max value */
- this.ui.attachmentName.progressbar({value: 0, max: 1});
- // Remove two jQuery styling classes that make it ugly
- // and add a blue text while uploading
- this.ui.attachmentName
- .removeClass('ui-progressbar')
- .removeClass('ui-widget-content')
- .addClass('upload-ongoing');
- }
- },
-
- /**
- * Called when the user clicked on the wastebasket.
- */
- removeAttachment: function() {
- /* If we are trying to delete a still-uploading attachment, */
- /* we have to abort the request first */
- Radio.attachment.request('upload:abort', this.model);
- },
-
- /**
- * Triggered when the attachment progress value changed
- */
- onProgress: function() {
- /* Update the ProgressBar with the new model value */
- var progressValue = this.model.get('progress');
- this.ui.attachmentName.progressbar('option', 'value', progressValue);
- },
-
- /**
- * Triggered when the attachment upload status has changed
- */
- onUploadStatus: function() {
- switch (this.model.get('uploadStatus')) {
- case 1: // uploading
- this.ui.attachmentName.addClass('upload-ongoing');
- break;
- case 2: // error
- /* An error occurred, we make the filename and the progressbar red */
- this.ui.attachmentName
- .removeClass('upload-ongoing')
- .addClass('upload-warning');
- break;
- case 3: // success
- /* remove the 'ongoing' class */
- this.ui.attachmentName
- .removeClass('upload-ongoing')
- .removeClass('upload-warning');
- /* If everything went well, we just fade out the progressbar */
- this.ui.attachmentName.find('.ui-progressbar-value').fadeOut();
- break;
- }
- }
- });
-});
diff --git a/js/views/calendarspopoverview.js b/js/views/calendarspopoverview.js
deleted file mode 100644
index d8f6ecf28..000000000
--- a/js/views/calendarspopoverview.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var CalendarView = require('views/calendarview');
-
- return Marionette.CollectionView.extend({
- childView: CalendarView,
- tagName: 'ul'
- });
-});
diff --git a/js/views/calendarview.js b/js/views/calendarview.js
deleted file mode 100644
index 0b4059883..000000000
--- a/js/views/calendarview.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var CalendarTemplate = require('templates/calendar.html');
-
- return Marionette.View.extend({
- template: CalendarTemplate,
- tagName: 'li'
- });
-});
diff --git a/js/views/composerview.js b/js/views/composerview.js
deleted file mode 100644
index 387441ee2..000000000
--- a/js/views/composerview.js
+++ /dev/null
@@ -1,635 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var $ = require('jquery');
- require('jquery-ui/ui/widgets/autocomplete');
- require('jquery-ui/ui/widgets/datepicker'); // formatDate
- var _ = require('underscore');
- var autosize = require('autosize');
- var OC = require('OC');
- var Radio = require('radio');
- var Attachments = require('models/attachments');
- var AttachmentsView = require('views/attachmentsview');
- var ComposerTemplate = require('templates/composer.html');
- var imageplaceholder = require('views/imageplaceholder');
- var tooltip = require('views/tooltip');
-
- return Marionette.View.extend({
- template: ComposerTemplate,
- templateContext: function() {
- var aliases = null;
- if (this.accounts) {
- aliases = this.buildAliases();
- aliases = _.filter(aliases, function(alias) {
- return alias.accountId !== -1;
- });
- }
-
- return {
- aliases: aliases,
- isReply: this.isReply(),
- to: this.data.to,
- cc: this.data.cc,
- bcc: this.data.bcc,
- subject: this.data.subject,
- message: this.data.body,
- submitButtonTitle: this.isReply() ? t('mail', 'Reply') : t('mail', 'Send')
- };
- },
- type: 'new',
- data: null,
- attachments: null,
- accounts: null,
- aliases: null,
- account: null,
- folder: null,
- repliedMessage: null,
- draftInterval: 1500,
- draftTimer: null,
- draftUID: null,
- draftPromise: null,
- hasData: false,
- autosized: false,
- regions: {
- attachmentsRegion: '.new-message-attachments'
- },
- events: {
- 'click .submit-message': 'submitMessage',
- 'click .submit-message-wrapper-inside': 'submitMessageWrapperInside',
- 'keypress .message-body': 'handleKeyPress',
- 'input .to': 'onInputChanged',
- 'paste .to': 'onInputChanged',
- 'keyup .to': 'onInputChanged',
- 'input .cc': 'onInputChanged',
- 'paste .cc': 'onInputChanged',
- 'keyup .cc': 'onInputChanged',
- 'input .bcc': 'onInputChanged',
- 'paste .bcc': 'onInputChanged',
- 'keyup .bcc': 'onInputChanged',
- 'input .subject': 'onInputChanged',
- 'paste .subject': 'onInputChanged',
- 'keyup .subject': 'onInputChanged',
- 'input .message-body': 'onInputChanged',
- 'paste .message-body': 'onInputChanged',
- 'keyup .message-body': 'onInputChanged',
- 'focus .recipient-autocomplete': 'onAutoComplete',
- // CC/BCC toggle
- 'click .composer-cc-bcc-toggle': 'ccBccToggle'
- },
- initialize: function(options) {
- var defaultOptions = {
- type: 'new',
- account: null,
- repliedMessage: null,
- data: {}
- };
- _.defaults(options, defaultOptions);
- _.defaults(options.data, {
- to: [],
- cc: [],
- bcc: [],
- subject: '',
- body: ''
- });
-
- /**
- * Composer type (new, reply)
- */
- this.type = options.type;
-
- /**
- * Containing element
- */
- if (options.el) {
- this.el = options.el;
- }
-
- /**
- * Attachments sub-view
- */
- this.attachments = new Attachments();
- this.bindAttachments();
-
- /**
- * Data for replies
- */
- this.data = options.data;
-
- this.accounts = options.accounts;
- if (!this.isReply()) {
- this.account = options.account || this.accounts.at(0);
- this.draftUID = options.data.id;
- } else {
- this.account = options.account;
- this.folder = options.folder;
- this.repliedMessage = options.repliedMessage;
- }
- this.draftPromise = Promise.resolve();
- },
- onRender: function() {
- this.showChildView('attachmentsRegion', new AttachmentsView({
- collection: this.attachments
- }));
-
- tooltip('.tooltip-mailto', {placement: 'bottom'});
-
- if (this.isReply()) {
- // Expand reply message body on click
- var _this = this;
- this.$('.message-body').click(function() {
- _this.setAutoSize(true);
- });
- } else {
- this.setAutoSize(true);
- }
-
- this.defaultMailSelect();
- },
- onDestroy: function() {
- if (this.hasData) {
- this.saveDraft();
- }
- },
- setAutoSize: function(state) {
- if (state === true) {
- if (!this.autosized) {
- autosize(this.$('textarea'), {append: '\n\n'});
- this.autosized = true;
- }
- this.$('.message-body').trigger('autosize.resize');
- } else {
- this.$('.message-body').trigger('autosize.destroy');
-
- // dirty workaround to set reply message body to the default size
- this.$('.message-body').css('height', '');
- this.autosized = false;
- }
- },
- bindAttachments: function() {
- // when the attachment list changed (add, remove, change), we make sure
- // to update the 'Send' button
- this.attachments.bind('all', this.onInputChanged.bind(this));
- },
- isReply: function() {
- return this.type === 'reply';
- },
- onInputChanged: function() {
- // Submit button state
- var to = this.$('.to').val();
- var subject = this.$('.subject').val();
- var body = this.$('.message-body').val();
- // if some attachments are not valid, we disable the 'send' button
- var attachmentsValid = this.checkAllAttachmentsValid();
- if ((to !== '' || subject !== '' || body !== '') && attachmentsValid) {
- this.$('.submit-message').removeAttr('disabled');
- } else {
- this.$('.submit-message').attr('disabled', true);
- }
-
- // Save draft
- this.hasData = true;
- clearTimeout(this.draftTimer);
- var _this = this;
- this.draftTimer = setTimeout(function() {
- _this.saveDraft();
- }, this.draftInterval);
- },
- handleKeyPress: function(event) {
- // Define which objects to check for the event properties.
- // (Window object provides fallback for IE8 and lower.)
- event = event || window.event;
- var key = event.which;
- // If enter and control keys are pressed:
- // (Key 13 and 10 set for compatibility across different operating systems.)
- if ((key === 13 || key === 10) && event.ctrlKey) {
- // If the new message is completely filled, and ready to be sent:
- // Send the new message.
- var sendBtnState = this.$('.submit-message').attr('disabled');
- if (sendBtnState === undefined) {
- this.submitMessage();
- }
- }
- return true;
- },
- ccBccToggle: function(e) {
- e.preventDefault();
- this.$('.composer-cc-bcc').slideToggle();
- this.$('.composer-cc-bcc .cc').focus();
- this.$('.composer-cc-bcc-toggle').fadeOut();
- },
- getMessage: function() {
- var message = {};
- var newMessageBody = this.$('.message-body');
- var to = this.$('.to');
- var cc = this.$('.cc');
- var bcc = this.$('.bcc');
- var subject = this.$('.subject');
-
- message.body = newMessageBody.val();
- message.to = to.val();
- message.cc = cc.val();
- message.bcc = bcc.val();
- message.subject = subject.val();
- message.attachments = this.attachments.toJSON();
-
- return message;
- },
- submitMessageWrapperInside: function() {
- // http://stackoverflow.com/questions/487073/check-if-element-is-visible-after-scrolling
- if (this._isVisible()) {
- this.$('.submit-message').click();
- } else {
- $('#mail-message').animate({
- scrollTop: this.$el.offset().top
- }, 1000);
- this.$('.submit-message-wrapper-inside').hide();
- // This function is needed because $('.message-body').focus does not focus the first line
- this._setCaretToPos(this.$('.message-body')[0], 0);
- }
- },
- _setSelectionRange: function(input, selectionStart, selectionEnd) {
- if (input.setSelectionRange) {
- input.focus();
- input.setSelectionRange(selectionStart, selectionEnd);
- } else if (input.createTextRange) {
- var range = input.createTextRange();
- range.collapse(true);
- range.moveEnd('character', selectionEnd);
- range.moveStart('character', selectionStart);
- range.select();
- }
- },
- _setCaretToPos: function(input, pos) {
- this._setSelectionRange(input, pos, pos);
- },
- _isVisible: function() {
- var $elem = this.$el;
- var $window = $(window);
- var docViewTop = $window.scrollTop();
- var docViewBottom = docViewTop + $window.height();
- var elemTop = $elem.offset().top;
-
- return elemTop <= docViewBottom;
- },
- submitMessage: function() {
- clearTimeout(this.draftTimer);
- //
- // TODO:
- // - input validation
- // - feedback on success
- // - undo lie - very important
- //
-
- // loading feedback: show spinner and disable elements
- var newMessageBody = this.$('.message-body');
- var newMessageSend = this.$('.submit-message');
- newMessageBody.addClass('icon-loading');
- var to = this.$('.to');
- var cc = this.$('.cc');
- var bcc = this.$('.bcc');
- var subject = this.$('.subject');
- this.$('.mail-account').prop('disabled', true);
- to.prop('disabled', true);
- cc.prop('disabled', true);
- bcc.prop('disabled', true);
- subject.prop('disabled', true);
- this.$('.new-message-attachments-action').css('display', 'none');
- this.$('#add-cloud-attachment').prop('disabled', true);
- this.$('#add-local-attachment').prop('disabled', true);
- newMessageBody.prop('disabled', true);
- newMessageSend.prop('disabled', true);
- newMessageSend.val(t('mail', 'Sending …'));
- var alias = null;
-
- // if available get account from drop-down list
- if (this.$('.mail-account').length > 0) {
- alias = this.findAliasById(this.$('.mail-account').
- find(':selected').val());
- this.account = this.accounts.get(alias.accountId);
- }
-
- // send the mail
- var options = {
- draftUID: this.draftUID,
- aliasId: alias.aliasId
- };
-
- if (this.isReply()) {
- options.repliedMessage = this.repliedMessage;
- options.folder = this.folder;
- }
-
- return this.draftPromise.then(function() {
- return Radio.message.request('send', this.account, this.getMessage(), options);
- }.bind(this)).then(function() {
- OC.Notification.showTemporary(t('mail', 'Message sent!'));
-
- if (!!options.repliedMessage) {
- // Reply -> flag message as replied
- Radio.message.trigger('flag',
- options.repliedMessage,
- 'answered',
- true);
- }
-
- this.$('#mail_new_message').prop('disabled', false);
- to.val('');
- cc.val('');
- bcc.val('');
- subject.val('');
- newMessageBody.val('');
- newMessageBody.trigger('autosize.resize');
- this.attachments.reset();
- if (this.draftUID !== null) {
- // the sent message was a draft
- if (!_.isUndefined(Radio.ui.request('messagesview:collection'))) {
- Radio.ui.request('messagesview:collection').remove({id: this.draftUID});
- }
- this.draftUID = null;
- }
- }.bind(this)).catch(function(jqXHR) {
- console.error('could not send message', jqXHR);
- var error = '';
- if (jqXHR.status === 500) {
- error = t('mail', 'Server error');
- } else {
- var resp = JSON.parse(jqXHR.responseText);
- error = resp.message;
- }
- newMessageSend.prop('disabled', false);
- OC.Notification.showTemporary(error);
- }.bind(this)).then(function() {
- // remove loading feedback
- newMessageBody.removeClass('icon-loading');
- this.$('.mail-account').prop('disabled', false);
- to.prop('disabled', false);
- cc.prop('disabled', false);
- bcc.prop('disabled', false);
- subject.prop('disabled', false);
- this.$('.new-message-attachments-action').
- css('display', 'inline-block');
- this.$('#add-cloud-attachment').prop('disabled', false);
- this.$('#add-local-attachment').prop('disabled', false);
- newMessageBody.prop('disabled', false);
- newMessageSend.prop('disabled', false);
- newMessageSend.val(t('mail', 'Send'));
- }.bind(this)).catch(function(e) {
- console.error('could not send message', e);
- });
- },
- saveDraft: function() {
- clearTimeout(this.draftTimer);
- //
- // TODO:
- // - input validation
- // - undo lie - very important
- //
-
- return this.draftPromise.then(function() {
- // if available get account from drop-down list
- if (this.$('.mail-account').length > 0) {
- var alias = this.findAliasById(this.$('.mail-account').
- find(':selected').val());
- this.account = this.accounts.get(alias.accountId);
- }
-
- // send the mail
- var _this = this;
- return Radio.message.request('draft', this.account, this.getMessage(), {
- folder: _this.folder,
- repliedMessage: _this.repliedMessage,
- draftUID: _this.draftUID
- });
- }.bind(this)).then(function(data) {
- console.debug('draft saved. UID=' + data.uid + ', previous UID was ' + this.draftUID);
- if (this.draftUID !== null) {
- // update UID in message list
- var collection = Radio.ui.request('messagesview:collection');
- var message = collection.findWhere({id: this.draftUID});
- if (message) {
- message.set({id: data.uid});
- collection.set([message], {remove: false});
- }
- }
- this.draftUID = data.uid;
- }.bind(this)).catch(function(e) {
- console.error('could not save draft', e);
- });
- },
- setReplyBody: function(from, date, text) {
- var minutes = date.getMinutes();
-
- this.$('.message-body').first().text(
- '\n\n\n' +
- from.label + ' – ' +
- $.datepicker.formatDate('D, d. MM yy ', date) +
- date.getHours() + ':' + (minutes < 10 ? '0' : '') + minutes + '\n> ' +
- text.replace(/\n/g, '\n> ')
- );
-
- this.setAutoSize(false);
- // Expand reply message body on click
- var _this = this;
- this.$('.message-body').click(function() {
- _this.setAutoSize(true);
- });
- },
- focusTo: function() {
- this.$el.find('input.to').focus();
- },
- setTo: function(value) {
- this.$el.find('input.to').val(value);
- },
- focusSubject: function() {
- this.$el.find('input.subject').focus();
- },
- focusMessageBody: function() {
- this.$el.find('textarea.message-body').focus();
- },
- onAutoComplete: function(e) {
- var $elem = $(e.target);
- function split(val) {
- return val.split(/,\s*/);
- }
-
- function extractLast(term) {
- return split(term).pop();
- }
- if (!$elem.data('autocomplete')) {
- // If the autocomplete wasn't called yet:
- // don't navigate away from the field on tab when selecting an item
- var prevUID = false;
-
- $elem.on('keydown', function(event) {
- // 9: 'tab' key code
- if (event.which === 9 &&
- typeof $elem.data('autocomplete') !== 'undefined' &&
- $elem.data('autocomplete').menu.active) {
- event.preventDefault();
- }
- });
- $elem.autocomplete({
- source: function(request, response) {
- $.getJSON(
- OC.generateUrl('/apps/mail/api/autoComplete'),
- {
- term: extractLast(request.term)
- }, response);
- },
- search: function() {
- // custom minLength
- var term = extractLast(this.value);
- return term.length >= 2;
- },
- response: function() {
- // Reset prevUid
- prevUID = false;
- },
- focus: function() {
- // prevent value inserted on focus
- return false;
- },
- select: function(event, ui) {
- var terms = split(this.value);
- // remove the current input
- terms.pop();
- // add the selected item
- terms.push(ui.item.value);
- // add placeholder to get the comma-and-space at the end
- terms.push('');
- this.value = terms.join(', ');
- return false;
- }
- }).data('ui-autocomplete')._renderItem = function($ul, item) {
- var $item = $('<li/>');
- var $row = $('<a/>');
-
- $row.addClass('mail-recipient-autocomplete');
-
- var $placeholder;
- if (prevUID === item.id) {
- $placeholder = $('<div/>');
- $placeholder.addClass('avatar');
- $row.append($placeholder);
- } else if (item.photo && item.photo !== null) {
- var $avatar = $('<img/>');
- $avatar.addClass('avatar');
- $avatar.height('32px');
- $avatar.width('32px');
- $avatar.attr('src', item.photo);
- $row.append($avatar);
- } else {
- $placeholder = $('<div/>');
- imageplaceholder($placeholder, item.label || item.value);
- $placeholder.addClass('avatar');
- $row.append($placeholder);
- }
-
- prevUID = item.id;
-
- $row.append($('<span>').text(item.label || item.value));
-
- $item.append($row);
- $item.appendTo($ul);
- return $item;
- };
- }
- },
- buildAliases: function() {
- var aliases = [];
- var id = 1;
-
- this.accounts.forEach(function(account) {
- var json = account.toJSON();
- // add Primary email address
- aliases.push({
- id: id++,
- accountId: json.accountId,
- aliasId: null,
- emailAddress: json.emailAddress,
- name: json.name
- });
- // add Aliases email adresses
- for (var x in json.aliases) {
- aliases.push({
- id: id++,
- accountId: json.aliases[x].accountId,
- aliasId: json.aliases[x].id,
- emailAddress: json.aliases[x].alias,
- name: json.aliases[x].name
- });
- }
- });
- this.aliases = aliases;
- return aliases;
- },
- findAliasById: function(id) {
- return _.find(this.aliases, function(alias) {
- return parseInt(alias.id) === parseInt(id);
- });
- },
- defaultMailSelect: function() {
- var alias = null;
- if (!this.isReply()) {
- if (require('state').currentAccount.get('accountId') !== -1) {
- alias = _.find(this.aliases, function(alias) {
- return alias.emailAddress === require('state').currentAccount.get('email');
- });
- } else {
- var firstAccount = this.accounts.filter(function(
- account) {
- return account.get('accountId') !== -1;
- })[0];
- alias = _.find(this.aliases, function(alias) {
- return alias.emailAddress === firstAccount.get('emailAddress');
- });
- }
- } else {
- var fromEmail = this.data.fromEmail;
- alias = _.find(this.aliases, function(alias) {
- return alias.emailAddress === fromEmail;
- });
- }
- if (alias) {
- this.$('.mail-account').val(alias.id);
- }
- },
- /**
- * Checke that all attachments are valid.
- * If there is some LocalAttachments stil pending, ongoing or that failed,
- * This method will return false.
- * If there is no LocalAttachments, or if they are are all sent,
- * this method will return true.
- *
- * @return {boolean} all attachments valid
- */
- checkAllAttachmentsValid: function() {
- var allAttachmentsValid = true;
- var len = this.attachments.length;
- for (var i = 0; i < len; i++) {
- /* We check all the attachments here */
- var attachment = this.attachments.models[i];
- var uploadStatus = attachment.get('uploadStatus');
- var isLocalUpload = (uploadStatus !== undefined);
- /* If at least one attachment is a local upload and */
- /* not a success (==3), we disable the send button */
- if (isLocalUpload && uploadStatus < 3) {
- allAttachmentsValid = false;
- }
- }
- return allAttachmentsValid;
- }
- });
-
-});
diff --git a/js/views/emptyfolderview.js b/js/views/emptyfolderview.js
deleted file mode 100644
index 975e34d12..000000000
--- a/js/views/emptyfolderview.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'strict';
-
- var Marionette = require('backbone.marionette');
- var EmptyMessagesTemplate = require('templates/empty-folder.html');
-
- var EmptyMessagesView = Marionette.View.extend({
- id: 'emptycontent',
- template: EmptyMessagesTemplate
- });
-
- return EmptyMessagesView;
-});
diff --git a/js/views/emptymessageview.js b/js/views/emptymessageview.js
deleted file mode 100644
index e29c3e654..000000000
--- a/js/views/emptymessageview.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * @author Sagorika Das <sagorika1996@gmail.com>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var EmptyMessageTemplate = require('templates/empty-message.html');
-
- /**
- * @class EmptyMessageView
- */
- var EmptyMessageView = Marionette.View.extend({
- template: EmptyMessageTemplate,
- className: 'container'
- });
-
- return EmptyMessageView;
-});
diff --git a/js/views/errorview.js b/js/views/errorview.js
deleted file mode 100644
index a5bbd17a6..000000000
--- a/js/views/errorview.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var ErrorTemplate = require('templates/error.html');
-
- var ErrorView = Marionette.View.extend({
-
- id: 'emptycontent',
-
- className: 'app-content-details',
-
- template: ErrorTemplate,
-
- _text: undefined,
-
- _icon: undefined,
-
- _canRetry: undefined,
-
- events: {
- 'click .retry': '_onRetry'
- },
-
- templateContext: function() {
- return {
- text: this._text,
- icon: this._icon,
- canRetry: this._canRetry
- };
- },
-
- initialize: function(options) {
- this._text = options.text || t('mail', 'An unknown error occurred');
- this._icon = options.icon || 'icon-mail';
- this._canRetry = options.canRetry || false;
- },
-
- _onRetry: function() {
- this.triggerMethod('retry');
- }
- });
-
- return ErrorView;
-});
diff --git a/js/views/foldercontent.js b/js/views/foldercontent.js
deleted file mode 100644
index 6dc754fc5..000000000
--- a/js/views/foldercontent.js
+++ /dev/null
@@ -1,214 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var $ = require('jquery');
- var _ = require('underscore');
- var Backbone = require('backbone');
- var Marionette = require('backbone.marionette');
- var Radio = require('radio');
- var ComposerView = require('views/composerview');
- var MessageView = require('views/messageview');
- var MessagesView = require('views/messagesview');
- var ErrorView = require('views/errorview');
- var LoadingView = require('views/loadingview');
- var MessageContentTemplate = require('templates/foldercontent.html');
- var EmptyMessageView = require('views/emptymessageview');
-
- var DetailView = Object.freeze({
- ERROR: -2,
- MESSAGE: 1,
- COMPOSER: 2
- });
-
- return Marionette.View.extend({
- attributes: {
- id: 'app-content-wrapper'
- },
- template: MessageContentTemplate,
- detailView: null,
- account: null,
- folder: null,
- searchQuery: null,
- composer: null,
- regions: {
- messages: '.app-content-list',
- message: {
- el: '.app-content-details',
- replaceElement: true
- }
- },
- initialize: function(options) {
- this.account = options.account;
- this.folder = options.folder;
- this.searchQuery = options.searchQuery;
-
- this.listenTo(Radio.ui, 'message:show', this.onShowMessage);
- this.listenTo(Radio.ui, 'message:error', this.onShowError);
- this.listenTo(Radio.ui, 'composer:show', this.onShowComposer);
- this.listenTo(Radio.keyboard, 'keyup', this.onKeyUp);
-
- // TODO: check whether this code is still needed
- this.listenTo(Radio.ui, 'composer:events:undelegate', function() {
- if (this.composer) {
- this.composer.undelegateEvents();
- }
- });
- // END TODO
-
- this.listenTo(Radio.ui, 'message:loading', this.onMessageLoading);
- this.listenTo(Radio.ui, 'message:empty', this.onMessageEmpty);
- },
- onRender: function() {
- this.showChildView('messages', new MessagesView({
- collection: this.folder.messages,
- searchQuery: this.searchQuery
- }));
- },
- onShowMessage: function(message, body) {
- // Temporarily disable new-message composer events
- Radio.ui.trigger('composer:events:undelegate');
-
- var messageModel = new Backbone.Model(body);
- this.showChildView('message', new MessageView({
- account: this.account,
- folder: this.folder,
- message: message,
- model: messageModel
- }));
- this.detailView = DetailView.MESSAGE;
- this.markMessageAsRead(message);
- },
- markMessageAsRead: function(message) {
- // The message is not actually displayed on mobile when calling onShowMessage()
- // on mobiles then, we shall not mark the email as read until the user opened it
- var isMobile = $(window).width() < 768;
- if (isMobile === false) {
- Radio.message.trigger('flag', message, 'unseen', false);
- }
- },
- onShowError: function(errorMessage) {
- this.showChildView('message', new ErrorView({
- text: errorMessage
- }));
- this.detailView = DetailView.ERROR;
- },
- onShowComposer: function(data, isDraft) {
- isDraft = _.isUndefined(isDraft) ? false : isDraft;
- $('.tooltip').remove();
- $('#mail_new_message').prop('disabled', true);
- $('.app-content-list').addClass('showdetails');
-
- // setup composer view
- this.showChildView('message', new ComposerView({
- accounts: require('state').accounts,
- data: data
- }));
- this.detailView = DetailView.COMPOSER;
- this.composer = this.getChildView('message');
-
- if (data && data.hasHtmlBody) {
- Radio.ui.trigger('error:show', t('mail', 'Opening HTML drafts is not supported yet.'));
- }
-
- if (!data.to.length) {
- // focus 'to' field automatically on clicking New message button
- this.composer.focusTo();
- } else if (!data.subject) {
- this.composer.focusSubject();
- } else {
- this.composer.focusMessageBody();
- }
-
- if (data && !_.isUndefined(data.currentTarget) && !_.isUndefined($(data.currentTarget).
- data().email)) {
- var to = '"' + $(data.currentTarget).
- data().label + '" <' + $(data.currentTarget).
- data().email + '>';
- this.composer.setTo(to);
- this.composer.focusSubject();
- }
-
- if (!isDraft) {
- Radio.ui.trigger('messagesview:message:setactive', null);
- }
- },
- onMessageLoading: function(text) {
- this.showChildView('message', new LoadingView({
- text: text
- }));
- },
- onMessageEmpty: function() {
- this.showChildView('message', new EmptyMessageView());
- },
- onKeyUp: function(event, key) {
- var message;
- var state;
- switch (key) {
- case 46:
- // delete key
- // Mimic a client clicking the delete button for the currently active message.
- $('.app-content-list-item.active .action.delete').click();
- break;
- case 39:
- case 74:
- // right arrow or 'j' -> next message
- event.preventDefault();
- Radio.message.trigger('messagesview:message:next');
- break;
- case 37:
- case 75:
- // left arrow or 'k' -> previous message
- event.preventDefault();
- Radio.message.trigger('messagesview:message:prev');
- break;
- case 67:
- // 'c' -> show new message composer
- event.preventDefault();
- Radio.ui.trigger('composer:show');
- break;
- case 82:
- // 'r' -> refresh list of messages
- event.preventDefault();
- Radio.ui.trigger('messagesview:messages:update');
- break;
- case 83:
- // 's' -> toggle star
- event.preventDefault();
- message = require('state').currentMessage;
- if (message) {
- state = message.get('flags').get('flagged');
- Radio.message.trigger('flag', message, 'flagged', !state);
- }
- break;
- case 85:
- // 'u' -> toggle unread
- event.preventDefault();
- message = require('state').currentMessage;
- if (message) {
- state = message.get('flags').get('unseen');
- Radio.message.trigger('flag', message, 'unseen', !state);
- }
- break;
- }
- }
- });
-});
diff --git a/js/views/folderlistview.js b/js/views/folderlistview.js
deleted file mode 100644
index fdb48d461..000000000
--- a/js/views/folderlistview.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var FolderView = require('views/folderview');
-
- var SHOW_COLLAPSED = Object.seal([
- 'inbox',
- 'flagged',
- 'drafts',
- 'sent'
- ]);
-
- var FolderListView = Marionette.CollectionView.extend({
-
- childView: FolderView,
-
- className: 'folders',
-
- collapsed: true,
-
- initialize: function(options) {
- this.collapsed = options.collapsed;
- },
-
- filter: function(child) {
- if (!this.collapsed) {
- return true;
- }
- var specialRole = child.get('specialRole');
- return SHOW_COLLAPSED.indexOf(specialRole) !== -1;
- }
- });
-
- return FolderListView;
-});
diff --git a/js/views/folderview.js b/js/views/folderview.js
deleted file mode 100644
index 918b00baa..000000000
--- a/js/views/folderview.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define(function(require) {
- 'use strict';
-
- require('jquery-ui/ui/widgets/droppable');
- var _ = require('underscore');
- var Marionette = require('backbone.marionette');
- var OC = require('OC');
- var Radio = require('radio');
- var FolderTemplate = require('templates/folder.html');
-
- return Marionette.View.extend({
-
- tagName: 'li',
-
- updateElClasses: function() {
- var classes = [
- 'with-counter'
- ];
- if (this.model.get('unseen')) {
- classes.push('unseen');
- }
- if (this.model.get('active')) {
- classes.push('active');
- }
- if (this.model.get('specialRole')) {
- classes.push('special-' + this.model.get('specialRole'));
- }
- if (this.model.folders.length > 0) {
- classes.push('collapsible');
- }
- if (this.model.get('open')) {
- classes.push('open');
- }
- // .removeClass() does not work, https://bugs.jqueryui.com/ticket/9015
- this.$el.prop('class', '');
- var _this = this;
- _.each(classes, function(clazz) {
- _this.$el.addClass(clazz);
- });
- },
-
- template: FolderTemplate,
-
- templateContext: function() {
- var count = null;
- if (this.model.get('specialRole') === 'drafts') {
- count = this.model.get('total');
- } else {
- count = this.model.get('unseen');
- }
-
- var url = OC.generateUrl('apps/mail/#accounts/{accountId}/folders/{folderId}', {
- // TODO: account should be property of folder
- accountId: this.model.get('accountId'),
- folderId: this.model.get('id')
- });
-
- var folders = this.model.folders.length > 0 ? this.model.folders.toJSON() : undefined;
-
- return {
- count: count,
- url: url,
- folders: folders
- };
- },
-
- regions: {
- folders: '.folders'
- },
-
- events: {
- 'click .collapse': 'collapseFolder',
- 'click .folder': 'loadFolder'
- },
-
- modelEvents: {
- change: 'render'
- },
-
- collapseFolder: function(e) {
- e.preventDefault();
- this.model.toggleOpen();
- },
-
- loadFolder: function(e) {
- if (e.isDefaultPrevented()) {
- // Event has been handled already, e.g. by a subfolder
- return;
- }
- e.preventDefault();
- // TODO: account should be property of folder
- var account = require('state').accounts.get(this.model.get('accountId'));
- var folder = this.model;
-
- if (folder.get('noSelect')) {
- console.info('ignoring \'loadFolder\' event for noSelect folder');
- return;
- }
-
- Radio.navigation.trigger('folder', account.get('accountId'), folder.get('id'));
- },
-
- onRender: function() {
- var FolderListView = require('views/folderlistview');
-
- this.showChildView('folders', new FolderListView({
- collection: this.model.folders
- }));
-
- this.updateElClasses();
-
- // Make non search folder folders droppable
- if (!(/\/FLAGGED$/.test(atob(this.model.get('id'))))) {
- var dropScope = 'folder-' + this.model.account.get('accountId');
- this.$el.droppable({
- scope: dropScope,
- greedy: true,
- drop: _.bind(function(event, ui) {
- var account = require('state').currentAccount;
- var sourceFolder = account.getFolderById(ui.helper.data('folderId'));
- var message = sourceFolder.messages.get(ui.helper.data('messageId'));
- Radio.message.trigger('move', account, sourceFolder, message, account, this.model);
- }, this),
- hoverClass: 'ui-droppable-active'
- });
- }
- }
- });
-});
diff --git a/js/views/helper.js b/js/views/helper.js
deleted file mode 100755
index b7b274997..000000000
--- a/js/views/helper.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/* global getScrollBarWidth */
-
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst
- */
-
-define(function(require) {
- 'use strict';
-
- var $ = require('jquery');
- var _ = require('underscore');
-
- // TODO: get rid of global functions
- // adjust controls/header bar width
- window.adjustControlsWidth = function() {
- if ($('#mail-message-header').length) {
- var controlsWidth;
- if ($(window).width() > 768) {
- controlsWidth =
- $('#content').width() -
- $('#app-navigation').width() -
- $('#mail-messages').width() -
- getScrollBarWidth();
- }
- $('#mail-message-header').css('width', controlsWidth);
- $('#mail-message-header').css('min-width', controlsWidth);
- }
- };
-
- $(window).resize(_.debounce(window.adjustControlsWidth, 250));
- // END TODO
-});
diff --git a/js/views/imageplaceholder.js b/js/views/imageplaceholder.js
deleted file mode 100644
index 9928f8e81..000000000
--- a/js/views/imageplaceholder.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/* global $ */
-
-/**
- * @copyright 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-define(function() {
- 'use strict';
-
- function imageplaceholder(elem, text) {
- $(elem).imageplaceholder(text);
- }
-
- return imageplaceholder;
-});
diff --git a/js/views/keyboardshortcuts.js b/js/views/keyboardshortcuts.js
deleted file mode 100644
index 04250ee85..000000000
--- a/js/views/keyboardshortcuts.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @author Steffen Lindner <mail@steffen-lindner.de>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'strict';
-
- var Marionette = require('backbone.marionette');
- var KeyboardShortcutTemplate = require('templates/keyboard-shortcuts.html');
-
- var KeyboardShortcutView = Marionette.View.extend({
- id: 'keyboardshortcut',
- template: KeyboardShortcutTemplate
- });
-
- return KeyboardShortcutView;
-});
diff --git a/js/views/loadingview.js b/js/views/loadingview.js
deleted file mode 100644
index 25ba156ef..000000000
--- a/js/views/loadingview.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var LoadingTemplate = require('templates/loading.html');
-
- /**
- * @class LoadingView
- */
- var LoadingView = Marionette.View.extend({
- template: LoadingTemplate,
- templateContext: function() {
- return {
- hint: this.hint
- };
- },
- className: 'app-content-details',
- hint: '',
- initialize: function(options) {
- this.hint = options.text || '';
- }
- });
-
- return LoadingView;
-});
diff --git a/js/views/messageattachmentsview.js b/js/views/messageattachmentsview.js
deleted file mode 100644
index f159762ec..000000000
--- a/js/views/messageattachmentsview.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var CrashReport = require('crashreport');
- var Marionette = require('backbone.marionette');
- var MessageController = require('controller/messagecontroller');
- var AttachmentView = require('views/messageattachmentview');
- var AttachmentsTemplate = require('templates/message-attachments.html');
-
- /**
- * @type MessageAttachmentsView
- */
- var MessageAttachmentsView = Marionette.CompositeView.extend({
- /**
- * @lends Marionette.CompositeView
- */
- template: AttachmentsTemplate,
- ui: {
- 'saveAllToCloud': '.attachments-save-to-cloud'
- },
- events: {
- 'click @ui.saveAllToCloud': '_onSaveAllToCloud'
- },
- templateContext: function() {
- return {
- moreThanOne: this.collection.length > 1
- };
- },
- childView: AttachmentView,
- childViewContainer: '.attachments',
- childViewOptions: function() {
- return {
- message: this.message
- };
- },
- initialize: function(options) {
- this.message = options.message;
- },
-
- viewComparator: function(a, b) {
- if (a.get('isImage') && !b.get('isImage')) {
- return -1;
- } else if (!a.get('isImage') && b.get('isImage')) {
- return 1;
- }
- return a.get('fileName').localeCompare(b.get('fileName'));
- },
-
- _onSaveAllToCloud: function(e) {
- e.preventDefault();
-
- var _this = this;
- MessageController.saveAttachmentsToFiles(this.message, function() {
- // Loading feedback
- _this.getUI('saveAllToCloud').removeClass('icon-folder')
- .addClass('icon-loading-small')
- .prop('disabled', true);
- }).catch(CrashReport.report).then(function() {
- // Remove loading feedback again
- _this.getUI('saveAllToCloud').addClass('icon-folder')
- .removeClass('icon-loading-small')
- .prop('disabled', false);
- });
- }
- });
-
- return MessageAttachmentsView;
-});
diff --git a/js/views/messageattachmentview.js b/js/views/messageattachmentview.js
deleted file mode 100644
index eb132d665..000000000
--- a/js/views/messageattachmentview.js
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var $ = require('jquery');
- var _ = require('underscore');
- var Marionette = require('backbone.marionette');
- var CrashReport = require('crashreport');
- var Radio = require('radio');
- var MessageController = require('controller/messagecontroller');
- var CalendarsPopoverView = require('views/calendarspopoverview');
- var MessageAttachmentTemplate = require('templates/message-attachment.html');
-
- /**
- * @class MessageAttachmentView
- */
- var MessageAttachmentView = Marionette.View.extend({
-
- message: undefined,
-
- template: MessageAttachmentTemplate,
-
- ui: {
- 'downloadButton': '.attachment-download',
- 'saveToCloudButton': '.attachment-save-to-cloud',
- 'importCalendarEventButton': '.attachment-import.calendar',
- 'attachmentImportPopover': '.attachment-import-popover'
- },
- events: {
- 'click': '_onClick',
- 'click @ui.saveToCloudButton': '_onSaveToCloud',
- 'click @ui.importCalendarEventButton': '_onImportCalendarEvent'
- },
- initialize: function(options) {
- this.message = options.message;
- this.listenTo(Radio.ui, 'document:click', this._closeImportPopover);
- },
- _onClick: function(e) {
- if (!e.isDefaultPrevented()) {
- var $target = $(e.target);
- if ($target.hasClass('select-calendar')) {
- var url = $target.data('calendar-url');
- this._uploadToCalendar(url);
- return;
- }
-
- e.preventDefault();
- window.open(this.model.get('downloadUrl'));
- window.focus();
- }
- },
- _onSaveToCloud: function(e) {
- e.preventDefault();
-
- var _this = this;
- MessageController.saveAttachmentToFiles(this.message, this.model.get('id'), function() {
- // Loading feedback
- _this.getUI('saveToCloudButton').removeClass('icon-folder')
- .addClass('icon-loading-small')
- .prop('disabled', true);
- }).catch(CrashReport.report).then(function() {
- // Remove loading feedback again
- _this.getUI('saveToCloudButton').addClass('icon-folder')
- .removeClass('icon-loading-small')
- .prop('disabled', false);
- });
- },
- _onImportCalendarEvent: function(e) {
- e.preventDefault();
-
- this.getUI('importCalendarEventButton')
- .removeClass('icon-add')
- .addClass('icon-loading-small');
-
- var _this = this;
- Radio.dav.request('calendars').then(function(calendars) {
- if (calendars.length > 0) {
- _this.getUI('attachmentImportPopover').addClass('open');
- var calendarsView = new CalendarsPopoverView({
- collection: calendars
- });
- calendarsView.render();
- _this.getUI('attachmentImportPopover').html(calendarsView.$el);
- } else {
- Radio.ui.trigger('error:show', t('mail', 'No writable calendars found'));
- }
- }).catch(CrashReport.report).then(function() {
- _this.getUI('importCalendarEventButton')
- .removeClass('icon-loading-small')
- .addClass('icon-add');
- });
- },
- _uploadToCalendar: function(url) {
- this._closeImportPopover();
- this.getUI('importCalendarEventButton')
- .removeClass('icon-add')
- .addClass('icon-loading-small');
-
- var downloadUrl = this.model.get('downloadUrl');
- var _this = this;
- Radio.message.request('attachment:download', downloadUrl).then(function(content) {
- return Radio.dav.request('calendar:import', url, content).catch(function() {
- Radio.ui.trigger('error:show', t('mail', 'Error while importing the calendar event'));
- });
- }).then(function() {
- _this.getUI('importCalendarEventButton')
- .removeClass('icon-loading-small')
- .addClass('icon-add');
- }).catch(function() {
- Radio.ui.trigger('error:show', t('mail', 'Error while downloading calendar event'));
- _this.getUI('importCalendarEventButton')
- .removeClass('icon-loading-small')
- .addClass('icon-add');
- });
- },
- _closeImportPopover: function(e) {
- if (_.isUndefined(e)) {
- this.getUI('attachmentImportPopover').removeClass('open');
- return;
- }
- var $target = $(e.target);
- if (this.$el.find($target).length === 0) {
- this.getUI('attachmentImportPopover').removeClass('open');
- }
- }
- });
-
- return MessageAttachmentView;
-});
diff --git a/js/views/messagesitem.js b/js/views/messagesitem.js
deleted file mode 100644
index 4a533c5f4..000000000
--- a/js/views/messagesitem.js
+++ /dev/null
@@ -1,220 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2017
- */
-
-define(function(require) {
- 'use strict';
-
- var $ = require('jquery');
- require('jquery-ui/ui/widgets/draggable');
- var _ = require('underscore');
- var Marionette = require('backbone.marionette');
- var CrashReport = require('crashreport');
- var Radio = require('radio');
- var MessageTemplate = require('templates/message-list-item.html');
- var imageplaceholder = require('views/imageplaceholder');
-
- return Marionette.View.extend({
- template: MessageTemplate,
- ui: {
- self: '.app-content-list-item',
- iconDelete: '.action.delete',
- star: '.star',
- menu: '.popovermenu',
- toggleMenu: '.toggle-menu'
- },
- events: {
- 'click @ui.self': 'openMessage',
- 'click @ui.star': 'toggleMessageStar',
- 'click @ui.toggleMenu': 'toggleActionsMenu',
- 'click .action.delete': 'deleteMessage',
- 'click .action.toggle-read': 'toggleMessageRead'
- },
- modelEvents: {
- change: 'render'
- },
-
- /** @type {bool} */
- actionsMenuShown: false,
-
- /**
- * Get the sender/recipient label as string
- *
- * @returns {String}
- */
- _getMessageLabel: function() {
- var sendRec = [];
- if (this.model.folder.get('specialRole') === 'sent') {
- sendRec = this.model.get('to');
- } else {
- sendRec = this.model.get('from');
- }
-
- switch (sendRec.length) {
- case 0:
- return '-';
- case 1:
- return sendRec[0].label;
- default:
- return sendRec[0].label + ' ' + t('mail', '& others');
- }
- },
-
- serializeModel: function() {
- var json = this.model.toJSON();
- json.isUnified =
- require('state').currentAccount &&
- require('state').currentAccount.get('isUnified');
- json.sender = this.model.get('from')[0];
- json.label = this._getMessageLabel();
- return json;
- },
- onRender: function() {
- var displayName = this.model.get('from')[0].label;
- // Don't show any placeholder if 'from' isn't set
- if (displayName) {
- _.each(this.$el.find('.avatar'), function(a) {
- $(a).height('32px');
- imageplaceholder(a, displayName, displayName);
- });
- }
-
- var _this = this;
- var dragScope =
- 'folder-' + this.model.folder.account.get('accountId');
- this.$el.draggable({
- appendTo: '#content-wrapper',
- scope: dragScope,
- helper: function() {
- var el = $('<div class="icon-mail"></div>');
- el.data('folderId', _this.model.folder.get('id'));
- el.data('messageId', _this.model.get('id'));
- return el;
- },
- cursorAt: {
- top: -5,
- left: -5
- },
- revert: 'invalid'
- });
-
- this.listenTo(Radio.ui, 'document:click', function(event) {
- var target = $(event.target);
- var toggleDropdown = this.getUI('toggleMenu');
- if (!toggleDropdown.is(target)) {
- // Click was not triggered by toggle menu -> close menu
- this.actionsMenuShown = false;
- this.toggleMenuClass();
- }
- });
-
- this._fetchAvatar();
- },
-
- /**
- * @private
- */
- _fetchAvatar: function() {
- Radio.avatar
- .request('avatar', this.model.get('fromEmail'))
- .then(
- function(url) {
- if (url) {
- this.model.set('senderImage', url);
- }
- }.bind(this)
- )
- .catch(CrashReport.report);
- },
-
- toggleMessageStar: function(event) {
- event.stopPropagation();
-
- var starred = this.model.get('flags').get('flagged');
-
- // directly change star state in the interface for quick feedback
- if (starred) {
- this.getUI('star')
- .removeClass('icon-starred')
- .addClass('icon-star');
- } else {
- this.getUI('star')
- .removeClass('icon-star')
- .addClass('icon-starred');
- }
-
- Radio.message.trigger('flag', this.model, 'flagged', !starred);
- },
-
- openMessage: function(event) {
- // Ignore the event if the actions menu was targeted
- if ($(event.target).hasClass('toggle-menu')) {
- return;
- }
- event.stopPropagation();
- $('.app-content-list').addClass('showdetails');
- // make sure message is marked as read when clicked on it
- Radio.message.trigger('flag', this.model, 'unseen', false);
- Radio.message.trigger(
- 'load',
- this.model.folder.account,
- this.model.folder,
- this.model,
- {
- force: true
- }
- );
- },
-
- toggleActionsMenu: function() {
- this.actionsMenuShown = !this.actionsMenuShown;
- this.toggleMenuClass();
- },
-
- toggleMenuClass: function() {
- this.getUI('menu').toggleClass('open', this.actionsMenuShown);
- },
-
- toggleMessageRead: function(event) {
- event.stopPropagation();
- var message = this.model;
- if (message) {
- var state = message.get('flags').get('unseen');
- Radio.message.trigger('flag', message, 'unseen', !state);
- }
- this.toggleActionsMenu();
- },
-
- deleteMessage: function(event) {
- event.stopPropagation();
- var message = this.model;
-
- this.$el.addClass('transparency').slideUp(function() {
- $('.tooltip').remove();
-
- // really delete the message
- Radio.folder.request(
- 'message:delete',
- message,
- require('state').currentFolder
- );
-
- // manually trigger mouseover event for current mouse position
- // in order to create a tooltip for the next message if needed
- if (event.clientX) {
- $(
- document.elementFromPoint(event.clientX, event.clientY)
- ).trigger('mouseover');
- }
- });
-
- this.toggleActionsMenu();
- }
- });
-});
diff --git a/js/views/messagesview.js b/js/views/messagesview.js
deleted file mode 100644
index e53513c33..000000000
--- a/js/views/messagesview.js
+++ /dev/null
@@ -1,274 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var $ = require('jquery');
- var Marionette = require('backbone.marionette');
- var Radio = require('radio');
- var MessagesItemView = require('views/messagesitem');
- var MessageListTemplate = require('templates/message-list.html');
- var EmptyFolderView = require('views/emptyfolderview');
- var NoSearchResultView = require('views/nosearchresultmessagelistview');
-
- return Marionette.CompositeView.extend({
- collection: null,
- $scrollContainer: undefined,
- childView: MessagesItemView,
- childViewContainer: '#mail-message-list',
- template: MessageListTemplate,
- currentMessage: null,
- searchQuery: null,
- loadingMore: false,
-
- /**
- * @private
- * @type {bool}
- */
- _reloaded: false,
-
- events: {
- DOMMouseScroll: 'onWheel',
- mousewheel: 'onWheel'
- },
- initialize: function(options) {
- this.searchQuery = options.searchQuery;
-
- var _this = this;
- this.on('dom:refresh', this._bindScrollEvents);
- Radio.ui.reply('messagesview:collection', function() {
- return _this.collection;
- });
- this.listenTo(Radio.ui, 'messagesview:messages:update', this.refresh);
- this.listenTo(Radio.ui, 'messagesview:filter', this.filterCurrentMailbox);
- this.listenTo(Radio.ui, 'messagesview:message:setactive', this.setActiveMessage);
- this.listenTo(Radio.message, 'messagesview:message:next', this.selectNextMessage);
- this.listenTo(Radio.message, 'messagesview:message:prev', this.selectPreviousMessage);
- },
- _bindScrollEvents: function() {
- this.$scrollContainer = this.$el.parent();
- this.$scrollContainer.scroll(_.bind(this.onScroll, this));
- },
- emptyView: function() {
- if (this.searchQuery && this.searchQuery !== '') {
- return NoSearchResultView;
- } else {
- return EmptyFolderView;
- }
- },
- emptyViewOptions: function() {
- return {
- searchQuery: this.searchQuery
- };
- },
- /**
- * Set active class for current message and remove it from old one
- *
- * @param {Message} message
- */
- setActiveMessage: function(message) {
- this.collection.forEach(function(message) {
- message.set('active', false);
- });
-
- this.currentMessage = message;
- if (message !== null) {
- message.set('active', true);
- }
-
- require('state').currentMessage = message;
- Radio.ui.trigger('title:update');
- },
- selectNextMessage: function() {
- if (this.currentMessage === null) {
- return;
- }
-
- var message = this.collection.get(this.currentMessage);
- if (message === null) {
- return;
- }
-
- if (this.collection.indexOf(message) === (this.collection.length - 1)) {
- // Last message, nothing to do
- return;
- }
-
- var nextMessage = this.collection.at(this.collection.indexOf(message) + 1);
- if (nextMessage) {
- var folder = nextMessage.folder;
- var account = folder.account;
- Radio.message.trigger('load', account, folder, nextMessage, {
- force: true
- });
- }
- },
- selectPreviousMessage: function() {
- if (this.currentMessage === null) {
- return;
- }
-
- var message = this.collection.get(this.currentMessage);
- if (message === null) {
- return;
- }
-
- if (this.collection.indexOf(message) === 0) {
- // First message, nothing to do
- return;
- }
-
- var previousMessage = this.collection.at(this.collection.indexOf(message) - 1);
- if (previousMessage) {
- var folder = previousMessage.folder;
- var account = folder.account;
- Radio.message.trigger('load', account, folder, previousMessage, {
- force: true
- });
- }
- },
- refresh: function() {
- if (!require('state').currentAccount) {
- return;
- }
- if (!require('state').currentFolder) {
- return;
- }
- this._syncMessages();
- },
- onScroll: function() {
- if (this._reloaded) {
- this._reloaded = false;
- return;
- }
- if (this.loadingMore === true) {
- // Ignore events until loading has finished
- return;
- }
- if (this.$scrollContainer.scrollTop() === 0) {
- // Scrolled to top -> refresh
- this.loadingMore = true;
- this._syncMessages();
- return;
- }
- if ((this.$scrollContainer.scrollTop() + this.$scrollContainer.height()) > (this.$el.height() - 150)) {
- // Scrolled all the way down -> load more
- this.loadingMore = true;
- this._loadNextMessages();
- return;
- }
- },
- onWheel: function(event) {
- if (event.originalEvent.wheelDelta && event.originalEvent.wheelDelta > 0) {
- // Scrolling up in non-FF browsers
- this.onScroll();
- } else if (event.originalEvent.detail && event.originalEvent.detail < 0) {
- // Scrolling up in FF
- this.onScroll();
- }
- },
- filterCurrentMailbox: function(query) {
- this.filterCriteria = {
- text: query
- };
- this._syncMessages();
- },
-
- /**
- * @private
- * @returns {Promise}
- */
- _loadNextMessages: function() {
- // Add loading feedback
- this.$('#load-more-mail-messages').addClass('icon-loading-small');
-
- var account = require('state').currentAccount;
- var folder = require('state').currentFolder;
- return Radio.message.request('next-page', account, folder, {
- filter: this.searchQuery || ''
- }).then(function() {
- Radio.ui.trigger('messagesview:message:setactive', require('state').currentMessage);
- }, function() {
- Radio.ui.trigger('error:show', t('mail', 'Error while loading messages.'));
- }).then(function() {
- // Remove loading feedback again
- this.$('#load-more-mail-messages').removeClass('icon-loading-small');
- this.loadingMore = false;
- // Reload scrolls the list to the top, hence a unwanted
- // scroll event is fired, which we want to ignore
- this._reloaded = false;
- }.bind(this), console.error.bind(this));
- },
-
- /**
- * @private
- * @returns {Promise}
- */
- _syncMessages: function() {
- // Loading feedback
- $('#mail-message-list-loading').css('opacity', 0)
- .slideDown('slow')
- .animate(
- {opacity: 1},
- {queue: false, duration: 'slow'}
- );
-
- var folder = require('state').currentFolder;
- return Radio.sync.request('sync:folder', folder)
- .catch(function(e) {
- console.error(e);
- Radio.ui.trigger('error:show', t('mail', 'Error while refreshing messages.'));
- })
- .then(function() {
- $('#mail-message-list-loading').css('opacity', 1)
- .slideUp('slow')
- .animate(
- {
- opacity: 0
- },
- {
- queue: false,
- duration: 'slow',
- complete: function() {
- this.loadingMore = false;
- }.bind(this)
- });
- this._reloaded = true;
- }.bind(this), console.error.bind(this));
- },
-
- onBeforeRender: function() {
- // FF jump scrolls when we load more mesages. This stores the scroll
- // position before the element is re-rendered and restores it afterwards
- if (this.$scrollContainer) {
- this._prevScrollTop = this.$scrollContainer.scrollTop();
- }
- },
- onRender: function() {
- // see onBeforeRender
- if (this.$scrollContainer) {
- if (this._prevScrollTop) {
- this.$scrollContainer.scrollTop(this._prevScrollTop);
- }
- }
- }
- });
-});
diff --git a/js/views/messageview.js b/js/views/messageview.js
deleted file mode 100644
index 88a3872fb..000000000
--- a/js/views/messageview.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/* global adjustControlsWidth */
-
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var _ = require('underscore');
- var $ = require('jquery');
- require('jquery-ui/ui/widgets/datepicker'); // formatDate
- var Attachments = require('models/attachments');
- var HtmlHelper = require('util/htmlhelper');
- var ComposerView = require('views/composerview');
- var MessageAttachmentsView = require('views/messageattachmentsview');
- var MessageTemplate = require('templates/message.html');
- var ReplyBuilder = require('replybuilder');
-
- return Marionette.View.extend({
- template: MessageTemplate,
- className: 'app-content-details',
- message: null,
- messageBody: null,
- reply: null,
- account: null,
- folder: null,
- ui: {
- messageIframe: 'iframe'
- },
- regions: {
- replyComposer: '#reply-composer',
- attachments: '.mail-message-attachments'
- },
-
- initialize: function(options) {
- this.account = options.account;
- this.folder = options.folder;
- this.message = options.message;
- this.messageBody = options.model;
- this.reply = ReplyBuilder.buildReply(this.message, this.messageBody);
-
- // Add body content to inline reply (text mails)
- if (!this.messageBody.get('hasHtmlBody')) {
- var date = new Date(this.messageBody.get('dateIso'));
- var minutes = date.getMinutes();
- var text = HtmlHelper.htmlToText(this.messageBody.get('body'));
-
- this.reply.body = '\n\n\n\n' +
- this.messageBody.get('from')[0].label + ' – ' +
- $.datepicker.formatDate('D, d. MM yy ', date) +
- date.getHours() + ':' + (minutes < 10 ? '0' : '') + minutes + '\n> ' +
- text.replace(/\n/g, '\n> ');
- }
-
- // Save current messages's content for later use (forward)
- if (!this.messageBody.get('hasHtmlBody')) {
- require('state').currentMessageBody = this.messageBody.get('body');
- }
- require('state').currentMessageSubject = this.messageBody.get('subject');
-
- // Render the message body
- adjustControlsWidth();
-
- // Hide forward button until the message has finished loading
- if (this.messageBody.get('hasHtmlBody')) {
- $('#forward-button').hide();
- }
- },
- onIframeLoad: function() {
- // Expand height to not have two scrollbars
- this.getUI('messageIframe').height(this.getUI('messageIframe').contents().find('html').height() + 20);
- // Fix styling
- this.getUI('messageIframe').contents().find('body').css({
- 'margin': '0',
- 'font-weight': 'normal',
- 'font-size': '.8em',
- 'line-height': '1.6em',
- 'font-family': '"Open Sans", Frutiger, Calibri, "Myriad Pro", Myriad, sans-serif',
- 'color': '#000'
- });
- // Fix font when different font is forced
- this.getUI('messageIframe').contents().find('font').prop({
- 'face': 'Open Sans',
- 'color': '#000'
- });
- this.getUI('messageIframe').contents().find('.moz-text-flowed').css({
- 'font-family': 'inherit',
- 'font-size': 'inherit'
- });
- // Expand height again after rendering to account for new size
- this.getUI('messageIframe').height(this.getUI('messageIframe').contents().find('html').height() + 20);
- // Grey out previous replies
- this.getUI('messageIframe').contents().find('blockquote').css({
- 'color': '#888'
- });
- // Remove spinner when loading finished
- this.getUI('messageIframe').parent().removeClass('icon-loading');
-
- // Does the html mail have blocked images?
- var hasBlockedImages = false;
- if (this.getUI('messageIframe').contents().
- find('[data-original-src],[data-original-style]').length) {
- hasBlockedImages = true;
- }
-
- // Show/hide button to load images
- if (hasBlockedImages) {
- $('#show-images-text').show();
- } else {
- $('#show-images-text').hide();
- }
-
- // Add body content to inline reply (html mails)
- var text = this.getUI('messageIframe').contents().find('body').html();
- text = HtmlHelper.htmlToText(text);
- var date = new Date(this.messageBody.get('dateIso'));
- this.getChildView('replyComposer').setReplyBody(this.messageBody.get('from')[0], date, text);
-
- // Safe current mesages's content for later use (forward)
- require('state').currentMessageBody = text;
-
- // Show forward button
- this.$('#forward-button').show();
- },
- onRender: function() {
- this.getUI('messageIframe').on('load', _.bind(this.onIframeLoad, this));
-
- this.showChildView('attachments', new MessageAttachmentsView({
- collection: new Attachments(this.messageBody.get('attachments')),
- message: this.message
- }));
-
- // setup reply composer view
- this.showChildView('replyComposer', new ComposerView({
- type: 'reply',
- accounts: require('state').accounts,
- account: this.account,
- folder: this.folder,
- repliedMessage: this.message,
- data: this.reply
- }));
- }
- });
-});
diff --git a/js/views/navigation-accounts.js b/js/views/navigation-accounts.js
deleted file mode 100644
index 084911ab5..000000000
--- a/js/views/navigation-accounts.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var $ = require('jquery');
- var Marionette = require('backbone.marionette');
- var AccountView = require('views/accountview');
- var Radio = require('radio');
-
- /**
- * @class NavigationAccountsView
- */
- return Marionette.CollectionView.extend({
-
- tagName: 'ul',
-
- id: 'usergrouplist',
-
- className: 'with-icon',
-
- /** @type {AccountCollection} */
- collection: null,
-
- /** @type {AccountView} */
- childView: AccountView,
-
- initialize: function() {
- this.listenTo(Radio.ui, 'folder:changed', this.onFolderChanged);
- this.listenTo(Radio.folder, 'setactive', this.setFolderActive);
- },
-
- /**
- * @param {Account} account
- * @param {Folder} folder
- */
- setFolderActive: function(account, folder) {
- // disable all other folders for all accounts
- require('state').accounts.each(function(acnt) {
- // TODO: useless? accounts.get(acnt.get('accountId')) === acnt ?
- var localAccount = require('state').accounts.get(acnt.get('accountId'));
- if (_.isUndefined(localAccount)) {
- return;
- }
- var folders = localAccount.folders;
- _.each(folders.models, function(folder) {
- folders.get(folder).set('active', false);
- });
- });
-
- if (folder) {
- folder.set('active', true);
- }
- },
-
- onFolderChanged: function() {
- // hide message detail view on mobile
- // TODO: find better place for this
- $('.app-content-list').addClass('showdetails');
- }
- });
-});
diff --git a/js/views/navigation.js b/js/views/navigation.js
deleted file mode 100644
index 53e43facc..000000000
--- a/js/views/navigation.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015, 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var Radio = require('radio');
- var NewMessageView = require('views/newmessage');
-
- return Marionette.View.extend({
-
- el: '#app-navigation',
-
- regions: {
- newMessage: '#mail-new-message-fixed',
- accounts: {
- el: '#usergrouplist',
- replaceElement: true
- },
- settings: '#app-settings-content'
- },
-
- initialize: function() {
- this.bindUIElements();
-
- this.listenTo(Radio.ui, 'navigation:show', this.show);
- this.listenTo(Radio.ui, 'navigation:hide', this.hide);
- this.listenTo(Radio.ui, 'navigation:newmessage:show', this.onShowNewMessage);
- },
-
- render: function() {
- // This view doesn't need rendering
- },
-
- show: function() {
- this.$el.show();
- },
-
- hide: function() {
- // TODO: move if or rename function
- if (require('state').accounts.length === 0) {
- this.$el.hide();
- }
- },
-
- onShowNewMessage: function() {
- this.showChildView('newMessage', new NewMessageView({
- accounts: this.options.accounts
- }));
- }
- });
-});
diff --git a/js/views/newmessage.js b/js/views/newmessage.js
deleted file mode 100644
index 0ce2905d7..000000000
--- a/js/views/newmessage.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var Radio = require('radio');
- var NewMessageTemplate = require('templates/newmessage.html');
-
- return Marionette.View.extend({
- template: NewMessageTemplate,
- accounts: null,
- ui: {
- button: '#mail_new_message'
- },
- events: {
- 'click @ui.button': 'onClick'
- },
- initialize: function(options) {
- this.accounts = options.accounts;
- this.listenTo(options.accounts, 'add', this.onAccountsChanged);
- },
- onRender: function() {
- // Set the approriate ui state
- this.onAccountsChanged();
- },
- onAccountsChanged: function() {
- if (this.accounts.size === 0) {
- this.getUI('button').hide();
- } else {
- this.getUI('button').show();
- }
- },
- onClick: function(e) {
- e.preventDefault();
- Radio.ui.trigger('composer:show', e);
- }
- });
-});
diff --git a/js/views/nosearchresultmessagelistview.js b/js/views/nosearchresultmessagelistview.js
deleted file mode 100644
index c620f1c33..000000000
--- a/js/views/nosearchresultmessagelistview.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015, 2016
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var NoSearchResultMessageListViewTemplate
- = require('templates/no-search-results-message-list.html');
-
- return Marionette.View.extend({
- initialize: function(options) {
- this.model.set('searchTerm', options.searchQuery);
- },
- template: NoSearchResultMessageListViewTemplate
- });
-});
-
diff --git a/js/views/settings.js b/js/views/settings.js
deleted file mode 100644
index ad3918cbe..000000000
--- a/js/views/settings.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Mail
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright Christoph Wurst 2015
- */
-
-define(function(require) {
- 'use strict';
-
- var Marionette = require('backbone.marionette');
- var OC = require('OC');
- var Radio = require('radio');
- var SettingsTemplate = require('templates/settings.html');
-
- return Marionette.View.extend({
-
- accounts: null,
-
- template: SettingsTemplate,
-
- templateContext: function() {
- var app = require('app');
- return {
- addAccountUrl: OC.generateUrl('apps/mail/#setup'),
- useExternalAvatars: app.getUseExternalAvatars(),
- keyboardShortcutUrl: OC.generateUrl('apps/mail/#shortcuts')
- };
- },
-
- regions: {
- accountsList: '#settings-accounts'
- },
-
- events: {
- 'click #new-mail-account': 'addAccount',
- 'change #gravatar-enabled': 'toggleExternalAvatars',
- 'click #keyboard-shortcuts': 'showKeyboardShortcuts'
- },
-
- addAccount: function(e) {
- e.preventDefault();
- Radio.navigation.trigger('setup');
- },
-
- toggleExternalAvatars: function() {
- var enabled = this.$('#gravatar-enabled').prop('checked') ? 'true' : 'false';
- Radio.preference.request('save', 'external-avatars', enabled);
- },
-
- showKeyboardShortcuts: function(e) {
- e.preventDefault();
- Radio.navigation.trigger('keyboardshortcuts');
- }
-
- });
-});
diff --git a/js/views/setupview.js b/js/views/setupview.js
deleted file mode 100644
index 41f40e01f..000000000
--- a/js/views/setupview.js
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * Mail
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-define(function(require) {
- 'use strict';
-
- var _ = require('underscore');
- var Marionette = require('backbone.marionette');
- var CrashReport = require('crashreport');
- var Radio = require('radio');
- var AccountController = require('controller/accountcontroller');
- var AccountFormView = require('views/accountformview');
- var ErrorView = require('views/errorview');
- var LoadingView = require('views/loadingview');
- var SetupTemplate = require('templates/setup.html');
-
- /**
- * @class SetupView
- */
- return Marionette.View.extend({
-
- /** @type {string} */
- className: 'container',
-
- /** @type {Function} */
- template: SetupTemplate,
-
- /** @type {boolean} */
- _loading: false,
-
- /** @type {boolean} */
- _error: undefined,
-
- /** @type {Object} */
- _config: undefined,
-
- regions: {
- content: '.setup-content'
- },
-
- initialize: function(options) {
- this._config = options.config;
- },
-
- onRender: function() {
- if (!_.isUndefined(this._error)) {
- this.showChildView('content', new ErrorView({
- text: this._error,
- canRetry: true
- }));
- } else if (this._loading) {
- // Rendering the first time
- this.showChildView('content', new LoadingView({
- text: t('mail', 'Setting up your account')
- }));
- } else {
- // Re-rending because an error occurred
- this.showChildView('content', new AccountFormView({
- config: this._config
- }));
- }
- },
-
- /**
- * @private
- * @param {Object} config
- * @returns {Promise}
- */
- onChildviewFormSubmit: function(config) {
- var _this = this;
- this._loading = true;
- this._config = config;
- this.render();
-
- return Radio.account.request('create', config).then(function() {
- Radio.ui.trigger('navigation:show');
- Radio.ui.trigger('content:loading');
- // reload accounts
- return AccountController.loadAccounts();
- }).then(function(accounts) {
- // Let's assume there's at least one account after a successful
- // setup, so let's show the first one (could be the unified inbox)
- var firstAccount = accounts.first();
- var firstFolder = firstAccount.folders.first();
- Radio.navigation.trigger('folder', firstAccount.get('accountId'), firstFolder.get('id'));
- }).catch(function(error) {
- console.error('could not create account:', error);
- // Show error view for a few seconds
- _this._loading = false;
- _this._error = error;
- _this.render();
- }).catch(CrashReport.report);
- },
-
- onChildviewRetry: function() {
- this._loading = false;
- this._error = undefined;
- this.render();
- }
-
- });
-});
diff --git a/js/views/tooltip.js b/js/views/tooltip.js
deleted file mode 100644
index 9ba6279ca..000000000
--- a/js/views/tooltip.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/* global $ */
-
-/**
- * @copyright 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author 2017 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-define(function() {
- 'use strict';
-
- function tooltip(elem, config) {
- $(elem).tooltip(config);
- }
-
- return tooltip;
-});
diff --git a/package-lock.json b/package-lock.json
index c6ecdd3b7..d5690a9b3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,94 +1,1091 @@
{
"name": "mail",
- "version": "0.9.0",
+ "version": "0.1.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "@sinonjs/commons": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.0.2.tgz",
- "integrity": "sha512-WR3dlgqJP4QNrLC4iXN/5/2WaLQQ0VijOOkmflqFGVJ6wLEpbSjo7c0ZeGIdtY8Crk7xBBp87sM6+Mkerz7alw==",
+ "@babel/code-frame": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz",
+ "integrity": "sha512-W7IeG4MoVf4oUvWfHUx9VG9if3E0xSUDf1urrnNYtC2ow1dz2ptvQ6YsJfyVXDuPTFXz66jkHhzMW7a5Eld7TA==",
"dev": true,
"requires": {
- "type-detect": "4.0.8"
+ "@babel/highlight": "7.0.0-beta.47"
}
},
- "@sinonjs/formatio": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
- "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==",
+ "@babel/core": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.47.tgz",
+ "integrity": "sha512-7EIuAX0UVnCgZ0E9tz9rFK0gd+aovwMA9bul+dnkmBQYLrJdas2EHMUSmaK67i1cyZpvgVvXhHtXJxC7wo3rlQ==",
"dev": true,
"requires": {
- "samsam": "1.3.0"
+ "@babel/code-frame": "7.0.0-beta.47",
+ "@babel/generator": "7.0.0-beta.47",
+ "@babel/helpers": "7.0.0-beta.47",
+ "@babel/template": "7.0.0-beta.47",
+ "@babel/traverse": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47",
+ "babylon": "7.0.0-beta.47",
+ "convert-source-map": "^1.1.0",
+ "debug": "^3.1.0",
+ "json5": "^0.5.0",
+ "lodash": "^4.17.5",
+ "micromatch": "^2.3.11",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
}
},
- "@sinonjs/samsam": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.0.0.tgz",
- "integrity": "sha512-D7VxhADdZbDJ0HjUTMnSQ5xIGb4H2yWpg8k9Sf1T08zfFiQYlaxM8LZydpR4FQ2E6LZJX8IlabNZ5io4vdChwg==",
+ "@babel/generator": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.47.tgz",
+ "integrity": "sha512-fJP+9X+gqgTTZzTqrKJHwebPwt6S/e/4YuyRyKyWHAIirGgUwjRoZgbFci24wwGYMJW7nlkCSwWG7QvCVsG0eg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.5",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz",
+ "integrity": "sha512-Pjxb/PrxyKWc7jcAXlawvNAQMxxY+tSSNC5wxJstJjpO10mocmGzBOqNYjxdvVhMb3d0BEPQ8mR+D65fFpZ+TA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz",
+ "integrity": "sha512-nv8d6TcDBb1CJMQzwab/e0rqyqoP9d2AQBjr4GdSiVRpJX4aiLEiLBm2XprdEb/sVIRmmBnVxPXJaHDsS/K2fw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-call-delegate": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz",
+ "integrity": "sha512-Rx9TRmCCEP0pWau9gfR6ubcbbX3nVc4ImNY143ftC70jrKdSv5rS20yz2cmCilDzhexwGZQ3PFwOLKe3C/5aEg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "7.0.0-beta.47",
+ "@babel/traverse": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-define-map": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz",
+ "integrity": "sha512-pLB9RY7GZKcc/frzgfDY/HwdqxWPe60qMAvNUef1V1bDZ8i4AUgxAANgltFzj61t100WGhqaS0xGkALD+9VA+g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz",
+ "integrity": "sha512-1mwk27zmhSuMUcVWxw5ZKiPYfuWXviZNqgA4OvFBloPf9R+dKDhNgP2uUrkHh68ltVVc3Bup1nsbd/2KM5AxEw==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz",
+ "integrity": "sha512-0LSvt95XCYaOrDA5K68KkTyldKXizDwBnKACdYzQszp1GdbtzmSeGwFU5Ecw86fU6bkYXtDvkFTOQwk/WQSJPw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "7.0.0-beta.47",
+ "@babel/template": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz",
+ "integrity": "sha512-63j0i3YUW8CO//uQc3ACffJdIlYcIlysuHjMF0yzQhqKoQ/CUPv0hf3nBwdRGjiWrr3JcL6++NF4XmXdwSU+fA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz",
+ "integrity": "sha512-5BcKFhyzrsInlrfO/tGoe6khUuJzGfROD7oozF/5MWsKo/c3gVJfQ5y83lZ4XoTKJt/x4PQlLU0aHd/SJpYONA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz",
+ "integrity": "sha512-gpipslnZw2hcVGADUtqQII9KF8FPpRZsVUXwKP/0EnWwtujRFSVL+u2Fh+VXODRAxFmTLo6eGcOr/Vfan0MqYw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz",
+ "integrity": "sha512-Rk43Ty+a6npu9znK22IqFlseStRGWxEHi2cjmLbbi63VGiseofdUtIJI65F9MTCuMTXAX7VbY/ghef1Jp5qpvw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz",
+ "integrity": "sha512-CziMe30ZunAhe6j05oNOFOg7im1lcv3dYuMxrwBYVe9YdP4NHPU7a1wrDBUhaPmyqTIZDwGnFne7k1KP79SeGQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "7.0.0-beta.47",
+ "@babel/helper-simple-access": "7.0.0-beta.47",
+ "@babel/helper-split-export-declaration": "7.0.0-beta.47",
+ "@babel/template": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz",
+ "integrity": "sha512-NhnGhjwrhzGas4A/PoBDEtEPCGJHrzhaT6qGmo1hmkA2orG4UNi7KENC38DhJII0n2oUrKUuzTwgCvxKOTiHbw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz",
+ "integrity": "sha512-GR67o8boOKVJRKM5Nhk7oVEHpxYy8R00lwu0F82WxxBH+iiT26DqW1e/4w/mo7Bdn1A6l0pNaOlNk1PdM2Hgag==",
"dev": true
},
+ "@babel/helper-regex": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz",
+ "integrity": "sha512-dafidvVkjJP5AIWkJspV+7RGj1jeNts0qYvlmVzqAGb6BmQzEldJr6ZPzrmlpW/AW1YJGdw7br2yiwvlCRqDvQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz",
+ "integrity": "sha512-Nmj3lUHQscD160asav2bZ3sMIjGwGY9r6Vrriy9TqH7bmaClKUKUs5Twv0htFWfOKNFLEeY/MaqiAXylr1GS2w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "7.0.0-beta.47",
+ "@babel/helper-wrap-function": "7.0.0-beta.47",
+ "@babel/template": "7.0.0-beta.47",
+ "@babel/traverse": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz",
+ "integrity": "sha512-yf2JAD1+xNTjavqazqknRgPfd6MbGfvfIcAkxWsPURynAwOMSs4zThED8ImT2d5a97rGPysRJcq1jNh2L0WYxg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "7.0.0-beta.47",
+ "@babel/helper-optimise-call-expression": "7.0.0-beta.47",
+ "@babel/traverse": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz",
+ "integrity": "sha512-sd2t3QDKjd+hHkJKaC2AX39l6oIil1N548oMZAtV5YHlVGoWWkAVGnPMxRg7ICEjIftCU3ZI6UeaogyEhF8t7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz",
+ "integrity": "sha512-jx8GmxryT6Qy4+24W6M6TnVL9T8bxqdyg5UKHjxBdw0Y2Sano1n0WphUS2seuOugn04W2ZQLqGc0ut8nGe/taA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz",
+ "integrity": "sha512-SAasvh80Mz5q9x15dqH6z8jpM0WTBmxQSNZATSwJwhmWdme6r2gxpufIMr8LwQIJHmXmgNLmvh0zdWSbE/PR4Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "7.0.0-beta.47",
+ "@babel/template": "7.0.0-beta.47",
+ "@babel/traverse": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.47.tgz",
+ "integrity": "sha512-uWk7gIua2COEWLwZGxfF5Wq1bgXOt1V6xzWxqeFznrA6F1TUPiAhkK5zORiZEa5RAILp6Mswsn3xFjDyCpp3rQ==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "7.0.0-beta.47",
+ "@babel/traverse": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.47.tgz",
+ "integrity": "sha512-d505K3Hth1eg0b2swfEF7oFMw3J9M8ceFg0s6dhCSxOOF+07WDvJ0HKT/YbK/Jk9wn8Wyr6HIRAUPKJ9Wfv8Rg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.47.tgz",
+ "integrity": "sha512-TQMLYVIqQ0MqVS1Z7jsuv3HlEetLo/7EnDY9mGBZ4c4/WLD/mu+tFuLiK2/2QH5wgi5viRfJGs/+L5TaDzxWng==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-remap-async-to-generator": "7.0.0-beta.47",
+ "@babel/plugin-syntax-async-generators": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz",
+ "integrity": "sha512-6yuCiF+ZZHPLgAa+0a6/teNeAMsWqY6AVtZA4NhCWnwP4OH0JrRaY7rwvFCJSqNGurf8rF65W9IucM/l0+HOCg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-replace-supers": "7.0.0-beta.47",
+ "@babel/plugin-syntax-class-properties": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-proposal-decorators": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.0.0-beta.47.tgz",
+ "integrity": "sha512-sI+cO1okrlOyV4I63HDXf/SFsCr492HLjzNsMsd7Lk9WrViA+eQIboIiI9wHicozdgD1WrpZGJTjz7Z3xwl2Qw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/plugin-syntax-decorators": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz",
+ "integrity": "sha512-ujUjQUyTxUWHfixRD7Y5Nm8VCgHSf6YgbM37LEnojKp5lPahZO42qJfDty+Kh0tEanpI5H8BLPkJbFSzx6TNEw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.47.tgz",
+ "integrity": "sha512-XMZavW6uior8KD4BeMavxF3PGrwVpIFlZk/GJQGkd3lOeOHil8nhHDuTWvsbsJptKFWMPkhGR18boNdxgmxyFQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.47.tgz",
+ "integrity": "sha512-TCQqSmPrgVB0Txr6WzCpxJyLuVTb9KoT0+oECKELtF717bvHOI4woR7o8D8DFkXzVQeb7Kqfu5w05gsvPq591g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-regex": "7.0.0-beta.47",
+ "regexpu-core": "^4.1.4"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.47.tgz",
+ "integrity": "sha512-LCNGYTLpQAsvTmVmT/I2pz7dIh3Bu+9BLxqL7b3QfplsMQxNsoBBMend33Arb4EtPt5dX7KeeVof8tL0trDRRA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz",
+ "integrity": "sha512-vLoAuLSjHSenX3TQmri6ttQWZp3rEtGcRp4LgYEBQ012fN5h+KmcssvkCAqm6V6ozS5KzUWpBlZ6t7YhZG6oBw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-syntax-decorators": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.0.0-beta.47.tgz",
+ "integrity": "sha512-Lv10BM3C+0Ki53lI7T9xZsSsgzQqfoQZq4pZj0F6tkK54E5BBSFfUxGavRE43CFXHbK0Hd9uMqmpGWPGtCvgAw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz",
+ "integrity": "sha512-J2y7RAH2NwQ+ahJahj2eS1PqS2NWNWTDaEibqrE55VTJU7nPL8AhthRwIQfQkCH+8UIeL/T3Jh1iHIRkvJ6dXA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz",
+ "integrity": "sha512-5scuJzIYZY8M+A1ra8mcKANIwB5TtsRD6Aw94xZxfvnjhhVMFR5RYE9HshVlBrZVY+r3cJDNIQLJMC/fGJHImA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz",
+ "integrity": "sha512-UOGQCmzvNlZMQOuys7xPiTa2EjTT3xHuhUghcdJnYikqGV43obpIIaP+VDCWPvIT8g0QDIvmRWx5UefvkWXN+w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.47.tgz",
+ "integrity": "sha512-Dmq+REMR95Syg+VjV3bh63DD/tDxdraNQ4ErAOXFobfSCDbfov9YGkqSJ4K61LHTQwinQ0+dIUlgdFL2kbedIw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz",
+ "integrity": "sha512-xiU+7RJAsqx+iZqWSQQWBu9ZDTruWimkg4puDSdRVfEwgZQdOtiU2LuO0+xGFyitJPHkKuje0WvK1tFu1dmxCw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz",
+ "integrity": "sha512-/TXK3v6ipvmhMO81Y2Vjc7RYROkS2PcmRc+kvmU3CWA7r5I73KWg10UEW/fpWqCuoTCHHHXu1ZcZ5u+nduJeFw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-remap-async-to-generator": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.47.tgz",
+ "integrity": "sha512-8KPxKyE6kb9VRbHwQ8XKsg/IPlxHaOMRyg2WfyV5C4dCmXbRdHDJy4hZKB3o4rGxjggmC/Bx8Fh51/P7UNtTcA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz",
+ "integrity": "sha512-V/u3Zdy40KjVQeyYUaQnCGiHQbRNJoc6IEtNDERltuW9vYPHS1n6YGc+EHKi8JVYT4kE6UHOjD+BrbCCV4kjRw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz",
+ "integrity": "sha512-hzW/jL6TPBMHJXeXwzuxMN0PFAfjVD0UzATHrFSejY5A7SvhWWrv1cZ3K0/SzCXJ9LpMdxCNiREvVjeD/Tyx2g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "7.0.0-beta.47",
+ "@babel/helper-define-map": "7.0.0-beta.47",
+ "@babel/helper-function-name": "7.0.0-beta.47",
+ "@babel/helper-optimise-call-expression": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-replace-supers": "7.0.0-beta.47",
+ "@babel/helper-split-export-declaration": "7.0.0-beta.47",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz",
+ "integrity": "sha512-V78qyzmjj4aq/tjpkMFbV5gPtrx7xdclW1Rn6vV9hIwMSMbtstYEXF4msy614MofvYj6gYbPbNfyhXFIUvz/xw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz",
+ "integrity": "sha512-3AaXC9H7qPybJbSs/QMhhj9EZF9MYrb/HRytwki1tckaYifqCJquENIZxDAYmwsWIGIHiq34WqwPRMIsz/b5uQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.47.tgz",
+ "integrity": "sha512-ofB5GwipMoaOH3Qyr5g5FpXWePhIAaD4zMDOoAHDYBPuLWxzAME8YQCa0S3HJf3eTu/HTN/c/G1gDwDB8Z/gKQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-regex": "7.0.0-beta.47",
+ "regexpu-core": "^4.1.3"
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.47.tgz",
+ "integrity": "sha512-r3xNVYTLVasjqTowIr6s+27oc5n7A5TKbB0/4u9FHjF7ONTWaggO8UFbbj07DOJ4Ll2RkigrZA8/D+w2nJ+XlA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz",
+ "integrity": "sha512-vyGG3kLIXpMuaPL485aqowdWFrxCxXtbzMXy9p1QTK5Q/+9UHpK9XoAVJZGknnsm091m0Ss7spo8uHaxbzYVog==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz",
+ "integrity": "sha512-tfH5OMzV9fWLYJTzWDhoRJKr8kvBZWH26jiCgM0ayNq75ES/X947MqMNAgBjJdTAVEV2kOyks2ItgNAJT4rOUw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz",
+ "integrity": "sha512-/5I/f8NCouugsRT6ORB1UjCP3N+Rgv/OB6SzmaeIUEpYYPM6D7WQ+4BaRYXQn4eqtOJmTgxDXYa8FgYtoeqP9A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz",
+ "integrity": "sha512-PxBw+52qWypwR76YfS2FlW4wZfp61SjIyt3OSPZeWnf0zVQWNVrlRRunJ7lBYudDYvyMwStAE/VynZ0fHtPgng==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.47.tgz",
+ "integrity": "sha512-zW84YqQ5Kt8+t5pYrnFhjWQP2w2wq6Nxz9pozxpnvXP+lhqyJPqNdWM1lcVApORpWL1BF7BlgP08yk+5MVRfGA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz",
+ "integrity": "sha512-MYoLyexybBJ9ODWWMsMFzxAQey68RzhQNPjfNAYPhPPB3X160EZ5qOjWxRS2rYNvuYAxs6guy5OdrDpESqFSrQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-simple-access": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.47.tgz",
+ "integrity": "sha512-bMQy3/jEZRpoUg7RdOouphBO8+7Sfjl7XrO84PtgBx4ck+ZPc4xOlBQyr2rkmsJNmmGLi42nnMI1cZZJT3LVnQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.47.tgz",
+ "integrity": "sha512-rG7KioAFCLxZ33wNBqUoxPhtXOmVEvnZNIy9wv0fSbNIQr8lO1avZ7SeBL3OZduNvLocqrESt9Xhh1nzb/zOvA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.47.tgz",
+ "integrity": "sha512-2IRZtdoPXJn7KSwrmp0xtLTZ0PnhlQxhcTZ0XZ5wfFXmsZ9vi6AK4whIZ2IXI/c2qrYK9FEYLwR5QRfL5Qe6eQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.47.tgz",
+ "integrity": "sha512-JN6ox2rH1xe6hlsd6/7d2kPjZSA97wH4oOdNOSaNqaFGEFuaP/Je4+ojHMgyHKU2nx9QHNBCTxHEj+ko+Ij6HQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-replace-supers": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz",
+ "integrity": "sha512-UzQG8draO+30Y8eNEREuGBfmEHLL7WFxOjmTBbaTrbdOrm/znCUThqcuNz8cyn2nrZbln7M/loQ3stjf9Pt9fQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-call-delegate": "7.0.0-beta.47",
+ "@babel/helper-get-function-arity": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz",
+ "integrity": "sha512-JEPIiJyqYRfjOYUTZguLkb2HTwudReqLyOljpOXnJ/1ymwsiof4D6ul611DGlMxJMZJGQ6TBi59iY9GoJ6j4Iw==",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.12.3"
+ }
+ },
+ "@babel/plugin-transform-runtime": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.47.tgz",
+ "integrity": "sha512-RhnhjYsOxmKDGa1ePM5RQWFBYe1PnEZAhXTNEeIwtw1jluEoLL+PCTZDbt/aAcAkZvqwIWccjkNM/FwKTd5Sxw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz",
+ "integrity": "sha512-+o7/yb0Nrk4Gg/tnBgfBf+G1uGZbtkSluUnj8RyD37ajpDlWmysDjFEHSfktKcuD8YHeGz2M9AYNGcClk1fr/g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz",
+ "integrity": "sha512-LFAozFdfT4bE2AQw2BnjzLufTX4GBsTUHUGRhT8XNoDYuGnV+7k9Yj6JU3/7csJc9u6W91PArYgoO+D56CMw6Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz",
+ "integrity": "sha512-+Rc6NihGoXcwAqAxbiumvzOYxRR0aUg1ZExfyHnI5QnQf0sf4xAfgT/YpGvEgLd5Ci0rka+IWSj54PhzZkhuTg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-regex": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz",
+ "integrity": "sha512-ORfrfN/gQoRuI+xf+kOa2i/yvXfedFRgH+KtgoIrpUQom7OhexxzD280x80LMCIkdaVGzYhvlC3kdJkFMWAfUg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.47.tgz",
+ "integrity": "sha512-PhPy5NUY5MT++fEr7/sxN1/ERSM2siHSbGgdkbqgDlyvf1NlU1HeqyfomHJEFE1Y4PX0hj+XmtjSAali/6XqYA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz",
+ "integrity": "sha512-44nWn421tMVZ/A4+1uppzoAO7nrlwWzefMr9JUi5G+tXl0DLEtWy+F7L6zCVw19C4OAOA6WlolVro5CEs6g6AQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/helper-regex": "7.0.0-beta.47",
+ "regexpu-core": "^4.1.3"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.0.0-beta.47.tgz",
+ "integrity": "sha512-ZFUgKdQDqw2H5TCMaWq6iDDO9+16RZPdDfOuoPID8Agm8I2MBlrqTI1MKWwqgEHICdZIOXkVszAMuuDTBwdzHA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "7.0.0-beta.47",
+ "@babel/helper-plugin-utils": "7.0.0-beta.47",
+ "@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.47",
+ "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.47",
+ "@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.47",
+ "@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.47",
+ "@babel/plugin-syntax-async-generators": "7.0.0-beta.47",
+ "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.47",
+ "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.47",
+ "@babel/plugin-transform-arrow-functions": "7.0.0-beta.47",
+ "@babel/plugin-transform-async-to-generator": "7.0.0-beta.47",
+ "@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.47",
+ "@babel/plugin-transform-block-scoping": "7.0.0-beta.47",
+ "@babel/plugin-transform-classes": "7.0.0-beta.47",
+ "@babel/plugin-transform-computed-properties": "7.0.0-beta.47",
+ "@babel/plugin-transform-destructuring": "7.0.0-beta.47",
+ "@babel/plugin-transform-dotall-regex": "7.0.0-beta.47",
+ "@babel/plugin-transform-duplicate-keys": "7.0.0-beta.47",
+ "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.47",
+ "@babel/plugin-transform-for-of": "7.0.0-beta.47",
+ "@babel/plugin-transform-function-name": "7.0.0-beta.47",
+ "@babel/plugin-transform-literals": "7.0.0-beta.47",
+ "@babel/plugin-transform-modules-amd": "7.0.0-beta.47",
+ "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.47",
+ "@babel/plugin-transform-modules-systemjs": "7.0.0-beta.47",
+ "@babel/plugin-transform-modules-umd": "7.0.0-beta.47",
+ "@babel/plugin-transform-new-target": "7.0.0-beta.47",
+ "@babel/plugin-transform-object-super": "7.0.0-beta.47",
+ "@babel/plugin-transform-parameters": "7.0.0-beta.47",
+ "@babel/plugin-transform-regenerator": "7.0.0-beta.47",
+ "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.47",
+ "@babel/plugin-transform-spread": "7.0.0-beta.47",
+ "@babel/plugin-transform-sticky-regex": "7.0.0-beta.47",
+ "@babel/plugin-transform-template-literals": "7.0.0-beta.47",
+ "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.47",
+ "@babel/plugin-transform-unicode-regex": "7.0.0-beta.47",
+ "browserslist": "^3.0.0",
+ "invariant": "^2.2.2",
+ "semver": "^5.3.0"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.47.tgz",
+ "integrity": "sha512-3IaakAC5B4bHJ0aCUKVw0pt+GruavdgWDFbf7TfKh7ZJ8yQuUp7af7MNwf3e+jH8776cjqYmMO1JNDDAE9WfrA==",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.5.3",
+ "regenerator-runtime": "^0.11.1"
+ }
+ },
+ "@babel/template": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.47.tgz",
+ "integrity": "sha512-mAzrOCLwOb4jAobHi0kTwIkoamP1Do28c6zxvrDXjYSJFZHz6KGuzMaT0AV7ZCq7M3si7QypVVMVX2bE6IsuOg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47",
+ "babylon": "7.0.0-beta.47",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.47.tgz",
+ "integrity": "sha512-kYGGs//OnUnei+9TTldxlgf7llprj7VUeDKtG50+g+0k1g0yZyrkEgbyFheYFdnudR8IDEHOEXVsUuY82r5Aiw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.47",
+ "@babel/generator": "7.0.0-beta.47",
+ "@babel/helper-function-name": "7.0.0-beta.47",
+ "@babel/helper-split-export-declaration": "7.0.0-beta.47",
+ "@babel/types": "7.0.0-beta.47",
+ "babylon": "7.0.0-beta.47",
+ "debug": "^3.1.0",
+ "globals": "^11.1.0",
+ "invariant": "^2.2.0",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/types": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.47.tgz",
+ "integrity": "sha512-MOP5pOosg7JETrVGg8OQyzmUmbyoSopT5j2HlblHsto89mPz3cmxzn1IA4UNUmnWKgeticSwfhS+Gdy25IIlBQ==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.5",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@intervolga/optimize-cssnano-plugin": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz",
+ "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==",
+ "requires": {
+ "cssnano": "^4.0.0",
+ "cssnano-preset-default": "^4.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz",
+ "integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A=="
+ },
+ "@vue/babel-preset-app": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.0.1.tgz",
+ "integrity": "sha512-TYTNe+v7nuWoIQlIPjGQJxFztk2b7eWIrXOP6lzgRVVOJzRsUwVg9SWF444+0yBTDot8A3Ej3gPgeQCd/HdiHw==",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-proposal-class-properties": "7.0.0-beta.47",
+ "@babel/plugin-proposal-decorators": "7.0.0-beta.47",
+ "@babel/plugin-syntax-dynamic-import": "7.0.0-beta.47",
+ "@babel/plugin-syntax-jsx": "7.0.0-beta.47",
+ "@babel/plugin-transform-runtime": "7.0.0-beta.47",
+ "@babel/preset-env": "7.0.0-beta.47",
+ "@babel/runtime": "7.0.0-beta.47",
+ "babel-helper-vue-jsx-merge-props": "^2.0.3",
+ "babel-plugin-dynamic-import-node": "^2.0.0",
+ "babel-plugin-transform-vue-jsx": "^4.0.1"
+ }
+ },
+ "@vue/cli-overlay": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-3.0.1.tgz",
+ "integrity": "sha512-2ziQZ/mjFAf9IO+xdHRTjRzWCOiuojVAzp4TPqH34fTAsgf0qHTG9/wLVEKHVZ3Pcrl0nMIeYUseGKJEB9S9pw=="
+ },
+ "@vue/cli-plugin-babel": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.0.1.tgz",
+ "integrity": "sha512-b8qiyvs3Tx8RvPJ6Y4WqOPvDEw8JRzCUAQjF+Y1bH6yvcJ6JHEKq0JKkvvuBNWzD6Ba0y+SSiBjJofy1QITFYg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "7.0.0-beta.47",
+ "@vue/babel-preset-app": "^3.0.1",
+ "babel-loader": "^8.0.0-0"
+ }
+ },
+ "@vue/cli-plugin-e2e-nightwatch": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-e2e-nightwatch/-/cli-plugin-e2e-nightwatch-3.0.1.tgz",
+ "integrity": "sha512-WJUczK1BhkR90lgz9+spJohkR7GRPuFiOfdlX2/N07Lq+NK0HNEe9zoeTmHKtHVqz5TLkRigI/1GCBSD5rbebg==",
+ "dev": true,
+ "requires": {
+ "@vue/cli-shared-utils": "^3.0.1",
+ "chromedriver": "^2.40.0",
+ "deepmerge": "^2.1.1",
+ "execa": "^0.10.0",
+ "nightwatch": "^0.9.21",
+ "selenium-server": "^3.13.0"
+ }
+ },
+ "@vue/cli-plugin-eslint": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-3.0.1.tgz",
+ "integrity": "sha512-I1N8iHKI1wlU1769mS8X7CbWJi8G3aecmTrIgSn0Mco00ANxyU63aWFY08+NTMwwt/C4dZqpfoSu9H/piqHLBQ==",
+ "dev": true,
+ "requires": {
+ "@vue/cli-shared-utils": "^3.0.1",
+ "babel-eslint": "^8.2.5",
+ "eslint": "^4.19.1",
+ "eslint-loader": "^2.0.0",
+ "eslint-plugin-vue": "^4.5.0"
+ }
+ },
+ "@vue/cli-plugin-unit-mocha": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-mocha/-/cli-plugin-unit-mocha-3.0.1.tgz",
+ "integrity": "sha512-cCKknXOpBE+MNIAdkNAmD+F/TtVYuNcRIdwo+kZtTEl6lxDuDltCf4HdbBki63t1OvfKu90eZCeSEXPJISFUHA==",
+ "dev": true,
+ "requires": {
+ "@vue/cli-shared-utils": "^3.0.1",
+ "jsdom": "^11.11.0",
+ "jsdom-global": "^3.0.2",
+ "mocha": "^5.2.0",
+ "mocha-webpack": "^2.0.0-beta.0"
+ }
+ },
+ "@vue/cli-service": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-3.0.1.tgz",
+ "integrity": "sha512-eRwjGHolm6FcLNibcepKL+CvsqkU3Nv/9wOzOzJT4u+kw620IoP9FXev58h6FD4dAEtatoCiKqHLVqFoCYUUBw==",
+ "requires": {
+ "@intervolga/optimize-cssnano-plugin": "^1.0.5",
+ "@vue/cli-overlay": "^3.0.0",
+ "@vue/cli-shared-utils": "^3.0.1",
+ "@vue/preload-webpack-plugin": "^1.1.0",
+ "@vue/web-component-wrapper": "^1.2.0",
+ "acorn": "^5.7.1",
+ "address": "^1.0.3",
+ "autoprefixer": "^8.6.5",
+ "cache-loader": "^1.2.2",
+ "case-sensitive-paths-webpack-plugin": "^2.1.2",
+ "chalk": "^2.4.1",
+ "clipboardy": "^1.2.3",
+ "cliui": "^4.1.0",
+ "copy-webpack-plugin": "^4.5.2",
+ "css-loader": "^1.0.0",
+ "cssnano": "^4.0.0",
+ "debug": "^3.1.0",
+ "escape-string-regexp": "^1.0.5",
+ "file-loader": "^1.1.11",
+ "friendly-errors-webpack-plugin": "^1.7.0",
+ "fs-extra": "^6.0.1",
+ "globby": "^8.0.1",
+ "hash-sum": "^1.0.2",
+ "html-webpack-plugin": "^3.2.0",
+ "launch-editor-middleware": "^2.2.1",
+ "lodash.defaultsdeep": "^4.6.0",
+ "lodash.mapvalues": "^4.6.0",
+ "lodash.transform": "^4.6.0",
+ "mini-css-extract-plugin": "^0.4.1",
+ "minimist": "^1.2.0",
+ "ora": "^2.1.0",
+ "portfinder": "^1.0.13",
+ "postcss-loader": "^2.1.6",
+ "read-pkg": "^4.0.1",
+ "semver": "^5.5.0",
+ "slash": "^2.0.0",
+ "source-map-url": "^0.4.0",
+ "ssri": "^6.0.0",
+ "string.prototype.padend": "^3.0.0",
+ "thread-loader": "^1.1.5",
+ "uglifyjs-webpack-plugin": "^1.2.7",
+ "url-loader": "^1.1.0",
+ "vue-loader": "^15.3.0",
+ "webpack": "^4.15.1",
+ "webpack-bundle-analyzer": "^2.13.1",
+ "webpack-chain": "^4.8.0",
+ "webpack-dev-server": "^3.1.4",
+ "webpack-merge": "^4.1.3",
+ "yorkie": "^2.0.0"
+ },
+ "dependencies": {
+ "globby": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
+ "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
+ "requires": {
+ "array-union": "^1.0.1",
+ "dir-glob": "^2.0.0",
+ "fast-glob": "^2.0.2",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ },
+ "dependencies": {
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ }
+ }
+ },
+ "lodash.defaultsdeep": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz",
+ "integrity": "sha1-vsECT4WxvZbL6kBbI8FK1kQ6b4E="
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="
+ }
+ }
+ },
+ "@vue/cli-shared-utils": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.0.1.tgz",
+ "integrity": "sha512-bdFxerHn/Tz/yIsZH9d1QkegdJR2KzkVHcn1ejDM/QV1RM3OteFbDcTBEIaAOd3OcAtyikzkRrsr1o9iBsBqVg==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "execa": "^0.10.0",
+ "joi": "^13.0.0",
+ "launch-editor": "^2.2.1",
+ "node-ipc": "^9.1.1",
+ "opn": "^5.3.0",
+ "ora": "^2.1.0",
+ "request": "^2.87.0",
+ "request-promise-native": "^1.0.5",
+ "semver": "^5.5.0",
+ "string.prototype.padstart": "^3.0.0"
+ }
+ },
+ "@vue/component-compiler-utils": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-2.2.0.tgz",
+ "integrity": "sha512-pS4zlcdD7BvedyB+IfiTfrbi6C977UMIfulSk8r6uL0BU46ZE2+fUj/zbSNSfVxeaj9ElmnSni5OMwF9np+b+w==",
+ "requires": {
+ "consolidate": "^0.15.1",
+ "hash-sum": "^1.0.2",
+ "lru-cache": "^4.1.2",
+ "merge-source-map": "^1.1.0",
+ "postcss": "^6.0.20",
+ "postcss-selector-parser": "^3.1.1",
+ "prettier": "1.13.7",
+ "source-map": "^0.5.6",
+ "vue-template-es2015-compiler": "^1.6.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "@vue/preload-webpack-plugin": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.0.tgz",
+ "integrity": "sha512-rcn2KhSHESBFMPj5vc5X2pI9bcBNQQixvJXhD5gZ4rN2iym/uH2qfDSQfUS5+qwiz0a85TCkeUs6w6jxFDudbw=="
+ },
+ "@vue/test-utils": {
+ "version": "1.0.0-beta.24",
+ "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.24.tgz",
+ "integrity": "sha512-GJyoAbyo1rEyohUziouJqDL7Nu7stSl3ByyYXLTppbrwdKZ9fFZPLZwKxkxS/Ks4Fo9YG5lALLLttypz0SC7FA==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.4"
+ }
+ },
+ "@vue/web-component-wrapper": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz",
+ "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw=="
+ },
"@webassemblyjs/ast": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz",
"integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==",
- "dev": true,
"requires": {
"@webassemblyjs/helper-module-context": "1.5.13",
"@webassemblyjs/helper-wasm-bytecode": "1.5.13",
"@webassemblyjs/wast-parser": "1.5.13",
"debug": "^3.1.0",
"mamacro": "^0.0.3"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"@webassemblyjs/floating-point-hex-parser": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz",
- "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==",
- "dev": true
+ "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA=="
},
"@webassemblyjs/helper-api-error": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz",
- "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==",
- "dev": true
+ "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg=="
},
"@webassemblyjs/helper-buffer": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz",
"integrity": "sha512-v7igWf1mHcpJNbn4m7e77XOAWXCDT76Xe7Is1VQFXc4K5jRcFrl9D0NrqM4XifQ0bXiuTSkTKMYqDxu5MhNljA==",
- "dev": true,
"requires": {
"debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"@webassemblyjs/helper-code-frame": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz",
"integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==",
- "dev": true,
"requires": {
"@webassemblyjs/wast-printer": "1.5.13"
}
@@ -96,65 +1093,38 @@
"@webassemblyjs/helper-fsm": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz",
- "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==",
- "dev": true
+ "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg=="
},
"@webassemblyjs/helper-module-context": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz",
"integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==",
- "dev": true,
"requires": {
"debug": "^3.1.0",
"mamacro": "^0.0.3"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"@webassemblyjs/helper-wasm-bytecode": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz",
- "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==",
- "dev": true
+ "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw=="
},
"@webassemblyjs/helper-wasm-section": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz",
"integrity": "sha512-IJ/goicOZ5TT1axZFSnlAtz4m8KEjYr12BNOANAwGFPKXM4byEDaMNXYowHMG0yKV9a397eU/NlibFaLwr1fbw==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/helper-buffer": "1.5.13",
"@webassemblyjs/helper-wasm-bytecode": "1.5.13",
"@webassemblyjs/wasm-gen": "1.5.13",
"debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"@webassemblyjs/ieee754": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz",
"integrity": "sha512-TseswvXEPpG5TCBKoLx9tT7+/GMACjC1ruo09j46ULRZWYm8XHpDWaosOjTnI7kr4SRJFzA6MWoUkAB+YCGKKg==",
- "dev": true,
"requires": {
"ieee754": "^1.1.11"
}
@@ -163,7 +1133,6 @@
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz",
"integrity": "sha512-0NRMxrL+GG3eISGZBmLBLAVjphbN8Si15s7jzThaw1UE9e5BY1oH49/+MA1xBzxpf1OW5sf9OrPDOclk9wj2yg==",
- "dev": true,
"requires": {
"long": "4.0.0"
},
@@ -171,22 +1140,19 @@
"long": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
- "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
- "dev": true
+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
}
}
},
"@webassemblyjs/utf8": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz",
- "integrity": "sha512-Ve1ilU2N48Ew0lVGB8FqY7V7hXjaC4+PeZM+vDYxEd+R2iQ0q+Wb3Rw8v0Ri0+rxhoz6gVGsnQNb4FjRiEH/Ng==",
- "dev": true
+ "integrity": "sha512-Ve1ilU2N48Ew0lVGB8FqY7V7hXjaC4+PeZM+vDYxEd+R2iQ0q+Wb3Rw8v0Ri0+rxhoz6gVGsnQNb4FjRiEH/Ng=="
},
"@webassemblyjs/wasm-edit": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz",
"integrity": "sha512-X7ZNW4+Hga4f2NmqENnHke2V/mGYK/xnybJSIXImt1ulxbCOEs/A+ZK/Km2jgihjyVxp/0z0hwIcxC6PrkWtgw==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/helper-buffer": "1.5.13",
@@ -197,24 +1163,12 @@
"@webassemblyjs/wasm-parser": "1.5.13",
"@webassemblyjs/wast-printer": "1.5.13",
"debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"@webassemblyjs/wasm-gen": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz",
"integrity": "sha512-yfv94Se8R73zmr8GAYzezFHc3lDwE/lBXQddSiIZEKZFuqy7yWtm3KMwA1uGbv5G1WphimJxboXHR80IgX1hQA==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/helper-wasm-bytecode": "1.5.13",
@@ -227,31 +1181,18 @@
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz",
"integrity": "sha512-IkXSkgzVhQ0QYAdIayuCWMmXSYx0dHGU8Ah/AxJf1gBvstMWVnzJnBwLsXLyD87VSBIcsqkmZ28dVb0mOC3oBg==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/helper-buffer": "1.5.13",
"@webassemblyjs/wasm-gen": "1.5.13",
"@webassemblyjs/wasm-parser": "1.5.13",
"debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"@webassemblyjs/wasm-parser": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz",
"integrity": "sha512-XnYoIcu2iqq8/LrtmdnN3T+bRjqYFjRHqWbqK3osD/0r/Fcv4d9ecRzjVtC29ENEuNTK4mQ9yyxCBCbK8S/cpg==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/helper-api-error": "1.5.13",
@@ -265,7 +1206,6 @@
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz",
"integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/floating-point-hex-parser": "1.5.13",
@@ -280,106 +1220,156 @@
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz",
"integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/wast-parser": "1.5.13",
"long": "^3.2.0"
}
},
- "JSV": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
- "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=",
- "dev": true
+ "@webpack-contrib/schema-utils": {
+ "version": "1.0.0-beta.0",
+ "resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz",
+ "integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0",
+ "chalk": "^2.3.2",
+ "strip-ansi": "^4.0.0",
+ "text-table": "^0.2.0",
+ "webpack-log": "^1.1.2"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz",
+ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==",
+ "requires": {
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
+ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo="
+ },
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ }
+ }
},
- "abbrev": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
- "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "abab": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz",
+ "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==",
"dev": true
},
"accepts": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
- "dev": true,
"requires": {
"mime-types": "~2.1.18",
"negotiator": "0.6.1"
- },
- "dependencies": {
- "mime-db": {
- "version": "1.35.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
- "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.19",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
- "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
- "dev": true,
- "requires": {
- "mime-db": "~1.35.0"
- }
- }
}
},
"acorn": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
- "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
- "dev": true
+ "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ=="
},
"acorn-dynamic-import": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
"integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
+ "requires": {
+ "acorn": "^5.0.0"
+ }
+ },
+ "acorn-globals": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz",
+ "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==",
"dev": true,
"requires": {
"acorn": "^5.0.0"
}
},
- "after": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
- "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
- "dev": true
+ "acorn-jsx": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
+ "dev": true,
+ "requires": {
+ "acorn": "^3.0.4"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
+ "dev": true
+ }
+ }
},
- "ajv": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz",
- "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=",
+ "address": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz",
+ "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg=="
+ },
+ "agent-base": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
"dev": true,
"requires": {
+ "extend": "~3.0.0",
+ "semver": "~5.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+ "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
+ "dev": true
+ }
+ }
+ },
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "requires": {
"co": "^4.6.0",
"fast-deep-equal": "^1.0.0",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.3.0"
}
},
+ "ajv-errors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz",
+ "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk="
+ },
"ajv-keywords": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
- "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
+ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
"dev": true
},
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "optional": true,
- "requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
},
"ansi-escapes": {
"version": "3.1.0",
@@ -387,96 +1377,404 @@
"integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
"dev": true
},
+ "ansi-html": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
+ },
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
"ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
},
"anymatch": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "dev": true,
"requires": {
"micromatch": "^3.1.4",
"normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ }
}
},
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ },
+ "arch": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
+ "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg=="
},
"argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
- "dev": true,
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"requires": {
"sprintf-js": "~1.0.2"
}
},
"arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.0.1"
+ }
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
"dev": true
},
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+ },
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
},
- "array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
- "dev": true
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ },
+ "array-includes": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
+ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.7.0"
+ }
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "requires": {
+ "array-uniq": "^1.0.1"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
},
"array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
- "arraybuffer.slice": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
- "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
- "dev": true
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
},
"asn1": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
- "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
- "dev": true
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
},
"asn1.js": {
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true,
"requires": {
"bn.js": "^4.0.0",
"inherits": "^2.0.1",
@@ -487,7 +1785,6 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
"integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
- "dev": true,
"requires": {
"util": "0.10.3"
},
@@ -495,24 +1792,38 @@
"inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
- "dev": true
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
},
"util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "dev": true,
"requires": {
"inherits": "2.0.1"
}
}
}
},
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ },
+ "assertion-error": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
+ "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
+ "dev": true
+ },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+ },
+ "ast-types": {
+ "version": "0.11.5",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz",
+ "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==",
"dev": true
},
"async": {
@@ -523,124 +1834,303 @@
"async-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
- "dev": true
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
},
"async-limiter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
- "dev": true
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"atob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
- "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
- "dev": true
+ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio="
},
- "autosize": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/autosize/-/autosize-4.0.2.tgz",
- "integrity": "sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA=="
+ "autoprefixer": {
+ "version": "8.6.5",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz",
+ "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==",
+ "requires": {
+ "browserslist": "^3.2.8",
+ "caniuse-lite": "^1.0.30000864",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^6.0.23",
+ "postcss-value-parser": "^3.2.3"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
- "dev": true
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
},
- "babel-runtime": {
+ "babel-code-frame": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "requires": {
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ }
+ }
+ },
+ "babel-eslint": {
+ "version": "8.2.6",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz",
+ "integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==",
"dev": true,
"requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
+ "@babel/code-frame": "7.0.0-beta.44",
+ "@babel/traverse": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44",
+ "babylon": "7.0.0-beta.44",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "^1.0.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz",
+ "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "7.0.0-beta.44"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz",
+ "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.44",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.2.0",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz",
+ "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "7.0.0-beta.44",
+ "@babel/template": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz",
+ "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.44"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz",
+ "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.44"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz",
+ "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz",
+ "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44",
+ "babylon": "7.0.0-beta.44",
+ "lodash": "^4.2.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz",
+ "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.44",
+ "@babel/generator": "7.0.0-beta.44",
+ "@babel/helper-function-name": "7.0.0-beta.44",
+ "@babel/helper-split-export-declaration": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44",
+ "babylon": "7.0.0-beta.44",
+ "debug": "^3.1.0",
+ "globals": "^11.1.0",
+ "invariant": "^2.2.0",
+ "lodash": "^4.2.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz",
+ "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.2.0",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "babylon": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
+ "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==",
+ "dev": true
+ }
}
},
- "babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "babel-helper-vue-jsx-merge-props": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
+ "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==",
"dev": true
},
- "backbone": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.3.3.tgz",
- "integrity": "sha1-TMgOp8sWMaxHSInOQPL4vGg7KZk=",
+ "babel-loader": {
+ "version": "8.0.0-beta.4",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.0-beta.4.tgz",
+ "integrity": "sha512-fQMCj8jRpF/2CPuVnpFrOb8+8pRuquKqoC+tspy5RWBmL37/2qc104sLLLqpwWltrFzpYb30utPpKc3H6P3ETQ==",
+ "dev": true,
"requires": {
- "underscore": ">=1.8.3"
+ "find-cache-dir": "^1.0.0",
+ "loader-utils": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "util.promisify": "^1.0.0"
}
},
- "backbone.babysitter": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/backbone.babysitter/-/backbone.babysitter-0.1.12.tgz",
- "integrity": "sha1-fKlGQ07u+94aVTYFx0twSbbfr8E=",
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.0.0.tgz",
+ "integrity": "sha512-meifxRxzzoT4j2+mYFYnlOZRuZOQVHis9DFv1GpYkufLMHL0W2n3z/Re7bjNN9rftcWonvGWgInRDsHiayqFXg==",
+ "dev": true,
"requires": {
- "backbone": ">=0.9.9 <=1.3.x",
- "underscore": ">=1.4.0 <=1.8.3"
- },
- "dependencies": {
- "underscore": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
- "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
- }
+ "babel-plugin-syntax-dynamic-import": "^6.18.0",
+ "object.assign": "^4.1.0"
}
},
- "backbone.marionette": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/backbone.marionette/-/backbone.marionette-3.5.1.tgz",
- "integrity": "sha1-yyLKaM+YbLzan9tUT7eF3Wb48kg=",
+ "babel-plugin-syntax-dynamic-import": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
+ "dev": true
+ },
+ "babel-plugin-transform-vue-jsx": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-4.0.1.tgz",
+ "integrity": "sha512-wbOz7ITB5cloLSjKUU1hWn8zhR+Dwah/RZiTiJY/CQliCwhowmzu6m7NEF+y5EJX/blDzGjRtZvC10Vdb3Q7vw==",
+ "dev": true,
"requires": {
- "backbone.radio": "^2.0.0"
+ "esutils": "^2.0.2"
}
},
- "backbone.radio": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/backbone.radio/-/backbone.radio-2.0.0.tgz",
- "integrity": "sha1-u+hnKzc+MT+Z820vvPWD/nfQT0I="
- },
- "backbone.wreqr": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/backbone.wreqr/-/backbone.wreqr-1.4.0.tgz",
- "integrity": "sha1-doIDDJqvCQ7Nhzsh2/SFAWk7JpY=",
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
"requires": {
- "backbone": ">=0.9.9 <=1.3.x",
- "underscore": ">=1.3.3 <=1.8.3"
- },
- "dependencies": {
- "underscore": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
- "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
- }
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
}
},
- "backo2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
- "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
+ "babylon": {
+ "version": "7.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz",
+ "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==",
"dev": true
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
@@ -655,7 +2145,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -664,7 +2153,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -673,7 +2161,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -682,7 +2169,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -692,162 +2178,201 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
},
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
}
}
},
- "base64-arraybuffer": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
- "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
- "dev": true
- },
"base64-js": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
- "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
- "dev": true
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
},
- "base64id": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
- "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
- "dev": true
+ "batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY="
},
"bcrypt-pbkdf": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
- "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
- "dev": true,
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
}
},
- "better-assert": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
- "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
- "dev": true,
+ "bfj-node4": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz",
+ "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==",
"requires": {
- "callsite": "1.0.0"
+ "bluebird": "^3.5.1",
+ "check-types": "^7.3.0",
+ "tryer": "^1.0.0"
}
},
"big.js": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz",
- "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg="
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
},
"binary-extensions": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz",
- "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=",
- "dev": true
- },
- "blob": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
- "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
- "dev": true
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
+ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU="
},
"bluebird": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
- "dev": true
+ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
},
"bn.js": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
- "dev": true
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
},
"body-parser": {
- "version": "1.18.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
- "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
- "dev": true,
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
"requires": {
"bytes": "3.0.0",
"content-type": "~1.0.4",
"debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "~1.6.3",
- "iconv-lite": "0.4.23",
+ "depd": "~1.1.1",
+ "http-errors": "~1.6.2",
+ "iconv-lite": "0.4.19",
"on-finished": "~2.3.0",
- "qs": "6.5.2",
- "raw-body": "2.3.3",
- "type-is": "~1.6.16"
+ "qs": "6.5.1",
+ "raw-body": "2.3.2",
+ "type-is": "~1.6.15"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "dev": true,
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
+ },
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
+ },
+ "raw-body": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
"requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "bytes": "3.0.0",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": ">= 1.3.1 < 2"
+ }
+ }
}
+ },
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
+ }
+ }
+ },
+ "bonjour": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
+ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+ "requires": {
+ "array-flatten": "^2.1.0",
+ "deep-equal": "^1.0.1",
+ "dns-equal": "^1.0.0",
+ "dns-txt": "^2.0.2",
+ "multicast-dns": "^6.0.1",
+ "multicast-dns-service-types": "^1.1.0"
+ },
+ "dependencies": {
+ "array-flatten": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz",
+ "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY="
}
}
},
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
+ },
"brace-expansion": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
- "dev": true,
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
"dev": true,
"requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "expand-range": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
}
},
"brorand": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+ },
+ "browser-process-hrtime": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz",
+ "integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=",
+ "dev": true
+ },
+ "browser-stdout": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
+ "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
"dev": true
},
"browserify-aes": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
"requires": {
"buffer-xor": "^1.0.3",
"cipher-base": "^1.0.0",
@@ -861,7 +2386,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
"requires": {
"browserify-aes": "^1.0.4",
"browserify-des": "^1.0.0",
@@ -872,27 +2396,17 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
"integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
"requires": {
"cipher-base": "^1.0.1",
"des.js": "^1.0.0",
"inherits": "^2.0.1",
"safe-buffer": "^5.1.2"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- }
}
},
"browserify-rsa": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "dev": true,
"requires": {
"bn.js": "^4.1.0",
"randombytes": "^2.0.1"
@@ -902,7 +2416,6 @@
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "dev": true,
"requires": {
"bn.js": "^4.1.1",
"browserify-rsa": "^4.0.0",
@@ -917,81 +2430,63 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "dev": true,
"requires": {
"pako": "~1.0.5"
}
},
+ "browserslist": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz",
+ "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
+ "requires": {
+ "caniuse-lite": "^1.0.30000844",
+ "electron-to-chromium": "^1.3.47"
+ }
+ },
"buffer": {
"version": "4.9.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
- "dev": true,
"requires": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4",
"isarray": "^1.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- }
}
},
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
- "dev": true,
- "requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
- }
- },
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
- "dev": true
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
- "dev": true
+ "buffer-indexof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
+ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g=="
},
"buffer-xor": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
- "dev": true
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
},
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
- "dev": true
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
},
"builtin-status-codes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
- "dev": true
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
},
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
- "dev": true
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
"cacache": {
"version": "10.0.4",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
"integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
- "dev": true,
"requires": {
"bluebird": "^3.5.1",
"chownr": "^1.0.1",
@@ -1008,28 +2503,27 @@
"y18n": "^4.0.0"
},
"dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
}
},
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
+ "ssri": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
+ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
"requires": {
- "glob": "^7.0.5"
+ "safe-buffer": "^5.1.1"
}
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
}
}
},
@@ -1037,7 +2531,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
@@ -1053,28 +2546,59 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
- "callsite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
- "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+ "cache-loader": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-1.2.2.tgz",
+ "integrity": "sha512-rsGh4SIYyB9glU+d0OcHwiXHXBoUgDhHZaQ1KAbiXqfz1CDPxtTboh1gPbJ0q2qdO8a9lfcjgC5CJ2Ms32y5bw==",
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "mkdirp": "^0.5.1",
+ "neo-async": "^2.5.0",
+ "schema-utils": "^0.4.2"
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
+ },
+ "caller-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+ "dev": true,
+ "requires": {
+ "callsites": "^0.2.0"
+ }
+ },
+ "callsites": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
"dev": true
},
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
"camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "optional": true
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
},
"camelcase-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true,
"requires": {
"camelcase": "^2.0.0",
"map-obj": "^1.0.0"
@@ -1083,45 +2607,126 @@
"camelcase": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
+ }
+ }
+ },
+ "caniuse-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.0.2.tgz",
+ "integrity": "sha512-lpujC4zv1trcKUUwfD4pFVNga4YSpB3sLB+/I+A8gvGQxno1c0dMB2aCQy0FE5oUNIDjD9puFiFF0zeS6Ji48w==",
+ "requires": {
+ "caniuse-lite": "^1.0.30000876",
+ "electron-to-chromium": "^1.3.57",
+ "node-releases": "^1.0.0-alpha.11"
+ }
+ }
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000877",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000877.tgz",
+ "integrity": "sha512-h04kV/lcuhItU1CZTJOxUEk/9R+1XeJqgc67E+XC8J9TjPM8kzVgOn27ZtRdDUo8O5F8U4QRCzDWJrVym3w3Cg=="
+ },
+ "case-sensitive-paths-webpack-plugin": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz",
+ "integrity": "sha512-oEZgAFfEvKtjSRCu6VgYkuGxwrWXMnQzyBmlLPP7r6PWQVtHxP5Z5N6XsuJvtoVax78am/r7lr46bwo3IVEBOg=="
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "chai": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz",
+ "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=",
+ "dev": true,
+ "requires": {
+ "assertion-error": "^1.0.1",
+ "check-error": "^1.0.1",
+ "deep-eql": "^3.0.0",
+ "get-func-name": "^2.0.0",
+ "pathval": "^1.0.0",
+ "type-detect": "^4.0.0"
+ },
+ "dependencies": {
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "dev": true
+ },
+ "deep-eql": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
+ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "dev": true,
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true
}
}
},
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "optional": true,
+ "chai-nightwatch": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
+ "integrity": "sha1-HKVt52jTwIaP5/wvTTLC/olOa+k=",
+ "dev": true,
"requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
+ "assertion-error": "1.0.0",
+ "deep-eql": "0.1.3"
}
},
"chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
},
"chardet": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz",
- "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+ "dev": true
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
"dev": true
},
+ "check-types": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz",
+ "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg=="
+ },
"chokidar": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
"integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
- "dev": true,
"requires": {
"anymatch": "^2.0.0",
"async-each": "^1.0.0",
@@ -1136,44 +2741,146 @@
"path-is-absolute": "^1.0.0",
"readdirp": "^2.0.0",
"upath": "^1.0.5"
+ },
+ "dependencies": {
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ }
}
},
"chownr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
- "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
- "dev": true
+ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
},
"chrome-trace-event": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
"integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
- "dev": true,
"requires": {
"tslib": "^1.9.0"
}
},
+ "chromedriver": {
+ "version": "2.41.0",
+ "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.41.0.tgz",
+ "integrity": "sha512-6O9HxvrSuHqmRlIgMzi0/05GsDNHqs8kaF5gNTIyaZNwRzb/RBUWH1xNNXKNxyhXSnGSalH8hWsKP5mc/npSQQ==",
+ "dev": true,
+ "requires": {
+ "del": "^3.0.0",
+ "extract-zip": "^1.6.7",
+ "kew": "^0.7.0",
+ "mkdirp": "^0.5.1",
+ "request": "^2.87.0"
+ }
+ },
+ "ci-info": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.3.1.tgz",
+ "integrity": "sha512-l4wK/SFEN8VVTQ9RO1I5yzIL2vw1w6My29qA6Gwaec80QeHxfXbruuUWqn1knyMoJn/X5kav3zVY1TlRHSKeIA=="
+ },
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
"requires": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
}
},
"circular-json": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz",
- "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
"dev": true
},
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
@@ -1185,7 +2892,6 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -1193,62 +2899,30 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
- "cli": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
- "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
- "dev": true,
+ "clean-css": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz",
+ "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
"requires": {
- "exit": "0.1.2",
- "glob": "^7.1.1"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
+ "source-map": "0.5.x"
}
},
"cli-cursor": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true,
"requires": {
"restore-cursor": "^2.0.0"
}
},
- "cli-table": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
- "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
- "dev": true,
- "requires": {
- "colors": "1.0.3"
- },
- "dependencies": {
- "colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
- "dev": true
- }
- }
+ "cli-spinners": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
+ "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg=="
},
"cli-width": {
"version": "2.2.0",
@@ -1256,258 +2930,259 @@
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "optional": true,
+ "clipboardy": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz",
+ "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==",
"requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
+ "arch": "^2.1.0",
+ "execa": "^0.8.0"
},
"dependencies": {
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "optional": true
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz",
+ "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
}
}
},
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+ },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ },
+ "coa": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.1.tgz",
+ "integrity": "sha512-5wfTTO8E2/ja4jFSxePXlG5nRu5bBtL/r1HCIpJW/lzT6yDtKl0u0Z4o/Vpz32IpKmBn7HerheEZQgA9N2DarQ==",
+ "requires": {
+ "q": "^1.1.2"
+ }
},
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
- },
- "coffeescript": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
- "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",
- "dev": true
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
}
},
+ "color": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
+ "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
+ "requires": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.2"
+ }
+ },
"color-convert": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
- "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
- "dev": true,
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
+ "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
"requires": {
- "color-name": "^1.1.1"
+ "color-name": "1.1.1"
}
},
"color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok="
+ },
+ "color-string": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+ "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+ "requires": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
},
"colors": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
- "dev": true
- },
- "combine-lists": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
- "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
- "dev": true,
- "requires": {
- "lodash": "^4.5.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
},
"combined-stream": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
- "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
- "dev": true,
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"requires": {
"delayed-stream": "~1.0.0"
}
},
- "comment-parser": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.2.tgz",
- "integrity": "sha1-PAPwd2uGo239mgosl8YwfzMggv4=",
+ "commander": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
"dev": true,
"requires": {
- "readable-stream": "^2.0.4"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "graceful-readlink": ">= 1.0.0"
}
},
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
- "component-bind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
- "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
- "dev": true
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
},
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
},
- "component-inherit": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
- "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
- "dev": true
+ "compressible": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz",
+ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=",
+ "requires": {
+ "mime-db": ">= 1.34.0 < 2"
+ }
+ },
+ "compression": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
+ "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
+ "requires": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.14",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.1",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"concat-stream": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
- "dev": true,
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"requires": {
+ "buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
- "connect": {
- "version": "3.6.6",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
- "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.0",
- "parseurl": "~1.3.2",
- "utils-merge": "1.0.1"
- }
+ "connect-history-api-fallback": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+ "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo="
},
"console-browserify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
- "dev": true,
"requires": {
"date-now": "^0.1.4"
}
},
+ "consolidate": {
+ "version": "0.15.1",
+ "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
+ "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
+ "requires": {
+ "bluebird": "^3.1.1"
+ }
+ },
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
- "dev": true
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+ },
+ "content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
+ "convert-source-map": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
"dev": true
},
"cookie": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
- "dev": true
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"copy-concurrently": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
"integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
- "dev": true,
"requires": {
"aproba": "^1.1.1",
"fs-write-stream-atomic": "^1.0.8",
@@ -1515,29 +3190,60 @@
"mkdirp": "^0.5.1",
"rimraf": "^2.5.4",
"run-queue": "^1.0.0"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+ },
+ "copy-webpack-plugin": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz",
+ "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==",
+ "requires": {
+ "cacache": "^10.0.4",
+ "find-cache-dir": "^1.0.0",
+ "globby": "^7.1.1",
+ "is-glob": "^4.0.0",
+ "loader-utils": "^1.1.0",
+ "minimatch": "^3.0.4",
+ "p-limit": "^1.0.0",
+ "serialize-javascript": "^1.4.0"
},
"dependencies": {
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
+ "globby": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
"requires": {
- "glob": "^7.0.5"
+ "array-union": "^1.0.1",
+ "dir-glob": "^2.0.0",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "requires": {
+ "is-extglob": "^2.1.1"
}
}
}
},
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true
- },
"core-js": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz",
- "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=",
+ "version": "2.5.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
+ "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",
"dev": true
},
"core-util-is": {
@@ -1545,43 +3251,20 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
- "coveralls": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz",
- "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==",
- "dev": true,
+ "cosmiconfig": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz",
+ "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==",
"requires": {
- "growl": "~> 1.10.0",
- "js-yaml": "^3.11.0",
- "lcov-parse": "^0.0.10",
- "log-driver": "^1.2.7",
- "minimist": "^1.2.0",
- "request": "^2.85.0"
- },
- "dependencies": {
- "esprima": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- }
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.9.0",
+ "parse-json": "^4.0.0"
}
},
"create-ecdh": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
"integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
- "dev": true,
"requires": {
"bn.js": "^4.1.0",
"elliptic": "^6.0.0"
@@ -1591,7 +3274,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
"requires": {
"cipher-base": "^1.0.1",
"inherits": "^2.0.1",
@@ -1604,7 +3286,6 @@
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
"requires": {
"cipher-base": "^1.0.3",
"create-hash": "^1.1.0",
@@ -1618,28 +3299,18 @@
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
- },
- "dependencies": {
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true
- }
}
},
"crypto-browserify": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
"requires": {
"browserify-cipher": "^1.0.0",
"browserify-sign": "^4.0.0",
@@ -1654,93 +3325,383 @@
"randomfill": "^1.0.3"
}
},
- "cst": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/cst/-/cst-0.4.10.tgz",
- "integrity": "sha512-U5ETe1IOjq2h56ZcBE3oe9rT7XryCH6IKgPMv0L7sSk6w29yR3p5egCK0T3BDNHHV95OoUBgXsqiVG+3a900Ag==",
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
+ },
+ "css-declaration-sorter": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-3.0.1.tgz",
+ "integrity": "sha512-jH4024SHZ3e0M7ann9VxpFpH3moplRXNz9ZBqvFMZqi09Yo5ARbs2wdPH8GqN9iRTlQynrbGbraNbBxBLei85Q==",
+ "requires": {
+ "postcss": "^6.0.0",
+ "timsort": "^0.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "css-loader": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz",
+ "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==",
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "css-selector-tokenizer": "^0.7.0",
+ "icss-utils": "^2.1.0",
+ "loader-utils": "^1.0.2",
+ "lodash.camelcase": "^4.3.0",
+ "postcss": "^6.0.23",
+ "postcss-modules-extract-imports": "^1.2.0",
+ "postcss-modules-local-by-default": "^1.2.0",
+ "postcss-modules-scope": "^1.1.0",
+ "postcss-modules-values": "^1.3.0",
+ "postcss-value-parser": "^3.3.0",
+ "source-list-map": "^2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "css-select": {
+ "version": "1.3.0-rc0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.3.0-rc0.tgz",
+ "integrity": "sha1-b5MZaqrnN2ZuoQNqjLFKj8t6kjE=",
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "2.1",
+ "domutils": "1.5.1",
+ "nth-check": "^1.0.1"
+ }
+ },
+ "css-select-base-adapter": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz",
+ "integrity": "sha1-AQKz0UYw34bD65+p9UVicBBs+ZA="
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz",
+ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+ "requires": {
+ "cssesc": "^0.1.0",
+ "fastparse": "^1.1.1",
+ "regexpu-core": "^1.0.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+ },
+ "regexpu-core": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+ "requires": {
+ "regenerate": "^1.2.1",
+ "regjsgen": "^0.2.0",
+ "regjsparser": "^0.1.4"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "requires": {
+ "jsesc": "~0.5.0"
+ }
+ }
+ }
+ },
+ "css-tree": {
+ "version": "1.0.0-alpha25",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha25.tgz",
+ "integrity": "sha512-XC6xLW/JqIGirnZuUWHXCHRaAjje2b3OIB0Vj5RIJo6mIi/AdJo30quQl5LxUl0gkXDIrTrFGbMlcZjyFplz1A==",
+ "requires": {
+ "mdn-data": "^1.0.0",
+ "source-map": "^0.5.3"
+ }
+ },
+ "css-unit-converter": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
+ "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY="
+ },
+ "css-url-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz",
+ "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w="
+ },
+ "css-what": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+ "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0="
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q="
+ },
+ "cssnano": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.0.5.tgz",
+ "integrity": "sha512-P2O0sz/YAAzqZVsSWOrbliPCr0c6abwVNQmFZ48AgejN/GbzwEf6IVFGQAj0UKHC+crv60wUAPQocAnDmeWlkg==",
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "cssnano-preset-default": "^4.0.0",
+ "is-resolvable": "^1.0.0",
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "cssnano-preset-default": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.0.tgz",
+ "integrity": "sha1-wzQoe099SfstFwqS+SFGVXiOO2s=",
+ "requires": {
+ "css-declaration-sorter": "^3.0.0",
+ "cssnano-util-raw-cache": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-calc": "^6.0.0",
+ "postcss-colormin": "^4.0.0",
+ "postcss-convert-values": "^4.0.0",
+ "postcss-discard-comments": "^4.0.0",
+ "postcss-discard-duplicates": "^4.0.0",
+ "postcss-discard-empty": "^4.0.0",
+ "postcss-discard-overridden": "^4.0.0",
+ "postcss-merge-longhand": "^4.0.0",
+ "postcss-merge-rules": "^4.0.0",
+ "postcss-minify-font-values": "^4.0.0",
+ "postcss-minify-gradients": "^4.0.0",
+ "postcss-minify-params": "^4.0.0",
+ "postcss-minify-selectors": "^4.0.0",
+ "postcss-normalize-charset": "^4.0.0",
+ "postcss-normalize-display-values": "^4.0.0",
+ "postcss-normalize-positions": "^4.0.0",
+ "postcss-normalize-repeat-style": "^4.0.0",
+ "postcss-normalize-string": "^4.0.0",
+ "postcss-normalize-timing-functions": "^4.0.0",
+ "postcss-normalize-unicode": "^4.0.0",
+ "postcss-normalize-url": "^4.0.0",
+ "postcss-normalize-whitespace": "^4.0.0",
+ "postcss-ordered-values": "^4.0.0",
+ "postcss-reduce-initial": "^4.0.0",
+ "postcss-reduce-transforms": "^4.0.0",
+ "postcss-svgo": "^4.0.0",
+ "postcss-unique-selectors": "^4.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "cssnano-util-get-arguments": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
+ "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8="
+ },
+ "cssnano-util-get-match": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
+ "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0="
+ },
+ "cssnano-util-raw-cache": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.0.tgz",
+ "integrity": "sha1-vgooVuJfGF9feivMBiTii38Xmp8=",
+ "requires": {
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "cssnano-util-same-parent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.0.tgz",
+ "integrity": "sha1-0qPeEDmqmLxOwlAB+gUDMMKhbaw="
+ },
+ "csso": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
+ "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
+ "requires": {
+ "css-tree": "1.0.0-alpha.29"
+ },
+ "dependencies": {
+ "css-tree": {
+ "version": "1.0.0-alpha.29",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
+ "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
+ "requires": {
+ "mdn-data": "~1.1.0",
+ "source-map": "^0.5.3"
+ }
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz",
+ "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.0.0.tgz",
+ "integrity": "sha512-Bpuh47j2mRMY60X90mXaJAEtJwxvA2roZzbgwAXYhMbmwmakdRr4Cq9L5SkleKJNLOKqHIa2YWyOXDX3VgggSQ==",
"dev": true,
"requires": {
- "babel-runtime": "^6.9.2",
- "babylon": "^6.8.1",
- "source-map-support": "^0.4.0"
+ "cssom": "0.3.x"
}
},
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
"requires": {
"array-find-index": "^1.0.1"
}
},
- "custom-event": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
- "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
- "dev": true
- },
- "cycle": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
- "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
- "dev": true
- },
"cyclist": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
- "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
- "dev": true
+ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA="
+ },
+ "d": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "requires": {
+ "es5-ext": "^0.10.9"
+ }
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
+ }
+ },
+ "data-uri-to-buffer": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
+ "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==",
+ "dev": true
+ },
+ "data-urls": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.0.tgz",
+ "integrity": "sha512-ai40PPQR0Fn1lD2PPie79CibnlMN2AYiDhwFX/rZHVsxbs5kNJSjegqXIprhouGXlRdEnfybva7kqRGnB6mypA==",
+ "dev": true,
+ "requires": {
+ "abab": "^1.0.4",
+ "whatwg-mimetype": "^2.0.0",
+ "whatwg-url": "^6.4.0"
},
"dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "abab": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz",
+ "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=",
"dev": true
}
}
},
- "date-format": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
- "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=",
- "dev": true
- },
"date-now": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
- "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
- "dev": true
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
},
- "dateformat": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
- "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "meow": "^3.3.0"
- }
- },
- "davclient.js": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/davclient.js/-/davclient.js-0.1.0.tgz",
- "integrity": "sha1-2Dji4GzzmpEUOUrXg2Lb9YZGgsg="
+ "de-indent": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
+ "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
+ "dev": true
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
@@ -1753,14 +3714,21 @@
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ },
+ "deep-eql": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+ "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
+ "dev": true,
+ "requires": {
+ "type-detect": "0.1.1"
+ }
},
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
- "dev": true
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
},
"deep-is": {
"version": "0.1.3",
@@ -1768,11 +3736,32 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
+ "deepmerge": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz",
+ "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==",
+ "dev": true
+ },
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "requires": {
+ "clone": "^1.0.2"
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
"requires": {
"is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
@@ -1782,7 +3771,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1791,7 +3779,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1800,7 +3787,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -1810,72 +3796,144 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
},
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
}
}
},
+ "degenerator": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
+ "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
+ "dev": true,
+ "requires": {
+ "ast-types": "0.x.x",
+ "escodegen": "1.x.x",
+ "esprima": "3.x.x"
+ }
+ },
+ "del": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
+ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
+ "requires": {
+ "globby": "^6.1.0",
+ "is-path-cwd": "^1.0.0",
+ "is-path-in-cwd": "^1.0.0",
+ "p-map": "^1.1.1",
+ "pify": "^3.0.0",
+ "rimraf": "^2.2.8"
+ }
+ },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
- "dev": true
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"des.js": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
- "dev": true,
"requires": {
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0"
}
},
- "di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
- "dev": true
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "detect-node": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
+ "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc="
},
"diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+ "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
"dev": true
},
"diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
"requires": {
"bn.js": "^4.1.0",
"miller-rabin": "^4.0.0",
"randombytes": "^2.0.0"
}
},
- "dom-serialize": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
- "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+ "dir-glob": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
+ "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
+ "requires": {
+ "arrify": "^1.0.1",
+ "path-type": "^3.0.0"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+ "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0="
+ },
+ "dns-packet": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
+ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
+ "requires": {
+ "ip": "^1.1.0",
+ "safe-buffer": "^5.0.1"
+ },
+ "dependencies": {
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ }
+ }
+ },
+ "dns-txt": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
+ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+ "requires": {
+ "buffer-indexof": "^1.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
"requires": {
- "custom-event": "~1.0.0",
- "ent": "~2.2.0",
- "extend": "^3.0.0",
- "void-elements": "^2.0.0"
+ "esutils": "^2.0.2"
+ }
+ },
+ "dom-converter": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz",
+ "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=",
+ "requires": {
+ "utila": "~0.3"
+ },
+ "dependencies": {
+ "utila": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY="
+ }
}
},
"dom-serializer": {
@@ -1891,38 +3949,36 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
- },
- "entities": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
- "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
}
}
},
"domain-browser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
- "dev": true
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
},
"domelementtype": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
"integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI="
},
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "^4.0.2"
+ }
+ },
"domhandler": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
- "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
+ "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
"requires": {
"domelementtype": "1"
}
},
- "domready": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz",
- "integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw="
- },
"domutils": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
@@ -1932,77 +3988,64 @@
"domelementtype": "1"
}
},
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
+ },
"duplexify": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
"integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
- "dev": true,
"requires": {
"end-of-stream": "^1.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.0.0",
"stream-shift": "^1.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
+ "easy-stack": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz",
+ "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g="
+ },
"ecc-jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
- "dev": true,
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"optional": true,
"requires": {
- "jsbn": "~0.1.0"
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
}
},
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
- "dev": true
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "ejs": {
+ "version": "2.5.7",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
+ "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo="
+ },
+ "electron-to-chromium": {
+ "version": "1.3.58",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.58.tgz",
+ "integrity": "sha512-AGJxlBEn2wOohxqWZkISVsOjZueKTQljfEODTDSEiMqSpH0S+xzV+/5oEM9AGaqhu7DzrpKOgU7ocQRjj0nJmg=="
},
"elliptic": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
- "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
- "dev": true,
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
+ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
"requires": {
"bn.js": "^4.4.0",
"brorand": "^1.0.1",
@@ -2021,404 +4064,428 @@
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"end-of-stream": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
- "dev": true,
"requires": {
"once": "^1.4.0"
}
},
- "engine.io": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz",
- "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.4",
- "base64id": "1.0.0",
- "cookie": "0.3.1",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.0",
- "ws": "~3.3.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "engine.io-client": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
- "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
- "dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "component-inherit": "0.0.3",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.1",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "ws": "~3.3.1",
- "xmlhttprequest-ssl": "~1.5.4",
- "yeast": "0.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "engine.io-parser": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
- "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==",
- "dev": true,
- "requires": {
- "after": "0.8.2",
- "arraybuffer.slice": "~0.0.7",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.4",
- "has-binary2": "~1.0.2"
- }
- },
"enhanced-resolve": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
"integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"memory-fs": "^0.4.0",
"tapable": "^1.0.0"
}
},
- "ent": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
- "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
- "dev": true
- },
"entities": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
- "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
- "dev": true
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
},
"errno": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
- "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
- "dev": true,
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
"requires": {
- "prr": "~0.0.0"
+ "prr": "~1.0.1"
}
},
"error-ex": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "dev": true,
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"requires": {
"is-arrayish": "^0.2.1"
}
},
- "es6-object-assign": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
- "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=",
- "dev": true
+ "error-stack-parser": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz",
+ "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==",
+ "requires": {
+ "stackframe": "^1.0.4"
+ }
},
- "es6-promise": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
- "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ=="
+ "es-abstract": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
+ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
+ "requires": {
+ "es-to-primitive": "^1.1.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.1",
+ "is-callable": "^1.1.3",
+ "is-regex": "^1.0.4"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
+ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
+ "requires": {
+ "is-callable": "^1.1.1",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.1"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.46",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
+ "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.1",
+ "next-tick": "1"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
},
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
- "dev": true
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz",
+ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==",
"dev": true,
"requires": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
+ "esprima": "^3.1.3",
+ "estraverse": "^4.2.0",
"esutils": "^2.0.2",
"optionator": "^0.8.1",
- "source-map": "~0.2.0"
+ "source-map": "~0.6.1"
},
"dependencies": {
"source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "eslint": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
+ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "^5.3.0",
+ "babel-code-frame": "^6.22.0",
+ "chalk": "^2.1.0",
+ "concat-stream": "^1.6.0",
+ "cross-spawn": "^5.1.0",
+ "debug": "^3.1.0",
+ "doctrine": "^2.1.0",
+ "eslint-scope": "^3.7.1",
+ "eslint-visitor-keys": "^1.0.0",
+ "espree": "^3.5.4",
+ "esquery": "^1.0.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^2.0.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob": "^7.1.2",
+ "globals": "^11.0.1",
+ "ignore": "^3.3.3",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^3.0.6",
+ "is-resolvable": "^1.0.0",
+ "js-yaml": "^3.9.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.2",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.2",
+ "path-is-inside": "^1.0.2",
+ "pluralize": "^7.0.0",
+ "progress": "^2.0.0",
+ "regexpp": "^1.0.1",
+ "require-uncached": "^1.0.3",
+ "semver": "^5.3.0",
+ "strip-ansi": "^4.0.0",
+ "strip-json-comments": "~2.0.1",
+ "table": "4.0.2",
+ "text-table": "~0.2.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"dev": true,
- "optional": true,
"requires": {
- "amdefine": ">=0.0.4"
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
}
}
}
},
+ "eslint-loader": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.1.0.tgz",
+ "integrity": "sha512-f4A/Yk7qF+HcFSz5Tck2QoKIwJVHlX0soJk5MkROYahb5uvspad5Ba60rrz4u/V2/MEj1dtp/uBi6LlLWVaY7Q==",
+ "dev": true,
+ "requires": {
+ "loader-fs-cache": "^1.0.0",
+ "loader-utils": "^1.0.2",
+ "object-assign": "^4.0.1",
+ "object-hash": "^1.1.4",
+ "rimraf": "^2.6.1"
+ }
+ },
+ "eslint-plugin-vue": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz",
+ "integrity": "sha512-esETKhVMI7Vdli70Wt4bvAwnZBJeM0pxVX9Yb0wWKxdCJc2EADalVYK/q2FzMw8oKN0wPMdqVCKS8kmR89recA==",
+ "dev": true,
+ "requires": {
+ "vue-eslint-parser": "^2.0.3"
+ }
+ },
"eslint-scope": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
- "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
"dev": true,
"requires": {
"esrecurse": "^4.1.0",
"estraverse": "^4.1.1"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
+ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^5.5.0",
+ "acorn-jsx": "^3.0.0"
}
},
"esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
"dev": true
},
+ "esquery": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
+ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.0.0"
+ }
+ },
"esrecurse": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "dev": true,
"requires": {
"estraverse": "^4.1.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
}
},
"estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
- "dev": true
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
},
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
},
- "eventemitter2": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
- "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
- "dev": true
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+ },
+ "event-pubsub": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz",
+ "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ=="
},
"eventemitter3": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
- "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
- "dev": true
+ "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA=="
},
"events": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
- "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
- "dev": true
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
+ },
+ "eventsource": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz",
+ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
+ "requires": {
+ "original": ">=0.0.5"
+ }
},
"evp_bytestokey": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
"requires": {
"md5.js": "^1.3.4",
"safe-buffer": "^5.1.1"
}
},
"execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
+ "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
"requires": {
- "cross-spawn": "^5.0.1",
+ "cross-spawn": "^6.0.0",
"get-stream": "^3.0.0",
"is-stream": "^1.1.0",
"npm-run-path": "^2.0.0",
"p-finally": "^1.0.0",
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- }
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expand-braces": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
- "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
- "dev": true,
- "requires": {
- "array-slice": "^0.2.3",
- "array-unique": "^0.2.1",
- "braces": "^0.1.2"
- },
- "dependencies": {
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "braces": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
- "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
- "dev": true,
- "requires": {
- "expand-range": "^0.1.0"
- }
- }
}
},
"expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
"requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "is-posix-bracket": "^0.1.0"
}
},
"expand-range": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
- "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"dev": true,
"requires": {
- "is-number": "^0.1.1",
- "repeat-string": "^0.2.2"
- },
- "dependencies": {
- "is-number": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
- "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
- "dev": true
- },
- "repeat-string": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
- "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
- "dev": true
- }
+ "fill-range": "^2.1.0"
}
},
- "exports-loader": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.7.0.tgz",
- "integrity": "sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA==",
+ "express": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
+ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
"requires": {
- "loader-utils": "^1.1.0",
- "source-map": "0.5.0"
+ "accepts": "~1.3.5",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.2",
+ "content-disposition": "0.5.2",
+ "content-type": "~1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.1.1",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.3",
+ "qs": "6.5.1",
+ "range-parser": "~1.2.0",
+ "safe-buffer": "5.1.1",
+ "send": "0.16.2",
+ "serve-static": "1.13.2",
+ "setprototypeof": "1.1.0",
+ "statuses": "~1.4.0",
+ "type-is": "~1.6.16",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
},
"dependencies": {
- "source-map": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz",
- "integrity": "sha1-D+llA6yGpa213mP05BKuSHLNvoY="
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ },
+ "statuses": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
}
}
},
"extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
- "dev": true
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -2428,7 +4495,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -2436,66 +4502,276 @@
}
},
"external-editor": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.0.tgz",
- "integrity": "sha512-mpkfj0FEdxrIhOC04zk85X7StNtr0yXnG7zCb+8ikO8OJi2jsHh5YGoknNTyXgsbHOf1WOOcVU3kPFWT2WgCkQ==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
"dev": true,
"requires": {
- "chardet": "^0.5.0",
- "iconv-lite": "^0.4.22",
+ "chardet": "^0.4.0",
+ "iconv-lite": "^0.4.17",
"tmp": "^0.0.33"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "extract-zip": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
+ "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.2",
+ "debug": "2.6.9",
+ "mkdirp": "0.5.1",
+ "yauzl": "2.4.1"
},
"dependencies": {
- "iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "ms": "2.0.0"
}
}
}
},
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
+ "fast-deep-equal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
+ },
+ "fast-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz",
+ "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==",
"requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.0.1",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.1",
+ "micromatch": "^3.1.10"
},
"dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"requires": {
- "is-descriptor": "^1.0.0"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
}
},
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
- "is-extendable": "^0.1.0"
+ "ms": "2.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -2504,7 +4780,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -2513,88 +4788,79 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
},
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
- }
- }
- },
- "extract-zip": {
- "version": "1.6.6",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz",
- "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=",
- "dev": true,
- "requires": {
- "concat-stream": "1.6.0",
- "debug": "2.6.9",
- "mkdirp": "0.5.0",
- "yauzl": "2.4.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
"requires": {
- "ms": "2.0.0"
+ "is-extglob": "^2.1.1"
}
},
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
- "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
- "dev": true,
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"requires": {
- "minimist": "0.0.8"
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
}
},
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
}
}
},
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
- "eyes": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
- "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
- "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
- "dev": true
- },
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
},
"fast-levenshtein": {
"version": "2.0.6",
@@ -2607,6 +4873,14 @@
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
"integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg="
},
+ "faye-websocket": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ },
"fd-slicer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
@@ -2625,49 +4899,81 @@
"escape-string-regexp": "^1.0.5"
}
},
+ "file-entry-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^1.2.1",
+ "object-assign": "^4.0.1"
+ }
+ },
+ "file-loader": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
+ "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
+ "requires": {
+ "loader-utils": "^1.0.2",
+ "schema-utils": "^0.4.5"
+ }
+ },
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "dev": true
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "filesize": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
+ "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="
+ },
"fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
"dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
}
},
"finalhandler": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
- "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
- "dev": true,
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
+ "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
"requires": {
"debug": "2.6.9",
- "encodeurl": "~1.0.1",
+ "encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
"parseurl": "~1.3.2",
- "statuses": "~1.3.1",
+ "statuses": "~1.4.0",
"unpipe": "~1.0.0"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"statuses": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
- "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
- "dev": true
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
}
}
},
@@ -2675,7 +4981,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
"integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
- "dev": true,
"requires": {
"commondir": "^1.0.1",
"make-dir": "^1.0.0",
@@ -2683,203 +4988,201 @@
}
},
"find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "locate-path": "^2.0.0"
}
},
- "findup-sync": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
- "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
+ "flat-cache": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
"dev": true,
"requires": {
- "glob": "~5.0.0"
+ "circular-json": "^0.3.1",
+ "del": "^2.0.2",
+ "graceful-fs": "^4.1.2",
+ "write": "^0.2.1"
},
"dependencies": {
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "del": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
"dev": true,
"requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "globby": "^5.0.0",
+ "is-path-cwd": "^1.0.0",
+ "is-path-in-cwd": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "rimraf": "^2.2.8"
}
+ },
+ "globby": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
}
}
},
+ "flatten": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I="
+ },
"flush-write-stream": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
"integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
- "dev": true,
"requires": {
"inherits": "^2.0.1",
"readable-stream": "^2.0.4"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"follow-redirects": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz",
- "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==",
- "dev": true,
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.5.tgz",
+ "integrity": "sha512-GHjtHDlY/ehslqv0Gr5N0PUJppgg/q0rOBvX0na1s7y1A3LWxPqCYU76s3Z1bM4+UZB4QF0usaXLT5wFpof5PA==",
"requires": {
"debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
- "dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
"mime-types": "^2.1.12"
- },
- "dependencies": {
- "combined-stream": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- }
}
},
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+ },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
"requires": {
"map-cache": "^0.2.2"
}
},
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+ },
+ "friendly-errors-webpack-plugin": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz",
+ "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==",
"requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
+ "chalk": "^1.1.3",
+ "error-stack-parser": "^2.0.0",
+ "string-width": "^2.0.0"
},
"dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
}
},
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
- "safe-buffer": "~5.1.0"
+ "ansi-regex": "^2.0.0"
}
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
}
}
},
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "fs-extra": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz",
+ "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
"fs-write-stream-atomic": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"iferr": "^0.1.5",
@@ -2890,14 +5193,12 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
"integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
- "dev": true,
"optional": true,
"requires": {
"nan": "^2.9.2",
@@ -2907,25 +5208,20 @@
"abbrev": {
"version": "1.1.1",
"bundled": true,
- "dev": true,
"optional": true
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"aproba": {
"version": "1.2.0",
"bundled": true,
- "dev": true,
"optional": true
},
"are-we-there-yet": {
"version": "1.1.4",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"delegates": "^1.0.0",
@@ -2934,15 +5230,11 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2951,37 +5243,28 @@
"chownr": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
"optional": true
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"core-util-is": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
"optional": true
},
"debug": {
"version": "2.6.9",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"ms": "2.0.0"
@@ -2990,25 +5273,21 @@
"deep-extend": {
"version": "0.5.1",
"bundled": true,
- "dev": true,
"optional": true
},
"delegates": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
"optional": true
},
"detect-libc": {
"version": "1.0.3",
"bundled": true,
- "dev": true,
"optional": true
},
"fs-minipass": {
"version": "1.2.5",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"minipass": "^2.2.1"
@@ -3017,13 +5296,11 @@
"fs.realpath": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
"optional": true
},
"gauge": {
"version": "2.7.4",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"aproba": "^1.0.3",
@@ -3039,7 +5316,6 @@
"glob": {
"version": "7.1.2",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -3053,13 +5329,11 @@
"has-unicode": {
"version": "2.0.1",
"bundled": true,
- "dev": true,
"optional": true
},
"iconv-lite": {
"version": "0.4.21",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"safer-buffer": "^2.1.0"
@@ -3068,7 +5342,6 @@
"ignore-walk": {
"version": "3.0.1",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"minimatch": "^3.0.4"
@@ -3077,7 +5350,6 @@
"inflight": {
"version": "1.0.6",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"once": "^1.3.0",
@@ -3086,21 +5358,16 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"ini": {
"version": "1.3.5",
"bundled": true,
- "dev": true,
"optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -3108,29 +5375,22 @@
"isarray": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
"optional": true
},
"minimatch": {
"version": "3.0.4",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -3139,7 +5399,6 @@
"minizlib": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"minipass": "^2.2.1"
@@ -3148,8 +5407,6 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -3157,13 +5414,11 @@
"ms": {
"version": "2.0.0",
"bundled": true,
- "dev": true,
"optional": true
},
"needle": {
"version": "2.2.0",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"debug": "^2.1.2",
@@ -3174,7 +5429,6 @@
"node-pre-gyp": {
"version": "0.10.0",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"detect-libc": "^1.0.2",
@@ -3192,7 +5446,6 @@
"nopt": {
"version": "4.0.1",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"abbrev": "1",
@@ -3202,13 +5455,11 @@
"npm-bundled": {
"version": "1.0.3",
"bundled": true,
- "dev": true,
"optional": true
},
"npm-packlist": {
"version": "1.1.10",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"ignore-walk": "^3.0.1",
@@ -3218,7 +5469,6 @@
"npmlog": {
"version": "4.1.2",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"are-we-there-yet": "~1.1.2",
@@ -3229,21 +5479,16 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"object-assign": {
"version": "4.1.1",
"bundled": true,
- "dev": true,
"optional": true
},
"once": {
"version": "1.4.0",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -3251,19 +5496,16 @@
"os-homedir": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
"optional": true
},
"os-tmpdir": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
"optional": true
},
"osenv": {
"version": "0.1.5",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"os-homedir": "^1.0.0",
@@ -3273,19 +5515,16 @@
"path-is-absolute": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
"optional": true
},
"process-nextick-args": {
"version": "2.0.0",
"bundled": true,
- "dev": true,
"optional": true
},
"rc": {
"version": "1.2.7",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"deep-extend": "^0.5.1",
@@ -3297,7 +5536,6 @@
"minimist": {
"version": "1.2.0",
"bundled": true,
- "dev": true,
"optional": true
}
}
@@ -3305,7 +5543,6 @@
"readable-stream": {
"version": "2.3.6",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -3320,7 +5557,6 @@
"rimraf": {
"version": "2.6.2",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"glob": "^7.0.5"
@@ -3328,45 +5564,36 @@
},
"safe-buffer": {
"version": "5.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"safer-buffer": {
"version": "2.1.2",
"bundled": true,
- "dev": true,
"optional": true
},
"sax": {
"version": "1.2.4",
"bundled": true,
- "dev": true,
"optional": true
},
"semver": {
"version": "5.5.0",
"bundled": true,
- "dev": true,
"optional": true
},
"set-blocking": {
"version": "2.0.0",
"bundled": true,
- "dev": true,
"optional": true
},
"signal-exit": {
"version": "3.0.2",
"bundled": true,
- "dev": true,
"optional": true
},
"string-width": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -3376,7 +5603,6 @@
"string_decoder": {
"version": "1.1.1",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"safe-buffer": "~5.1.0"
@@ -3385,8 +5611,6 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
- "dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -3394,13 +5618,11 @@
"strip-json-comments": {
"version": "2.0.1",
"bundled": true,
- "dev": true,
"optional": true
},
"tar": {
"version": "4.4.1",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"chownr": "^1.0.1",
@@ -3415,13 +5637,11 @@
"util-deprecate": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
"optional": true
},
"wide-align": {
"version": "1.1.2",
"bundled": true,
- "dev": true,
"optional": true,
"requires": {
"string-width": "^1.0.2"
@@ -3429,111 +5649,186 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
+ "bundled": true
},
"yallist": {
"version": "3.0.2",
- "bundled": true,
+ "bundled": true
+ }
+ }
+ },
+ "ftp": {
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
+ "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.1.x",
+ "xregexp": "2.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
- "optional": true
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
}
}
},
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
"get-caller-file": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
"dev": true
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
},
"get-stream": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ },
+ "get-uri": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz",
+ "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==",
+ "dev": true,
+ "requires": {
+ "data-uri-to-buffer": "1",
+ "debug": "2",
+ "extend": "3",
+ "file-uri-to-path": "1",
+ "ftp": "~0.3.10",
+ "readable-stream": "2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
},
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
- "getobject": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
- "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
- "dev": true
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- }
}
},
"glob": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
- "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
- "dev": true,
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.2",
+ "minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
+ }
+ },
"glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
"dev": true,
"requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
+ "is-glob": "^2.0.0"
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
+ },
+ "globals": {
+ "version": "11.7.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
+ "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==",
+ "dev": true
+ },
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "requires": {
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
},
"dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
},
- "global-modules-path": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz",
- "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==",
- "dev": true
- },
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
},
"graceful-readlink": {
"version": "1.0.1",
@@ -3542,324 +5837,76 @@
"dev": true
},
"growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
"dev": true
},
- "grunt": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",
- "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
- "dev": true,
- "requires": {
- "coffeescript": "~1.10.0",
- "dateformat": "~1.0.12",
- "eventemitter2": "~0.4.13",
- "exit": "~0.1.1",
- "findup-sync": "~0.3.0",
- "glob": "~7.0.0",
- "grunt-cli": "~1.2.0",
- "grunt-known-options": "~1.1.0",
- "grunt-legacy-log": "~2.0.0",
- "grunt-legacy-util": "~1.1.1",
- "iconv-lite": "~0.4.13",
- "js-yaml": "~3.5.2",
- "minimatch": "~3.0.2",
- "mkdirp": "~0.5.1",
- "nopt": "~3.0.6",
- "path-is-absolute": "~1.0.0",
- "rimraf": "~2.6.2"
- },
- "dependencies": {
- "js-yaml": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
- "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
- "dev": true,
- "requires": {
- "argparse": "^1.0.2",
- "esprima": "^2.6.0"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- }
- }
- },
- "grunt-cli": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
- "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
- "dev": true,
- "requires": {
- "findup-sync": "~0.3.0",
- "grunt-known-options": "~1.1.0",
- "nopt": "~3.0.6",
- "resolve": "~1.1.0"
- }
- },
- "grunt-contrib-jshint": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz",
- "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.1",
- "hooker": "^0.2.3",
- "jshint": "~2.9.4"
- }
- },
- "grunt-jscs": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz",
- "integrity": "sha1-H65Q4+lV3546nZQlrsIqzK4AgJI=",
- "dev": true,
- "requires": {
- "hooker": "~0.2.3",
- "jscs": "~3.0.5",
- "lodash": "~4.6.1",
- "vow": "~0.4.1"
- },
- "dependencies": {
- "lodash": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz",
- "integrity": "sha1-3wDBFkrSNrGDz8OIel6NOMxjy7w=",
- "dev": true
- }
- }
- },
- "grunt-karma": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-karma/-/grunt-karma-2.0.0.tgz",
- "integrity": "sha1-dTWD0RXf3AVf5X5Y+W1rPH5hIRg=",
- "dev": true,
+ "gzip-size": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz",
+ "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=",
"requires": {
- "lodash": "^3.10.1"
+ "duplexer": "^0.1.1",
+ "pify": "^3.0.0"
}
},
- "grunt-known-options": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
- "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=",
- "dev": true
+ "handle-thing": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
+ "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ="
},
- "grunt-legacy-log": {
+ "har-schema": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
- "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
- "dev": true,
- "requires": {
- "colors": "~1.1.2",
- "grunt-legacy-log-utils": "~2.0.0",
- "hooker": "~0.2.3",
- "lodash": "~4.17.5"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
- },
- "grunt-legacy-log-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
- "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
- "dev": true,
- "requires": {
- "chalk": "~2.4.1",
- "lodash": "~4.17.10"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "grunt-legacy-util": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
- "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
- "dev": true,
- "requires": {
- "async": "~1.5.2",
- "exit": "~0.1.1",
- "getobject": "~0.1.0",
- "hooker": "~0.2.3",
- "lodash": "~4.17.10",
- "underscore.string": "~3.3.4",
- "which": "~1.3.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
- "handlebars": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
- "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
+ "har-validator": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
+ "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
"requires": {
- "async": "^1.4.0",
- "optimist": "^0.6.1",
- "source-map": "^0.4.4",
- "uglify-js": "^2.6"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
+ "ajv": "^5.3.0",
+ "har-schema": "^2.0.0"
}
},
- "handlebars-loader": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/handlebars-loader/-/handlebars-loader-1.7.0.tgz",
- "integrity": "sha512-tfS3n+PrDB2gnDnrx0/DGvdb4wF4JqV7CEiVof3RymOIWYrcmD+ZiaXTlZ/f7fZ7+aQPEv6JRG0HS7nTlyvGlQ==",
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"requires": {
- "async": "~0.2.10",
- "fastparse": "^1.0.0",
- "loader-utils": "1.0.x",
- "object-assign": "^4.1.0"
- },
- "dependencies": {
- "async": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
- },
- "loader-utils": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.4.tgz",
- "integrity": "sha1-E/Vhl/FSOjBYkSSLTHJEVAhIQmw=",
- "requires": {
- "big.js": "^3.1.3",
- "emojis-list": "^2.0.0",
- "json5": "^0.5.0"
- }
- }
+ "function-bind": "^1.1.1"
}
},
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
"has-ansi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
"requires": {
"ansi-regex": "^2.0.0"
- }
- },
- "has-binary2": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
- "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
- "dev": true,
- "requires": {
- "isarray": "2.0.1"
},
"dependencies": {
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
- "dev": true
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
}
}
},
- "has-color": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
- "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=",
- "dev": true
- },
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
- "dev": true
- },
"has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "has-symbols": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
},
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
"requires": {
"get-value": "^2.0.6",
"has-values": "^1.0.0",
@@ -3869,8 +5916,7 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
@@ -3878,7 +5924,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
"requires": {
"is-number": "^3.0.0",
"kind-of": "^4.0.0"
@@ -3888,7 +5933,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -3897,7 +5941,6 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -3908,7 +5951,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -3919,146 +5961,194 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "dev": true,
"requires": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
}
},
+ "hash-sum": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
+ "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
+ },
"hash.js": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
"integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
- "dev": true,
"requires": {
"inherits": "^2.0.3",
"minimalistic-assert": "^1.0.1"
}
},
- "hasha": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
- "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
- "dev": true,
- "requires": {
- "is-stream": "^1.0.1",
- "pinkie-promise": "^2.0.0"
- }
- },
"he": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
},
+ "hex-color-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
+ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ=="
+ },
"hmac-drbg": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "dev": true,
"requires": {
"hash.js": "^1.0.3",
"minimalistic-assert": "^1.0.0",
"minimalistic-crypto-utils": "^1.0.1"
}
},
- "hooker": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
- "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
- "dev": true
+ "hoek": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-5.0.4.tgz",
+ "integrity": "sha512-Alr4ZQgoMlnere5FZJsIyfIjORBqZll5POhDsF4q64dPuJR6rNxXdDxtHSQq8OXRurhmx+PWYEE8bXRROY8h0w=="
},
"hosted-git-info": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
- "dev": true
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
},
- "html-to-text": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-4.0.0.tgz",
- "integrity": "sha512-QQl5EEd97h6+3crtgBhkEAO6sQnZyDff8DAeJzoSkOc1Dqe1UvTUZER0B+KjBe6fPZqq549l2VUhtracus3ndA==",
+ "hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
"requires": {
- "he": "^1.0.0",
- "htmlparser2": "^3.9.2",
- "lodash": "^4.17.4",
- "optimist": "^0.6.1"
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "hsl-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
+ "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4="
+ },
+ "hsla-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
+ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg="
+ },
+ "html-comment-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
+ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4="
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "^1.0.1"
+ }
+ },
+ "html-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8="
+ },
+ "html-minifier": {
+ "version": "3.5.19",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.19.tgz",
+ "integrity": "sha512-Qr2JC9nsjK8oCrEmuB430ZIA8YWbF3D5LSjywD75FTuXmeqacwHgIM8wp3vHYzzPbklSjp53RdmDuzR4ub2HzA==",
+ "requires": {
+ "camel-case": "3.0.x",
+ "clean-css": "4.1.x",
+ "commander": "2.16.x",
+ "he": "1.1.x",
+ "param-case": "2.1.x",
+ "relateurl": "0.2.x",
+ "uglify-js": "3.4.x"
},
"dependencies": {
- "entities": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
- "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
- },
- "htmlparser2": {
- "version": "3.9.2",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
- "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
+ "commander": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
+ "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew=="
+ }
+ }
+ },
+ "html-webpack-plugin": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
+ "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
+ "requires": {
+ "html-minifier": "^3.2.3",
+ "loader-utils": "^0.2.16",
+ "lodash": "^4.17.3",
+ "pretty-error": "^2.0.2",
+ "tapable": "^1.0.0",
+ "toposort": "^1.0.0",
+ "util.promisify": "1.0.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
+ }
+ }
+ }
+ },
+ "htmlparser2": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz",
+ "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
+ "requires": {
+ "domelementtype": "1",
+ "domhandler": "2.1",
+ "domutils": "1.1",
+ "readable-stream": "1.0"
+ },
+ "dependencies": {
+ "domutils": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz",
+ "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
"requires": {
- "domelementtype": "^1.3.0",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.2"
+ "domelementtype": "1"
}
},
"isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "lodash": {
- "version": "4.17.5",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"readable-stream": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
- "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"requires": {
"core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
}
},
"string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
},
- "htmlparser2": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
- "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
- "dev": true,
- "requires": {
- "domelementtype": "1",
- "domhandler": "2.3",
- "domutils": "1.5",
- "entities": "1.0",
- "readable-stream": "1.1"
- }
+ "http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
},
"http-errors": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "dev": true,
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
@@ -4066,57 +6156,443 @@
"statuses": ">= 1.4.0 < 2"
}
},
+ "http-parser-js": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
+ "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc="
+ },
"http-proxy": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
"integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
- "dev": true,
"requires": {
"eventemitter3": "^3.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
}
},
+ "http-proxy-agent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
+ "integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=",
+ "dev": true,
+ "requires": {
+ "agent-base": "2",
+ "debug": "2",
+ "extend": "3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
+ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==",
+ "requires": {
+ "http-proxy": "^1.16.2",
+ "is-glob": "^4.0.0",
+ "lodash": "^4.17.5",
+ "micromatch": "^3.1.9"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
"https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
- "dev": true
- },
- "i": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
- "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=",
- "dev": true
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
},
- "ical.js": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/ical.js/-/ical.js-1.2.2.tgz",
- "integrity": "sha1-WbUXNiqPYdzgNC/mfet8IN0Rn24="
+ "https-proxy-agent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
+ "dev": true,
+ "requires": {
+ "agent-base": "2",
+ "debug": "2",
+ "extend": "3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
},
"iconv-lite": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz",
- "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==",
- "dev": true
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0="
+ },
+ "icss-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
+ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+ "requires": {
+ "postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
},
"ieee754": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
- "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
- "dev": true
+ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA=="
},
"iferr": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
- "dev": true
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug=="
+ },
+ "import-cwd": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
+ "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
+ "requires": {
+ "import-from": "^2.1.0"
+ }
+ },
+ "import-from": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
+ "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
+ "requires": {
+ "resolve-from": "^3.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
+ }
+ }
},
"import-local": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
"integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
- "dev": true,
"requires": {
"pkg-dir": "^2.0.0",
"resolve-cwd": "^2.0.0"
@@ -4125,122 +6601,68 @@
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
},
"indent-string": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
"requires": {
"repeating": "^2.0.0"
}
},
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
+ },
"indexof": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
- "dev": true
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
- "inherit": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz",
- "integrity": "sha1-8WFLBshUToEo5CKchjR9tzrZeI0=",
- "dev": true
- },
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"inquirer": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.0.0.tgz",
- "integrity": "sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
"dev": true,
"requires": {
"ansi-escapes": "^3.0.0",
"chalk": "^2.0.0",
"cli-cursor": "^2.1.0",
"cli-width": "^2.0.0",
- "external-editor": "^3.0.0",
+ "external-editor": "^2.0.4",
"figures": "^2.0.0",
"lodash": "^4.3.0",
"mute-stream": "0.0.7",
"run-async": "^2.2.0",
- "rxjs": "^6.1.0",
+ "rx-lite": "^4.0.8",
+ "rx-lite-aggregates": "^4.0.8",
"string-width": "^2.1.0",
"strip-ansi": "^4.0.0",
"through": "^2.3.6"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ }
+ },
+ "internal-ip": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz",
+ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
+ "requires": {
+ "meow": "^3.3.0"
}
},
"interpret": {
@@ -4249,17 +6671,40 @@
"integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
"dev": true
},
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"invert-kv": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ },
+ "ip": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
+ "integrity": "sha1-x+NWzeoiWucbNtcPLnGpK6TkJZA=",
"dev": true
},
+ "ipaddr.js": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
+ "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
+ },
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY="
+ },
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
"requires": {
"kind-of": "^3.0.2"
}
@@ -4267,14 +6712,12 @@
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
},
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "dev": true,
"requires": {
"binary-extensions": "^1.0.0"
}
@@ -4288,25 +6731,53 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "dev": true,
"requires": {
"builtin-modules": "^1.0.0"
}
},
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
+ },
+ "is-ci": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.0.tgz",
+ "integrity": "sha512-plgvKjQtalH2P3Gytb7L61Lmz95g2DlpzFiQyRSFew8WoJKxtKRzrZMeyRN2supblm3Psc8OQGy7Xjb6XG11jw==",
+ "requires": {
+ "ci-info": "^1.3.0"
+ }
+ },
+ "is-color-stop": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
+ "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+ "requires": {
+ "css-color-names": "^0.0.4",
+ "hex-color-regex": "^1.1.0",
+ "hsl-regex": "^1.0.0",
+ "hsla-regex": "^1.0.0",
+ "rgb-regex": "^1.0.1",
+ "rgba-regex": "^1.0.0"
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
"requires": {
"kind-of": "^3.0.2"
}
},
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
+ },
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
"requires": {
"is-accessor-descriptor": "^0.1.6",
"is-data-descriptor": "^0.1.4",
@@ -4316,28 +6787,45 @@
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
}
}
},
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "^2.0.0"
+ }
+ },
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
},
"is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -4345,49 +6833,56 @@
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
"is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
"requires": {
- "is-extglob": "^2.1.1"
+ "is-extglob": "^1.0.0"
}
},
"is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
}
},
- "is-odd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
- "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
- "dev": true,
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+ },
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0="
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
"requires": {
- "is-number": "^4.0.0"
- },
- "dependencies": {
- "is-number": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
- "dev": true
- }
+ "is-path-inside": "^1.0.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "requires": {
+ "path-is-inside": "^1.0.1"
}
},
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
"requires": {
"isobject": "^3.0.1"
},
@@ -4395,334 +6890,242 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true
},
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "requires": {
+ "has": "^1.0.1"
+ }
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg=="
+ },
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "is-svg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
+ "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
+ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI="
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
},
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
},
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
- "isbinaryfile": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
- "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
- "dev": true,
+ "isemail": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.1.3.tgz",
+ "integrity": "sha512-5xbsG5wYADIcB+mfLsd+nst1V/D+I7EU7LEZPo2GOIMu4JzfcRs5yQoypP4avA7QtUqgxYLKBYNv4IdzBmbhdw==",
"requires": {
- "buffer-alloc": "^1.2.0"
+ "punycode": "2.x.x"
}
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
"isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
},
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
- "istanbul": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
- "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
- "dev": true,
+ "javascript-stringify": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz",
+ "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM="
+ },
+ "joi": {
+ "version": "13.6.0",
+ "resolved": "https://registry.npmjs.org/joi/-/joi-13.6.0.tgz",
+ "integrity": "sha512-E4QB0yRgEa6ZZKcSHJuBC+QeAwy+akCG0Bsa9edLqljyhlr+GuGDSmXYW1q7sj/FuAPy+ECUI3evVtK52tVfwg==",
"requires": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "^1.0.0"
- }
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- }
+ "hoek": "5.x.x",
+ "isemail": "3.x.x",
+ "topo": "3.x.x"
}
},
- "jasmine-ajax": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/jasmine-ajax/-/jasmine-ajax-3.4.0.tgz",
- "integrity": "sha512-LIVNVCmx5ou+IG6wgX7j73YYzvE2e3aqFWMjOhvAHWTnLICOYSobIH+PG/gOwtP20X0u2SkD3NXT/j5X8rMGOA==",
- "dev": true
- },
- "jasmine-core": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.2.0.tgz",
- "integrity": "sha512-35OOToo2lFczwZ/FdJkUOO/Gsp9FW7viWChYA7OgBfpjgTxbxmNKyNrGS3HHREHay5nJwJvu4RqAlvcBcCAWeA==",
- "dev": true
- },
- "jquery": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
- "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
- },
- "jquery-ui": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz",
- "integrity": "sha1-vLQEXI3QU5wTS8FIjN0+dop6nlE="
+ "js-message": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz",
+ "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU="
},
- "jquery-visibility": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/jquery-visibility/-/jquery-visibility-1.0.11.tgz",
- "integrity": "sha1-gOc8yFL5JWLi/XXEjBfJ+FREr5U=",
+ "js-queue": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz",
+ "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=",
"requires": {
- "jquery": "*"
+ "easy-stack": "^1.0.0"
}
},
- "js-storage": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/js-storage/-/js-storage-1.0.4.tgz",
- "integrity": "sha512-ND6iVfDo5r2PSpkzXa+s+S6TzZkRD1EaN4NvtwRWp2rrL1pmS9wdcbmv3eYZYOkBcPiQjyQUWZRcT0aQ4Wuk8g=="
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
},
"js-yaml": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
- "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
- "dev": true,
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
"requires": {
"argparse": "^1.0.7",
- "esprima": "^2.6.0"
+ "esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ }
}
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true,
"optional": true
},
- "jscs": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz",
- "integrity": "sha1-cUG03/W4bjLQ6Z12S4NnZ8MNIBo=",
- "dev": true,
- "requires": {
- "chalk": "~1.1.0",
- "cli-table": "~0.3.1",
- "commander": "~2.9.0",
- "cst": "^0.4.3",
- "estraverse": "^4.1.0",
- "exit": "~0.1.2",
- "glob": "^5.0.1",
- "htmlparser2": "3.8.3",
- "js-yaml": "~3.4.0",
- "jscs-jsdoc": "^2.0.0",
- "jscs-preset-wikimedia": "~1.0.0",
- "jsonlint": "~1.6.2",
- "lodash": "~3.10.0",
- "minimatch": "~3.0.0",
- "natural-compare": "~1.2.2",
- "pathval": "~0.1.1",
- "prompt": "~0.2.14",
- "reserved-words": "^0.1.1",
- "resolve": "^1.1.6",
- "strip-bom": "^2.0.0",
- "strip-json-comments": "~1.0.2",
- "to-double-quotes": "^2.0.0",
- "to-single-quotes": "^2.0.0",
- "vow": "~0.4.8",
- "vow-fs": "~0.3.4",
- "xmlbuilder": "^3.1.0"
- },
- "dependencies": {
- "commander": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
- "dev": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "js-yaml": {
- "version": "3.4.6",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz",
- "integrity": "sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA=",
- "dev": true,
- "requires": {
- "argparse": "^1.0.2",
- "esprima": "^2.6.0",
- "inherit": "^2.2.2"
- }
- }
- }
- },
- "jscs-jsdoc": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz",
- "integrity": "sha1-9T684CmqMSW9iCkLpQ1k1FEKSHE=",
- "dev": true,
- "requires": {
- "comment-parser": "^0.3.1",
- "jsdoctypeparser": "~1.2.0"
- }
- },
- "jscs-preset-wikimedia": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz",
- "integrity": "sha1-//VjNCA4/C6IJre7cwnDrjQG/H4=",
+ "jsdom": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
+ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "acorn": "^5.5.3",
+ "acorn-globals": "^4.1.0",
+ "array-equal": "^1.0.0",
+ "cssom": ">= 0.3.2 < 0.4.0",
+ "cssstyle": "^1.0.0",
+ "data-urls": "^1.0.0",
+ "domexception": "^1.0.1",
+ "escodegen": "^1.9.1",
+ "html-encoding-sniffer": "^1.0.2",
+ "left-pad": "^1.3.0",
+ "nwsapi": "^2.0.7",
+ "parse5": "4.0.0",
+ "pn": "^1.1.0",
+ "request": "^2.87.0",
+ "request-promise-native": "^1.0.5",
+ "sax": "^1.2.4",
+ "symbol-tree": "^3.2.2",
+ "tough-cookie": "^2.3.4",
+ "w3c-hr-time": "^1.0.1",
+ "webidl-conversions": "^4.0.2",
+ "whatwg-encoding": "^1.0.3",
+ "whatwg-mimetype": "^2.1.0",
+ "whatwg-url": "^6.4.1",
+ "ws": "^5.2.0",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "jsdom-global": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz",
+ "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=",
"dev": true
},
- "jsdoctypeparser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz",
- "integrity": "sha1-597cFToRhJ/8UUEUSuhqfvDCU5I=",
- "dev": true,
- "requires": {
- "lodash": "^3.7.0"
- }
- },
- "jshint": {
- "version": "2.9.6",
- "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz",
- "integrity": "sha512-KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==",
- "dev": true,
- "requires": {
- "cli": "~1.0.0",
- "console-browserify": "1.1.x",
- "exit": "0.1.x",
- "htmlparser2": "3.8.x",
- "lodash": "~4.17.10",
- "minimatch": "~3.0.2",
- "phantom": "~4.0.1",
- "phantomjs-prebuilt": "~2.1.7",
- "shelljs": "0.3.x",
- "strip-json-comments": "1.0.x",
- "unicode-5.2.0": "^0.7.5"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
+ "jsesc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
+ "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
+ "dev": true
},
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-schema-traverse": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
"dev": true
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
+ "json3": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE="
},
"json5": {
"version": "0.5.1",
@@ -4730,220 +7133,27 @@
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
},
"jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "dev": true,
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
}
},
- "jsonlint": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz",
- "integrity": "sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA=",
- "dev": true,
- "requires": {
- "JSV": ">= 4.0.x",
- "nomnom": ">= 1.5.x"
- }
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- }
- }
- },
- "just-extend": {
- "version": "1.1.27",
- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
- "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==",
- "dev": true
- },
- "karma": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-3.0.0.tgz",
- "integrity": "sha512-ZTjyuDXVXhXsvJ1E4CnZzbCjSxD6sEdzEsFYogLuZM0yqvg/mgz+O+R1jb0J7uAQeuzdY8kJgx6hSNXLwFuHIQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.3.0",
- "body-parser": "^1.16.1",
- "chokidar": "^2.0.3",
- "colors": "^1.1.0",
- "combine-lists": "^1.0.0",
- "connect": "^3.6.0",
- "core-js": "^2.2.0",
- "di": "^0.0.1",
- "dom-serialize": "^2.2.0",
- "expand-braces": "^0.1.1",
- "glob": "^7.1.1",
- "graceful-fs": "^4.1.2",
- "http-proxy": "^1.13.0",
- "isbinaryfile": "^3.0.0",
- "lodash": "^4.17.4",
- "log4js": "^3.0.0",
- "mime": "^2.3.1",
- "minimatch": "^3.0.2",
- "optimist": "^0.6.1",
- "qjobs": "^1.1.4",
- "range-parser": "^1.2.0",
- "rimraf": "^2.6.0",
- "safe-buffer": "^5.0.1",
- "socket.io": "2.1.1",
- "source-map": "^0.6.1",
- "tmp": "0.0.33",
- "useragent": "2.2.1"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- },
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "karma-coverage": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz",
- "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==",
- "dev": true,
- "requires": {
- "dateformat": "^1.0.6",
- "istanbul": "^0.4.0",
- "lodash": "^4.17.0",
- "minimatch": "^3.0.0",
- "source-map": "^0.5.1"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
- },
- "karma-jasmine": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz",
- "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
- "dev": true
- },
- "karma-jasmine-ajax": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/karma-jasmine-ajax/-/karma-jasmine-ajax-0.1.13.tgz",
- "integrity": "sha1-eLuS2Jb+MqJaGACYxHci4dlgW/w=",
- "dev": true,
- "requires": {
- "jasmine-ajax": "^3.0.0"
- }
- },
- "karma-phantomjs-launcher": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz",
- "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",
- "dev": true,
- "requires": {
- "lodash": "^4.0.1",
- "phantomjs-prebuilt": "^2.1.7"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
- },
- "karma-sinon": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/karma-sinon/-/karma-sinon-1.0.5.tgz",
- "integrity": "sha1-TjRD8oMP3s/2JNN0cWPxIX2qKpo=",
- "dev": true
- },
- "karma-sourcemap-loader": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
- "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2"
- }
- },
- "karma-webpack": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.0.tgz",
- "integrity": "sha512-Ja1o9LLoqWaJyUNhTKaXjWiEH9y7a9H3mzP8pYB30SBsgoF5KBS/65NeHFd+QPuT9ITrym8xFt8BZeGbcOfujA==",
- "dev": true,
- "requires": {
- "async": "^2.0.0",
- "babel-runtime": "^6.0.0",
- "loader-utils": "^1.0.0",
- "lodash": "^4.0.0",
- "source-map": "^0.5.6",
- "webpack-dev-middleware": "^2.0.6"
- },
- "dependencies": {
- "async": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
- "dev": true,
- "requires": {
- "lodash": "^4.14.0"
- }
- },
- "lodash": {
- "version": "4.17.5",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
- "dev": true
- }
}
},
"kew": {
@@ -4952,6 +7162,11 @@
"integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
"dev": true
},
+ "killable": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz",
+ "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms="
+ },
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
@@ -4960,34 +7175,35 @@
"is-buffer": "^1.1.5"
}
},
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "dev": true,
+ "launch-editor": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz",
+ "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==",
"requires": {
- "graceful-fs": "^4.1.9"
+ "chalk": "^2.3.0",
+ "shell-quote": "^1.6.1"
}
},
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "optional": true
+ "launch-editor-middleware": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz",
+ "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==",
+ "requires": {
+ "launch-editor": "^2.2.1"
+ }
},
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
"requires": {
"invert-kv": "^1.0.0"
}
},
- "lcov-parse": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
- "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",
+ "left-pad": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
+ "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
"dev": true
},
"levn": {
@@ -5004,20 +7220,84 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^2.2.0",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0",
"strip-bom": "^2.0.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ }
+ }
+ },
+ "loader-fs-cache": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz",
+ "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "^0.1.1",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "find-cache-dir": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
+ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "mkdirp": "^0.5.1",
+ "pkg-dir": "^1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0"
+ }
+ }
}
},
"loader-runner": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
- "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
- "dev": true
+ "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI="
},
"loader-utils": {
"version": "1.1.0",
@@ -5033,223 +7313,337 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
- },
- "dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- }
}
},
"lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
+ },
+ "lodash._arraycopy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
"dev": true
},
- "lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "lodash._arrayeach": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
"dev": true
},
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
+ "lodash._baseassign": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ }
+ },
+ "lodash._baseclone": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
+ "dev": true,
+ "requires": {
+ "lodash._arraycopy": "^3.0.0",
+ "lodash._arrayeach": "^3.0.0",
+ "lodash._baseassign": "^3.0.0",
+ "lodash._basefor": "^3.0.0",
+ "lodash.isarray": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ }
+ },
+ "lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
- "log-driver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
- "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==",
+ "lodash._basecreate": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
+ "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
"dev": true
},
- "log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "lodash._basefor": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
+ "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
+ "dev": true
+ },
+ "lodash._bindcallback": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
+ "dev": true
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
+ "lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+ "dev": true
+ },
+ "lodash._stack": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
+ "integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=",
+ "dev": true
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
+ },
+ "lodash.clone": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
+ "integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=",
"dev": true,
"requires": {
- "chalk": "^2.0.1"
+ "lodash._baseclone": "^3.0.0",
+ "lodash._bindcallback": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0"
+ }
+ },
+ "lodash.create": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
+ "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
+ "dev": true,
+ "requires": {
+ "lodash._baseassign": "^3.0.0",
+ "lodash._basecreate": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0"
+ }
+ },
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
+ },
+ "lodash.defaultsdeep": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
+ "integrity": "sha1-bBpYbmxWR7DmTi15gUG4g2FYvoo=",
+ "dev": true,
+ "requires": {
+ "lodash._baseclone": "^4.0.0",
+ "lodash._stack": "^4.0.0",
+ "lodash.isplainobject": "^4.0.0",
+ "lodash.keysin": "^4.0.0",
+ "lodash.mergewith": "^4.0.0",
+ "lodash.rest": "^4.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
- "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "lodash._baseclone": {
+ "version": "4.5.7",
+ "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
+ "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=",
"dev": true
- },
- "supports-color": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
- "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
}
}
},
- "log4js": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.5.tgz",
- "integrity": "sha512-IX5c3G/7fuTtdr0JjOT2OIR12aTESVhsH6cEsijloYwKgcPRlO6DgOU72v0UFhWcoV1HN6+M3dwT89qVPLXm0w==",
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true,
"requires": {
- "circular-json": "^0.5.5",
- "date-format": "^1.2.0",
- "debug": "^3.1.0",
- "rfdc": "^1.1.2",
- "streamroller": "0.7.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
}
},
- "loglevelnext": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.3.tgz",
- "integrity": "sha512-OCxd/b78TijTB4b6zVqLbMrxhebyvdZKwqpL0VHUZ0pYhavXaPD4l6Xrr4n5xqTYWiqtb0i7ikSoJY/myQ/Org==",
+ "lodash.keysin": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
+ "integrity": "sha1-jMP7NcLZSsxEOhhj4C+kB5nqbyg=",
"dev": true
},
- "lolex": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.1.tgz",
- "integrity": "sha512-Oo2Si3RMKV3+lV5MsSWplDQFoTClz/24S0MMHYcgGWWmFXr6TMlqcqk/l1GtH+d5wLBwNRiqGnwDRMirtFalJw==",
+ "lodash.mapvalues": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw="
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
+ },
+ "lodash.mergewith": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+ "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
"dev": true
},
+ "lodash.rest": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz",
+ "integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=",
+ "dev": true
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lodash.transform": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz",
+ "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A="
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "loglevel": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz",
+ "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po="
+ },
+ "loglevelnext": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz",
+ "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==",
+ "requires": {
+ "es6-symbol": "^3.1.1",
+ "object.assign": "^4.1.0"
+ }
+ },
"long": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
- "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=",
- "dev": true
+ "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s="
},
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "optional": true
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
},
"loud-rejection": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
"requires": {
"currently-unhandled": "^0.4.1",
"signal-exit": "^3.0.0"
}
},
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
+ },
"lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
+ "version": "2.6.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
+ "integrity": "sha1-5W1jVBSO3o13B7WNFDIg/QjfD9U=",
+ "dev": true
},
"make-dir": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
"requires": {
"pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
}
},
"mamacro": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
- "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
- "dev": true
+ "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA=="
},
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
},
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
},
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
"requires": {
"object-visit": "^1.0.0"
}
},
+ "math-random": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
+ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
+ "dev": true
+ },
"md5.js": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
"integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
- "dev": true,
"requires": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1"
}
},
+ "mdn-data": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+ "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA=="
+ },
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
- "dev": true
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"mem": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "dev": true,
"requires": {
"mimic-fn": "^1.0.0"
}
@@ -5258,49 +7652,15 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true,
"requires": {
"errno": "^0.1.3",
"readable-stream": "^2.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true,
"requires": {
"camelcase-keys": "^2.0.0",
"decamelize": "^1.1.2",
@@ -5317,45 +7677,65 @@
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
},
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+ },
+ "merge-source-map": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+ "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
"requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
+ "source-map": "^0.6.1"
},
"dependencies": {
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
+ "merge2": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz",
+ "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg=="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^2.0.0",
+ "array-unique": "^0.2.1",
+ "braces": "^1.8.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
+ }
+ },
"miller-rabin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true,
"requires": {
"bn.js": "^4.0.0",
"brorand": "^1.0.1"
@@ -5364,62 +7744,63 @@
"mime": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
- "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
- "dev": true
+ "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg=="
},
"mime-db": {
- "version": "1.30.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
- "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
- "dev": true
+ "version": "1.35.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
+ "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg=="
},
"mime-types": {
- "version": "2.1.17",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
- "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
- "dev": true,
+ "version": "2.1.19",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
+ "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
"requires": {
- "mime-db": "~1.30.0"
+ "mime-db": "~1.35.0"
}
},
"mimic-fn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
- "dev": true
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ },
+ "mini-css-extract-plugin": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz",
+ "integrity": "sha512-XWuB3G61Rtasq/gLe7cp5cuozehE6hN+E4sxCamRR/WDiHTg+f7ZIAS024r8UJQffY+e2gGELXQZgQoFDfNDCg==",
+ "requires": {
+ "@webpack-contrib/schema-utils": "^1.0.0-beta.0",
+ "loader-utils": "^1.1.0",
+ "webpack-sources": "^1.1.0"
+ }
},
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
},
"minimalistic-crypto-utils": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
- "dev": true
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"mississippi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
"integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
- "dev": true,
"requires": {
"concat-stream": "^1.5.0",
"duplexify": "^3.4.2",
@@ -5437,7 +7818,6 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
- "dev": true,
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
@@ -5447,7 +7827,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -5458,16 +7837,200 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
"requires": {
"minimist": "0.0.8"
+ }
+ },
+ "mkpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
+ "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=",
+ "dev": true
+ },
+ "mocha": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
+ "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
+ "dev": true,
+ "requires": {
+ "browser-stdout": "1.3.1",
+ "commander": "2.15.1",
+ "debug": "3.1.0",
+ "diff": "3.5.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.1.2",
+ "growl": "1.10.5",
+ "he": "1.1.1",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "supports-color": "5.4.0"
},
"dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
"dev": true
+ },
+ "commander": {
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
+ "dev": true
+ },
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "dev": true
+ },
+ "growl": {
+ "version": "1.10.5",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "dev": true
+ }
+ }
+ },
+ "mocha-nightwatch": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
+ "integrity": "sha1-kby5s73gV912d8eBJeSR5Y1mZHw=",
+ "dev": true,
+ "requires": {
+ "browser-stdout": "1.3.0",
+ "commander": "2.9.0",
+ "debug": "2.2.0",
+ "diff": "1.4.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.0.5",
+ "growl": "1.9.2",
+ "json3": "3.3.2",
+ "lodash.create": "3.1.1",
+ "mkdirp": "0.5.1",
+ "supports-color": "3.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "glob": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
+ "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
+ "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "mocha-webpack": {
+ "version": "2.0.0-beta.0",
+ "resolved": "https://registry.npmjs.org/mocha-webpack/-/mocha-webpack-2.0.0-beta.0.tgz",
+ "integrity": "sha512-2ezbW0h5cYWr874F/hzytQCqINxk+GVelMY4xWTSHwwH1LrPAOzjlUljZ+/PhpaP6QeqYbL5x5vK/bnaXqkfEw==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.18.0",
+ "chalk": "^2.3.0",
+ "chokidar": "^2.0.2",
+ "glob-parent": "^3.1.0",
+ "globby": "^7.1.1",
+ "interpret": "^1.0.1",
+ "is-glob": "^4.0.0",
+ "loader-utils": "^1.1.0",
+ "lodash": "^4.3.0",
+ "memory-fs": "^0.4.1",
+ "nodent-runtime": "^3.0.3",
+ "normalize-path": "^2.0.1",
+ "progress": "^2.0.0",
+ "source-map-support": "^0.5.0",
+ "strip-ansi": "^4.0.0",
+ "toposort": "^1.0.0",
+ "yargs": "^11.0.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "globby": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "dir-glob": "^2.0.0",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
}
}
},
@@ -5475,7 +8038,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
- "dev": true,
"requires": {
"aproba": "^1.1.1",
"copy-concurrently": "^1.0.0",
@@ -5483,24 +8045,26 @@
"mkdirp": "^0.5.1",
"rimraf": "^2.5.4",
"run-queue": "^1.0.3"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "^7.0.5"
- }
- }
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "multicast-dns": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
+ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
+ "requires": {
+ "dns-packet": "^1.3.1",
+ "thunky": "^1.0.2"
+ }
+ },
+ "multicast-dns-service-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
+ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE="
},
"mute-stream": {
"version": "0.0.7",
@@ -5512,21 +8076,18 @@
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
"integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
- "dev": true,
"optional": true
},
"nanomatch": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
- "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
- "dev": true,
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"fragment-cache": "^0.2.1",
- "is-odd": "^2.0.0",
"is-windows": "^1.0.2",
"kind-of": "^6.0.2",
"object.pick": "^1.3.0",
@@ -5538,76 +8099,108 @@
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
},
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
},
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
}
}
},
"natural-compare": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz",
- "integrity": "sha1-H5bWDjFBysG20FZTzg2urHY69qo=",
- "dev": true
- },
- "ncp": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
- "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
"negotiator": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
- "dev": true
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"neo-async": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz",
- "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz",
+ "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw=="
+ },
+ "netmask": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
+ "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=",
"dev": true
},
- "nextcloud_issuetemplate_builder": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/nextcloud_issuetemplate_builder/-/nextcloud_issuetemplate_builder-0.1.0.tgz",
- "integrity": "sha512-b+0geJAVygUKPpIOyJiIuuGFFdxLGyRAqf+Ap25BdPWplNiLq6mpUFYEGdVaroKx41cn6j83MpDOSkVK5plJvg=="
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
},
"nice-try": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
- "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
- "dev": true
+ "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA=="
},
- "nise": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.3.tgz",
- "integrity": "sha512-cg44dkGHutAY+VmftgB1gHvLWxFl2vwYdF8WpbceYicQwylESRJiAAKgCRJntdoEbMiUzywkZEUzjoDWH0JwKA==",
+ "nightwatch": {
+ "version": "0.9.21",
+ "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.21.tgz",
+ "integrity": "sha1-nnlKdRS0/V9GYC02jlBRUjKrnpA=",
"dev": true,
"requires": {
- "@sinonjs/formatio": "^2.0.0",
- "just-extend": "^1.1.27",
- "lolex": "^2.3.2",
- "path-to-regexp": "^1.7.0",
- "text-encoding": "^0.6.4"
+ "chai-nightwatch": "~0.1.x",
+ "ejs": "2.5.7",
+ "lodash.clone": "3.0.3",
+ "lodash.defaultsdeep": "4.3.2",
+ "minimatch": "3.0.3",
+ "mkpath": "1.0.0",
+ "mocha-nightwatch": "3.2.2",
+ "optimist": "0.6.1",
+ "proxy-agent": "2.0.0",
+ "q": "1.4.1"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.0.0"
+ }
+ }
+ }
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "requires": {
+ "lower-case": "^1.1.1"
+ }
+ },
+ "node-forge": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
+ "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ=="
+ },
+ "node-ipc": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz",
+ "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==",
+ "requires": {
+ "event-pubsub": "4.3.0",
+ "js-message": "1.0.5",
+ "js-queue": "2.0.0"
}
},
"node-libs-browser": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
"integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
- "dev": true,
"requires": {
"assert": "^1.1.1",
"browserify-zlib": "^0.2.0",
@@ -5634,99 +8227,31 @@
"vm-browserify": "0.0.4"
},
"dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
}
}
},
- "nomnom": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz",
- "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=",
- "dev": true,
+ "node-releases": {
+ "version": "1.0.0-alpha.11",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.11.tgz",
+ "integrity": "sha512-CaViu+2FqTNYOYNihXa5uPS/zry92I3vPU4nCB6JB3OeZ2UGtOpF5gRwuN4+m3hbEcL47bOXyun1jX2iC+3uEQ==",
"requires": {
- "chalk": "~0.4.0",
- "underscore": "~1.6.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
- "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=",
- "dev": true
- },
- "chalk": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
- "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=",
- "dev": true,
- "requires": {
- "ansi-styles": "~1.0.0",
- "has-color": "~0.1.0",
- "strip-ansi": "~0.1.0"
- }
- },
- "strip-ansi": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
- "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=",
- "dev": true
- },
- "underscore": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
- "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
- "dev": true
- }
+ "semver": "^5.3.0"
}
},
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
+ "nodent-runtime": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/nodent-runtime/-/nodent-runtime-3.2.1.tgz",
+ "integrity": "sha512-7Ws63oC+215smeKJQCxzrK21VFVlCFBkwl0MOObt0HOpVQXs3u483sAmtkF33nNqZ5rSOQjB76fgyPBmAUrtCA==",
+ "dev": true
},
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"is-builtin-module": "^1.0.0",
@@ -5738,48 +8263,66 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true,
"requires": {
"remove-trailing-separator": "^1.0.1"
}
},
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
+ },
+ "normalize-url": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.2.0.tgz",
+ "integrity": "sha512-WvF3Myk0NhXkG8S9bygFM4IC1KOvnVJGq0QoGeoqOYOBeinBZp5ybW3QuYbTc89lkWBMM9ZBO4QGRoc0353kKA=="
+ },
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
"requires": {
"path-key": "^2.0.0"
}
},
+ "nth-check": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
+ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+ "requires": {
+ "boolbase": "~1.0.0"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
+ },
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "nwsapi": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.8.tgz",
+ "integrity": "sha512-7RZ+qbFGiVc6v14Y8DSZjPN1wZPOaMbiiP4tzf5eNuyOITAeOIA3cMhjuKUypVIqBgCSg1KaSyAv8Ocq/0ZJ1A==",
"dev": true
},
"oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
- "dev": true
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
- "object-component": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
- "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
- "dev": true
- },
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "dev": true,
"requires": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
@@ -5790,18 +8333,27 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
+ "object-hash": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.0.tgz",
+ "integrity": "sha512-05KzQ70lSeGSrZJQXE5wNDiTkBJDlUT/myi6RX9dVIvz7a7Qh4oH93BQdiPMn27nldYvVQCKMUaM83AfizZlsQ==",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+ "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag=="
+ },
"object-visit": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
"requires": {
"isobject": "^3.0.0"
},
@@ -5809,16 +8361,44 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
+ }
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "^0.1.4",
+ "is-extendable": "^0.1.1"
+ }
+ },
"object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
"requires": {
"isobject": "^3.0.1"
},
@@ -5826,25 +8406,43 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
+ "object.values": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
+ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.6.1",
+ "function-bind": "^1.1.0",
+ "has": "^1.0.1"
+ }
+ },
+ "obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
+ },
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
"requires": {
"ee-first": "1.1.1"
}
},
+ "on-headers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
+ },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
"requires": {
"wrappy": "1"
}
@@ -5853,25 +8451,31 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
"requires": {
"mimic-fn": "^1.0.0"
}
},
+ "opener": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.0.tgz",
+ "integrity": "sha512-MD4s/o61y2slS27zm2s4229V2gAUHX0/e3/XOmY/jsXwhysjjCIHN8lx7gqZCrZk19ym+HjCUWHeMKD7YJtKCQ=="
+ },
+ "opn": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
+ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==",
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
"optimist": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
"requires": {
"minimist": "~0.0.1",
"wordwrap": "~0.0.2"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
- }
}
},
"optionator": {
@@ -5896,21 +8500,75 @@
}
}
},
+ "ora": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz",
+ "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==",
+ "requires": {
+ "chalk": "^2.3.1",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^1.1.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^4.0.0",
+ "wcwidth": "^1.0.1"
+ }
+ },
+ "original": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
+ "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
+ "requires": {
+ "url-parse": "^1.4.3"
+ }
+ },
"os-browserify": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
- "dev": true
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
},
"os-locale": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
"integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "dev": true,
"requires": {
"execa": "^0.7.0",
"lcid": "^1.0.0",
"mem": "^1.1.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ }
}
},
"os-tmpdir": {
@@ -5922,90 +8580,110 @@
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
},
"p-limit": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz",
- "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
- "dev": true
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "requires": {
+ "p-try": "^1.0.0"
+ }
},
"p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
"requires": {
"p-limit": "^1.1.0"
}
},
+ "p-map": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
+ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA=="
+ },
"p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
+ },
+ "pac-proxy-agent": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
+ "integrity": "sha512-QBELCWyLYPgE2Gj+4wUEiMscHrQ8nRPBzYItQNOHWavwBt25ohZHQC4qnd5IszdVVrFbLsQ+dPkm6eqdjJAmwQ==",
+ "dev": true,
+ "requires": {
+ "agent-base": "2",
+ "debug": "2",
+ "extend": "3",
+ "get-uri": "2",
+ "http-proxy-agent": "1",
+ "https-proxy-agent": "1",
+ "pac-resolver": "~2.0.0",
+ "raw-body": "2",
+ "socks-proxy-agent": "2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "pac-resolver": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
- "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
- "dev": true
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
+ "integrity": "sha1-mbiNLxk/ve78HJpSnB8yYKtSd80=",
+ "dev": true,
+ "requires": {
+ "co": "~3.0.6",
+ "degenerator": "~1.0.2",
+ "ip": "1.0.1",
+ "netmask": "~1.0.4",
+ "thunkify": "~2.1.1"
+ },
+ "dependencies": {
+ "co": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
+ "integrity": "sha1-FEXyJsXrlWE45oyawwFn6n0ua9o=",
+ "dev": true
+ }
+ }
},
"pako": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
- "dev": true
+ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg=="
},
"parallel-transform": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
"integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
- "dev": true,
"requires": {
"cyclist": "~0.2.2",
"inherits": "^2.0.3",
"readable-stream": "^2.1.5"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ }
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "requires": {
+ "no-case": "^2.2.0"
}
},
"parse-asn1": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
"integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
- "dev": true,
"requires": {
"asn1.js": "^4.0.0",
"browserify-aes": "^1.0.0",
@@ -6014,109 +8692,102 @@
"pbkdf2": "^3.0.3"
}
},
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
"dev": true,
"requires": {
- "error-ex": "^1.2.0"
+ "glob-base": "^0.3.0",
+ "is-dotfile": "^1.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.0"
}
},
- "parseqs": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
- "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
- "dev": true,
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"requires": {
- "better-assert": "~1.0.0"
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
}
},
- "parseuri": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
- "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
- "dev": true,
- "requires": {
- "better-assert": "~1.0.0"
- }
+ "parse5": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
+ "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
+ "dev": true
},
"parseurl": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
- "dev": true
+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
},
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
},
"path-browserify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
- "dev": true
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
},
"path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
},
"path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
},
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
"dev": true
},
"path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
- "dev": true,
- "requires": {
- "isarray": "0.0.1"
- }
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "pify": "^3.0.0"
}
},
"pathval": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz",
- "integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
+ "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
"dev": true
},
"pbkdf2": {
"version": "3.0.16",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
"integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
- "dev": true,
"requires": {
"create-hash": "^1.1.2",
"create-hmac": "^1.1.4",
@@ -6134,210 +8805,1037 @@
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ },
+ "pluralize": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
"dev": true
},
- "phantom": {
- "version": "4.0.12",
- "resolved": "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz",
- "integrity": "sha512-Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==",
- "dev": true,
- "optional": true,
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+ "dev": true
+ },
+ "portfinder": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.16.tgz",
+ "integrity": "sha512-icBXCFQxzlK2PMepOM0QeEdPPFSLAaXXeuKOv5AClJlMy1oVCBrkDGJ12IZYesI/BF8mpeVco3vRCmgeBb4+hw==",
"requires": {
- "phantomjs-prebuilt": "^2.1.16",
- "split": "^1.0.1",
- "winston": "^2.4.0"
+ "async": "^1.5.2",
+ "debug": "^2.2.0",
+ "mkdirp": "0.5.x"
},
"dependencies": {
- "async": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
- "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
- "dev": true,
- "optional": true
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+ },
+ "postcss": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.2.tgz",
+ "integrity": "sha512-fmaUY5370keLUTx+CnwRxtGiuFTcNBLQBqr1oE3WZ/euIYmGAo0OAgOhVJ3ByDnVmOR3PK+0V9VebzfjRIUcqw==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-calc": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.1.tgz",
+ "integrity": "sha1-PSQXG79udinUIqQ26/5t2VEfQzA=",
+ "requires": {
+ "css-unit-converter": "^1.1.1",
+ "postcss": "^6.0.0",
+ "postcss-selector-parser": "^2.2.2",
+ "reduce-css-calc": "^2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
},
- "colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
- "dev": true,
- "optional": true
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-colormin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.1.tgz",
+ "integrity": "sha1-bxwYoBVbxpYT8v8ThD4uSuj/C74=",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "color": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.0.2.tgz",
+ "integrity": "sha512-lpujC4zv1trcKUUwfD4pFVNga4YSpB3sLB+/I+A8gvGQxno1c0dMB2aCQy0FE5oUNIDjD9puFiFF0zeS6Ji48w==",
+ "requires": {
+ "caniuse-lite": "^1.0.30000876",
+ "electron-to-chromium": "^1.3.57",
+ "node-releases": "^1.0.0-alpha.11"
+ }
},
- "winston": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.3.tgz",
- "integrity": "sha512-GYKuysPz2pxYAVJD2NPsDLP5Z79SDEzPm9/j4tCjkF/n89iBNGBMJcR+dMUqxgPNgoSs6fVygPi+Vl2oxIpBuw==",
- "dev": true,
- "optional": true,
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"requires": {
- "async": "~1.0.0",
- "colors": "1.0.x",
- "cycle": "1.0.x",
- "eyes": "0.1.x",
- "isstream": "0.1.x",
- "stack-trace": "0.0.x"
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
}
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
- "phantomjs-prebuilt": {
- "version": "2.1.16",
- "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
- "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
- "dev": true,
+ "postcss-convert-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.0.tgz",
+ "integrity": "sha1-d9d9mu0dxOaVbmUcw0nVMwWHb2I=",
"requires": {
- "es6-promise": "^4.0.3",
- "extract-zip": "^1.6.5",
- "fs-extra": "^1.0.0",
- "hasha": "^2.2.0",
- "kew": "^0.7.0",
- "progress": "^1.1.8",
- "request": "^2.81.0",
- "request-progress": "^2.0.1",
- "which": "^1.2.10"
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
},
"dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.0.tgz",
+ "integrity": "sha1-loSimedrPpMmPvj9KtvxocCP2I0=",
+ "requires": {
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.0.tgz",
+ "integrity": "sha1-QvPCZ/hfqQngQsNXZ+z9Zcsr1yw=",
+ "requires": {
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
},
- "fs-extra": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
- "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
- "dev": true,
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.0.tgz",
+ "integrity": "sha1-VeGKWcdBKOOMfSgEvPpAVmEfuX8=",
+ "requires": {
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^2.1.0",
- "klaw": "^1.0.0"
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
}
},
- "har-validator": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
- "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
- "dev": true,
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.0.tgz",
+ "integrity": "sha1-Sgv4WXh4TPH4HtLBwf2dlkodofo=",
+ "requires": {
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"requires": {
- "ajv": "^5.1.0",
- "har-schema": "^2.0.0"
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
}
},
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-load-config": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz",
+ "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
+ "requires": {
+ "cosmiconfig": "^4.0.0",
+ "import-cwd": "^2.0.0"
+ },
+ "dependencies": {
+ "cosmiconfig": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
+ "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
"requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.9.0",
+ "parse-json": "^4.0.0",
+ "require-from-string": "^2.0.1"
+ }
+ }
+ }
+ },
+ "postcss-loader": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz",
+ "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==",
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "postcss": "^6.0.0",
+ "postcss-load-config": "^2.0.0",
+ "schema-utils": "^0.4.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
}
},
- "request": {
- "version": "2.87.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
- "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
- "dev": true,
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.4.tgz",
+ "integrity": "sha512-wLi2u22mSdBDBjLF8pyaPCNppOmqb+B4O0Dlt/4nUwn79EltDUJmCeCDYqo7SB2z9puOHTftnxviY4J9xS+ygQ==",
+ "requires": {
+ "css-color-names": "0.0.4",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "stylehacks": "^4.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.6.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.5",
- "extend": "~3.0.1",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.1",
- "har-validator": "~5.0.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.17",
- "oauth-sign": "~0.8.2",
- "performance-now": "^2.1.0",
- "qs": "~6.5.1",
- "safe-buffer": "^5.1.1",
- "tough-cookie": "~2.3.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.1.0"
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
}
},
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.1.tgz",
+ "integrity": "sha1-Qw/Vmz8u0uivzQsxJ47aOYVKuxA=",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-util-same-parent": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-selector-parser": "^3.0.0",
+ "vendors": "^1.0.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.0.2.tgz",
+ "integrity": "sha512-lpujC4zv1trcKUUwfD4pFVNga4YSpB3sLB+/I+A8gvGQxno1c0dMB2aCQy0FE5oUNIDjD9puFiFF0zeS6Ji48w==",
+ "requires": {
+ "caniuse-lite": "^1.0.30000876",
+ "electron-to-chromium": "^1.3.57",
+ "node-releases": "^1.0.0-alpha.11"
+ }
+ },
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"requires": {
- "safe-buffer": "^5.0.1"
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
}
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
+ "postcss-minify-font-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.0.tgz",
+ "integrity": "sha1-TMM9KD1qgXWQNudX75gdksvYW+0=",
+ "requires": {
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
},
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
+ "postcss-minify-gradients": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.0.tgz",
+ "integrity": "sha1-P8ORZDnSepu4Bm23za2AFlDrCQ4=",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "is-color-stop": "^1.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
},
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
+ "postcss-minify-params": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.0.tgz",
+ "integrity": "sha1-BekWbuSMBa9lGYnOhNOcG015BnQ=",
"requires": {
- "pinkie": "^2.0.0"
+ "alphanum-sort": "^1.0.0",
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
}
},
- "pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "dev": true,
+ "postcss-minify-selectors": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.0.tgz",
+ "integrity": "sha1-sen2xGNBbT/Nyybnt4XZX2FXiq0=",
"requires": {
- "find-up": "^2.1.0"
+ "alphanum-sort": "^1.0.0",
+ "has": "^1.0.0",
+ "postcss": "^6.0.0",
+ "postcss-selector-parser": "^3.0.0"
},
"dependencies": {
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"requires": {
- "locate-path": "^2.0.0"
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
}
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
- "pkginfo": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz",
- "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=",
- "dev": true
+ "postcss-modules-extract-imports": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz",
+ "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=",
+ "requires": {
+ "postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
},
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true
+ "postcss-modules-local-by-default": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-modules-values": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "requires": {
+ "icss-replace-symbols": "^1.1.0",
+ "postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.0.tgz",
+ "integrity": "sha1-JFJyknAtXoEp6vo9HeSe1RpqtzA=",
+ "requires": {
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-display-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz",
+ "integrity": "sha1-lQ4Me+NEV3ChYP/9a2ZEw8DNj4k=",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-positions": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.0.tgz",
+ "integrity": "sha1-7pNDq5gbgixjq3JhXszNCFZERaM=",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-repeat-style": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.0.tgz",
+ "integrity": "sha1-txHFks8W+vn/V15C+hALZ5kIPv8=",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.0.tgz",
+ "integrity": "sha1-cYy20wpvrGrGqDDjLAbAfbxm/l0=",
+ "requires": {
+ "has": "^1.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-timing-functions": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.0.tgz",
+ "integrity": "sha1-A1HymIaqmB1D2RssK9GuptCvbSM=",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-unicode": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.0.tgz",
+ "integrity": "sha1-Ws1dR7rqXRdnSyzMSuUWb6iM35c=",
+ "requires": {
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.0.tgz",
+ "integrity": "sha1-t6nIrSbPJmlMFG6y1ovQz0mVbw0=",
+ "requires": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^3.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-normalize-whitespace": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.0.tgz",
+ "integrity": "sha1-HafnaxCuY8EYJ/oE/Du0oe/pnMA=",
+ "requires": {
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.0.0.tgz",
+ "integrity": "sha1-WLQMdPcuAi6zQVLBLksPk1RIL8I=",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.1.tgz",
+ "integrity": "sha1-8tWPUM6isMXcEnjW6l7Q/1gpwpM=",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^6.0.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.0.2.tgz",
+ "integrity": "sha512-lpujC4zv1trcKUUwfD4pFVNga4YSpB3sLB+/I+A8gvGQxno1c0dMB2aCQy0FE5oUNIDjD9puFiFF0zeS6Ji48w==",
+ "requires": {
+ "caniuse-lite": "^1.0.30000876",
+ "electron-to-chromium": "^1.3.57",
+ "node-releases": "^1.0.0-alpha.11"
+ }
+ },
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.0.tgz",
+ "integrity": "sha1-9kX8dEDDUnT0DegQThStcWPt8Yg=",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "requires": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.0.tgz",
+ "integrity": "sha1-wLutAlIPxjbJ14sOhAPi5RXDIoU=",
+ "requires": {
+ "is-svg": "^3.0.0",
+ "postcss": "^6.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "svgo": "^1.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.0.tgz",
+ "integrity": "sha1-BMHpdkx1h0JhMDQCxB8Ol2n8VQE=",
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "postcss": "^6.0.0",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU="
},
"prelude-ls": {
"version": "1.1.2",
@@ -6345,60 +9843,108 @@
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"dev": true
},
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "prettier": {
+ "version": "1.13.7",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.7.tgz",
+ "integrity": "sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w=="
+ },
+ "pretty-error": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
+ "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+ "requires": {
+ "renderkid": "^2.0.1",
+ "utila": "~0.4"
+ }
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
- "dev": true
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
},
"progress": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
- "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
"dev": true
},
"promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
- "dev": true
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+ },
+ "proxy-addr": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
+ "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
+ "requires": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.8.0"
+ }
},
- "prompt": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz",
- "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=",
+ "proxy-agent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
+ "integrity": "sha1-V+tTR6qAXXTsaByyVknbo5yTNJk=",
"dev": true,
"requires": {
- "pkginfo": "0.x.x",
- "read": "1.0.x",
- "revalidator": "0.1.x",
- "utile": "0.2.x",
- "winston": "0.8.x"
+ "agent-base": "2",
+ "debug": "2",
+ "extend": "3",
+ "http-proxy-agent": "1",
+ "https-proxy-agent": "1",
+ "lru-cache": "~2.6.5",
+ "pac-proxy-agent": "1",
+ "socks-proxy-agent": "2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"prr": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
- "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
- "dev": true
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ },
+ "psl": {
+ "version": "1.1.29",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
+ "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
},
"public-encrypt": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
"integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
- "dev": true,
"requires": {
"bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0",
@@ -6411,7 +9957,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -6421,7 +9966,6 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
- "dev": true,
"requires": {
"duplexify": "^3.6.0",
"inherits": "^2.0.3",
@@ -6429,40 +9973,64 @@
}
},
"punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
- "qjobs": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
- "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
- "dev": true
+ "q": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"querystring": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
- "dev": true
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
},
"querystring-es3": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
- "dev": true
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+ },
+ "querystringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz",
+ "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw=="
+ },
+ "randomatic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz",
+ "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
},
"randombytes": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
- "dev": true,
"requires": {
"safe-buffer": "^5.1.0"
}
@@ -6471,7 +10039,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true,
"requires": {
"randombytes": "^2.0.5",
"safe-buffer": "^5.1.0"
@@ -6480,8 +10047,7 @@
"range-parser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
- "dev": true
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"raw-body": {
"version": "2.3.3",
@@ -6493,148 +10059,261 @@
"http-errors": "1.6.3",
"iconv-lite": "0.4.23",
"unpipe": "1.0.0"
- },
- "dependencies": {
- "iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- }
- }
- },
- "raw-loader": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
- "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
- "dev": true
- },
- "read": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
- "dev": true,
- "requires": {
- "mute-stream": "~0.0.4"
}
},
"read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz",
+ "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=",
"requires": {
- "load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0"
}
},
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
"requires": {
"find-up": "^1.0.0",
"read-pkg": "^1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ }
}
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
}
},
"readdirp": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
"integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"minimatch": "^3.0.2",
"readable-stream": "^2.0.2",
"set-immediate-shim": "^1.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
"requires": {
"indent-string": "^2.1.0",
"strip-indent": "^1.0.1"
}
},
+ "reduce-css-calc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.4.tgz",
+ "integrity": "sha512-i/vWQbyd3aJRmip9OVSN9V6nIjLf/gg/ctxb0CpvHWtcRysFl/ngDBQD+rqavxdw/doScA3GMBXhzkHQ4GCzFQ==",
+ "requires": {
+ "css-unit-converter": "^1.1.1",
+ "postcss-value-parser": "^3.3.0"
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+ },
+ "regenerate-unicode-properties": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
+ "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
"regenerator-runtime": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
- "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==",
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
"dev": true
},
+ "regenerator-transform": {
+ "version": "0.12.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.12.4.tgz",
+ "integrity": "sha512-p2I0fY+TbSLD2/VFTFb/ypEHxs3e3AjU0DzttdPqk2bSmDhfSh5E54b86Yc6XhUa5KykK1tgbvZ4Nr82oCJWkQ==",
+ "dev": true,
+ "requires": {
+ "private": "^0.1.6"
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "^0.1.3"
+ }
+ },
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true,
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
}
},
+ "regexpp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
+ "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz",
+ "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^7.0.0",
+ "regjsgen": "^0.4.0",
+ "regjsparser": "^0.3.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.0.2"
+ }
+ },
+ "regjsgen": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz",
+ "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz",
+ "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
+ },
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ },
+ "renderkid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz",
+ "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=",
+ "requires": {
+ "css-select": "^1.1.0",
+ "dom-converter": "~0.1",
+ "htmlparser2": "~3.3.0",
+ "strip-ansi": "^3.0.0",
+ "utila": "~0.3"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "css-select": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+ "requires": {
+ "boolbase": "~1.0.0",
+ "css-what": "2.1",
+ "domutils": "1.5.1",
+ "nth-check": "~1.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "utila": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY="
+ }
+ }
},
"repeat-element": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
- "dev": true
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
},
"repeat-string": {
"version": "1.6.1",
@@ -6645,159 +10324,124 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
"requires": {
"is-finite": "^1.0.0"
}
},
"request": {
- "version": "2.87.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
- "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
- "dev": true,
+ "version": "2.88.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
"requires": {
"aws-sign2": "~0.7.0",
- "aws4": "^1.6.0",
+ "aws4": "^1.8.0",
"caseless": "~0.12.0",
- "combined-stream": "~1.0.5",
- "extend": "~3.0.1",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
"forever-agent": "~0.6.1",
- "form-data": "~2.3.1",
- "har-validator": "~5.0.3",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.17",
- "oauth-sign": "~0.8.2",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
- "qs": "~6.5.1",
- "safe-buffer": "^5.1.1",
- "tough-cookie": "~2.3.3",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
"tunnel-agent": "^0.6.0",
- "uuid": "^3.1.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "har-validator": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
- "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
- "dev": true,
- "requires": {
- "ajv": "^5.1.0",
- "har-schema": "^2.0.0"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- }
+ "uuid": "^3.3.2"
}
},
- "request-progress": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
- "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
- "dev": true,
+ "request-promise-core": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
+ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=",
+ "requires": {
+ "lodash": "^4.13.1"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz",
+ "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=",
"requires": {
- "throttleit": "^1.0.0"
+ "request-promise-core": "1.1.1",
+ "stealthy-require": "^1.1.0",
+ "tough-cookie": ">=2.3.3"
}
},
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ },
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
},
"require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
},
- "requirejs": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz",
- "integrity": "sha512-svnO+aNcR/an9Dpi44C7KSAy5fFGLtmPbaaCeQaklUz8BQhS64tWWIIlvEA5jrWICzlO/X9KSzSeXFnZdBu8nw=="
+ "require-uncached": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "^0.1.0",
+ "resolve-from": "^1.0.0"
+ }
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
- },
- "reserved-words": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz",
- "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=",
- "dev": true
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.5"
+ }
},
"resolve-cwd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
"integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
- "dev": true,
"requires": {
"resolve-from": "^3.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
+ }
}
},
"resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
"dev": true
},
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
},
"restore-cursor": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true,
"requires": {
"onetime": "^2.0.0",
"signal-exit": "^3.0.2"
@@ -6806,41 +10450,30 @@
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
},
- "revalidator": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
- "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=",
- "dev": true
+ "rgb-regex": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
+ "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE="
},
- "rfdc": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.2.tgz",
- "integrity": "sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA==",
- "dev": true
+ "rgba-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
+ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM="
},
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "optional": true,
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"requires": {
- "align-text": "^0.1.1"
+ "glob": "^7.0.5"
}
},
- "rimraf": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
- "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
- "dev": true
- },
"ripemd160": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
"requires": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1"
@@ -6859,30 +10492,34 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
- "dev": true,
"requires": {
"aproba": "^1.1.1"
}
},
- "rxjs": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz",
- "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==",
+ "rx-lite": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+ "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
+ "dev": true
+ },
+ "rx-lite-aggregates": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
"dev": true,
"requires": {
- "tslib": "^1.9.0"
+ "rx-lite": "*"
}
},
"safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safe-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
"requires": {
"ret": "~0.1.10"
}
@@ -6890,20 +10527,17 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "samsam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
- "dev": true
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"schema-utils": {
"version": "0.4.7",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
- "dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-keywords": "^3.1.0"
@@ -6913,7 +10547,6 @@
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz",
"integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==",
- "dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -6921,49 +10554,141 @@
"uri-js": "^4.2.1"
}
},
+ "ajv-keywords": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
+ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo="
+ },
"fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
}
}
},
- "semver": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
+ "select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
+ },
+ "selenium-server": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/selenium-server/-/selenium-server-3.14.0.tgz",
+ "integrity": "sha512-+CCi1ED+7f36xpeGUqB8bWHde0To+9ZtegBHwWkbd9NsZcvANrtr8wlRNqHSD8yGmC0F7rixbgwiJEK9mTCLww==",
"dev": true
},
+ "selfsigned": {
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz",
+ "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==",
+ "requires": {
+ "node-forge": "0.7.5"
+ }
+ },
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
+ },
+ "send": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
+ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.6.2",
+ "mime": "1.4.1",
+ "ms": "2.0.0",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.0",
+ "statuses": "~1.4.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "mime": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
+ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
+ },
+ "statuses": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
+ }
+ }
+ },
"serialize-javascript": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
- "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
- "dev": true
+ "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ=="
+ },
+ "serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "requires": {
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
+ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.2",
+ "send": "0.16.2"
+ }
},
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"set-immediate-shim": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
- "dev": true
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
},
"set-value": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
- "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -6975,7 +10700,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -6985,20 +10709,17 @@
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
- "dev": true
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"setprototypeof": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
},
"sha.js": {
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true,
"requires": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
@@ -7008,7 +10729,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
"requires": {
"shebang-regex": "^1.0.0"
}
@@ -7016,60 +10736,63 @@
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
},
- "shelljs": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
- "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
- "dev": true
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "requires": {
+ "array-filter": "~0.0.0",
+ "array-map": "~0.0.0",
+ "array-reduce": "~0.0.0",
+ "jsonify": "~0.0.0"
+ }
},
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
- "sinon": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.1.5.tgz",
- "integrity": "sha512-TcbRoWs1SdY6NOqfj0c9OEQquBoZH+qEf8799m1jjcbfWrrpyCQ3B/BpX7+NKa7Vn33Jl+Z50H4Oys3bzygK2Q==",
- "dev": true,
+ "simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
"requires": {
- "@sinonjs/commons": "^1.0.1",
- "@sinonjs/formatio": "^2.0.0",
- "@sinonjs/samsam": "^2.0.0",
- "diff": "^3.5.0",
- "lodash.get": "^4.4.2",
- "lolex": "^2.7.1",
- "nise": "^1.4.2",
- "supports-color": "^5.4.0",
- "type-detect": "^4.0.8"
+ "is-arrayish": "^0.3.1"
},
"dependencies": {
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
+ "is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
}
}
},
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ },
+ "slice-ansi": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0"
+ }
+ },
+ "smart-buffer": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
+ "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
+ "dev": true
+ },
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
"requires": {
"base": "^0.11.1",
"debug": "^2.2.0",
@@ -7081,11 +10804,18 @@
"use": "^3.1.0"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -7094,7 +10824,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -7105,7 +10834,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
"requires": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
@@ -7116,7 +10844,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -7125,7 +10852,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -7134,7 +10860,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -7143,7 +10868,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -7153,14 +10877,12 @@
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
},
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
}
}
},
@@ -7168,108 +10890,83 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
"requires": {
"kind-of": "^3.2.0"
}
},
- "socket.io": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
- "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
- "dev": true,
+ "sockjs": {
+ "version": "0.3.19",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
+ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
"requires": {
- "debug": "~3.1.0",
- "engine.io": "~3.2.0",
- "has-binary2": "~1.0.2",
- "socket.io-adapter": "~1.1.0",
- "socket.io-client": "2.1.1",
- "socket.io-parser": "~3.2.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "faye-websocket": "^0.10.0",
+ "uuid": "^3.0.1"
}
},
- "socket.io-adapter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
- "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
- "dev": true
- },
- "socket.io-client": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
- "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
- "dev": true,
- "requires": {
- "backo2": "1.0.2",
- "base64-arraybuffer": "0.1.5",
- "component-bind": "1.0.0",
- "component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "engine.io-client": "~3.2.0",
- "has-binary2": "~1.0.2",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "object-component": "0.0.3",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "socket.io-parser": "~3.2.0",
- "to-array": "0.1.4"
+ "sockjs-client": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz",
+ "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=",
+ "requires": {
+ "debug": "^2.6.6",
+ "eventsource": "0.1.6",
+ "faye-websocket": "~0.11.0",
+ "inherits": "^2.0.1",
+ "json3": "^3.3.2",
+ "url-parse": "^1.1.8"
},
"dependencies": {
"debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
+ },
+ "faye-websocket": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
}
}
},
- "socket.io-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
- "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
+ "socks": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
+ "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=",
"dev": true,
"requires": {
- "component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "isarray": "2.0.1"
+ "ip": "^1.1.4",
+ "smart-buffer": "^1.0.13"
},
"dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true
}
}
},
+ "socks-proxy-agent": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
+ "integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==",
+ "dev": true,
+ "requires": {
+ "agent-base": "2",
+ "extend": "3",
+ "socks": "~1.1.5"
+ }
+ },
"source-list-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
- "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
- "dev": true
+ "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A=="
},
"source-map": {
"version": "0.5.7",
@@ -7277,12 +10974,11 @@
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
},
"source-map-resolve": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
- "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
- "dev": true,
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
"requires": {
- "atob": "^2.0.0",
+ "atob": "^2.1.1",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
@@ -7290,56 +10986,107 @@
}
},
"source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.8.tgz",
+ "integrity": "sha512-WqAEWPdb78u25RfKzOF0swBpY0dKrNdjc4GvLwm7ScX/o9bj8Eh/YL8mcMhBHYDGl87UkkSXDOFnW4G7GhWhGg==",
"dev": true,
"requires": {
- "source-map": "^0.5.6"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
},
"spdx-correct": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"requires": {
- "spdx-license-ids": "^1.0.2"
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
}
},
+ "spdx-exceptions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+ "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg=="
+ },
"spdx-expression-parse": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
},
"spdx-license-ids": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA=="
},
- "split": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
- "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
- "dev": true,
- "optional": true,
+ "spdy": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
+ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
"requires": {
- "through": "2"
+ "debug": "^2.6.8",
+ "handle-thing": "^1.2.5",
+ "http-deceiver": "^1.2.7",
+ "safe-buffer": "^5.0.1",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^2.0.18"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "spdy-transport": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz",
+ "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==",
+ "requires": {
+ "debug": "^2.6.8",
+ "detect-node": "^2.0.3",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.1",
+ "readable-stream": "^2.2.9",
+ "safe-buffer": "^5.0.1",
+ "wbuf": "^1.7.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
"requires": {
"extend-shallow": "^3.0.0"
}
@@ -7347,14 +11094,12 @@
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
},
"sshpk": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
- "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
- "dev": true,
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
+ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -7363,37 +11108,29 @@
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- }
}
},
"ssri": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
- "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.1"
- }
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.0.tgz",
+ "integrity": "sha512-zYOGfVHPhxyzwi8MdtdNyxv3IynWCIM4jYReR48lqu0VngxgH1c+C6CmipRdJ55eVByTJV/gboFEEI7TEQI8DA=="
},
- "stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
- "dev": true
+ "stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
+ },
+ "stackframe": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz",
+ "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw=="
},
"static-extend": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "dev": true,
"requires": {
"define-property": "^0.2.5",
"object-copy": "^0.1.0"
@@ -7403,7 +11140,6 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -7413,62 +11149,26 @@
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
},
"stream-browserify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
"integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
- "dev": true,
"requires": {
"inherits": "~2.0.1",
"readable-stream": "^2.0.2"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"stream-each": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
"integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
- "dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"stream-shift": "^1.0.0"
@@ -7478,183 +11178,68 @@
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
"integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
- "dev": true,
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.3.6",
"to-arraybuffer": "^1.0.0",
"xtend": "^4.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"stream-shift": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
- "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
- "dev": true
- },
- "streamroller": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
- "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
- "dev": true,
- "requires": {
- "date-format": "^1.2.0",
- "debug": "^3.1.0",
- "mkdirp": "^0.5.1",
- "readable-stream": "^2.3.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
}
},
- "string.prototype.endswith": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/string.prototype.endswith/-/string.prototype.endswith-0.2.0.tgz",
- "integrity": "sha1-oZwg3uUamHd+mkfhDwm+OTubunU=",
- "dev": true
- },
- "string.prototype.repeat": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
- "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
- "dev": true
+ "string.prototype.padend": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
+ "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.4.3",
+ "function-bind": "^1.0.2"
+ }
},
- "string.prototype.startswith": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/string.prototype.startswith/-/string.prototype.startswith-0.2.0.tgz",
- "integrity": "sha1-2miYLjU6TprEpDtFCiBF0cRFrns=",
- "dev": true
+ "string.prototype.padstart": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz",
+ "integrity": "sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.4.3",
+ "function-bind": "^1.0.2"
+ }
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
},
"strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "^3.0.0"
}
},
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
"requires": {
"is-utf8": "^0.2.0"
}
@@ -7662,47 +11247,163 @@
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
},
"strip-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
"requires": {
"get-stdin": "^4.0.1"
}
},
"strip-json-comments": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
- "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
+ "stylehacks": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.0.tgz",
+ "integrity": "sha1-ZLMjlRxKJOX8ey7AbBN78y0VXoo=",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^6.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.0.2.tgz",
+ "integrity": "sha512-lpujC4zv1trcKUUwfD4pFVNga4YSpB3sLB+/I+A8gvGQxno1c0dMB2aCQy0FE5oUNIDjD9puFiFF0zeS6Ji48w==",
+ "requires": {
+ "caniuse-lite": "^1.0.30000876",
+ "electron-to-chromium": "^1.3.57",
+ "node-releases": "^1.0.0-alpha.11"
+ }
+ },
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
"supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "svgo": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.0.5.tgz",
+ "integrity": "sha512-nYrifviB77aNKDNKKyuay3M9aYiK6Hv5gJVDdjj2ZXTQmI8WZc8+UPLR5IpVlktJfSu3co/4XcWgrgI6seGBPg==",
+ "requires": {
+ "coa": "~2.0.1",
+ "colors": "~1.1.2",
+ "css-select": "~1.3.0-rc0",
+ "css-select-base-adapter": "~0.1.0",
+ "css-tree": "1.0.0-alpha25",
+ "css-url-regex": "^1.1.0",
+ "csso": "^3.5.0",
+ "js-yaml": "~3.10.0",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.0.4",
+ "sax": "~1.2.4",
+ "stable": "~0.1.6",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ }
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
+ "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=",
"dev": true
},
+ "table": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
+ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^5.2.3",
+ "ajv-keywords": "^2.1.0",
+ "chalk": "^2.1.0",
+ "lodash": "^4.17.4",
+ "slice-ansi": "1.0.0",
+ "string-width": "^2.1.1"
+ }
+ },
"tapable": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz",
- "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==",
- "dev": true
+ "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg=="
},
- "text-encoding": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
- "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
- "dev": true
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
},
- "throttleit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
- "dev": true
+ "thread-loader": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-1.2.0.tgz",
+ "integrity": "sha512-acJ0rvUk53+ly9cqYWNOpPqOgCkNpmHLPDGduNm4hDQWF7EDKEJXAopG9iEWsPPcml09wePkq3NF+ZUqnO6tbg==",
+ "requires": {
+ "async": "^2.3.0",
+ "loader-runner": "^2.3.0",
+ "loader-utils": "^1.1.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+ "requires": {
+ "lodash": "^4.17.10"
+ }
+ }
+ }
},
"through": {
"version": "2.3.8",
@@ -7714,59 +11415,35 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
"requires": {
"readable-stream": "^2.1.5",
"xtend": "~4.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
+ "thunkify": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
+ "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
+ "dev": true
+ },
+ "thunky": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz",
+ "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E="
+ },
"timers-browserify": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
"integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
- "dev": true,
"requires": {
"setimmediate": "^1.0.4"
}
},
+ "timsort": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
+ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -7776,29 +11453,21 @@
"os-tmpdir": "~1.0.2"
}
},
- "to-array": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
- "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
- "dev": true
- },
"to-arraybuffer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
- "dev": true
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
},
- "to-double-quotes": {
+ "to-fast-properties": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz",
- "integrity": "sha1-qvIx1vqUiUn4GTAburRITYWI5Kc=",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
"dev": true
},
"to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
"requires": {
"kind-of": "^3.0.2"
}
@@ -7807,7 +11476,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
@@ -7819,7 +11487,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
@@ -7829,51 +11496,88 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
"requires": {
"kind-of": "^3.0.2"
}
}
}
},
- "to-single-quotes": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz",
- "integrity": "sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU=",
- "dev": true
+ "topo": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.0.tgz",
+ "integrity": "sha512-Tlu1fGlR90iCdIPURqPiufqAlCZYzLjHYVVbcFWDMcX7+tK8hdZWAfsMrD/pBul9jqHHwFjNdf1WaxA9vTRRhw==",
+ "requires": {
+ "hoek": "5.x.x"
+ }
+ },
+ "toposort": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
+ "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk="
},
"tough-cookie": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
- "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
- "dev": true,
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
"requires": {
+ "psl": "^1.1.24",
"punycode": "^1.4.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ }
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
}
},
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
+ "tryer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
+ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA=="
+ },
"tslib": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz",
- "integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw==",
- "dev": true
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
},
"tty-browserify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
- "dev": true
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true,
"optional": true
},
"type-check": {
@@ -7886,90 +11590,50 @@
}
},
"type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
+ "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
"dev": true
},
"type-is": {
"version": "1.6.16",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
"integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
- "dev": true,
"requires": {
"media-typer": "0.3.0",
"mime-types": "~2.1.18"
- },
- "dependencies": {
- "mime-db": {
- "version": "1.35.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
- "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.19",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
- "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
- "dev": true,
- "requires": {
- "mime-db": "~1.35.0"
- }
- }
}
},
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
- "uglify-es": {
- "version": "3.3.9",
- "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
- "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
- "dev": true,
+ "uglify-js": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.7.tgz",
+ "integrity": "sha512-J0M2i1mQA+ze3EdN9SBi751DNdAXmeFLfJrd/MDIkRc3G3Gbb9OPVSx7GIQvVwfWxQARcYV2DTxIkMyDAk3o9Q==",
"requires": {
- "commander": "~2.13.0",
+ "commander": "~2.16.0",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
- "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
- "dev": true
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
+ "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew=="
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "optional": true,
- "requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- }
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "optional": true
- },
"uglifyjs-webpack-plugin": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz",
- "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==",
- "dev": true,
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz",
+ "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
"requires": {
"cacache": "^10.0.4",
"find-cache-dir": "^1.0.0",
@@ -7981,46 +11645,59 @@
"worker-farm": "^1.5.2"
},
"dependencies": {
+ "commander": {
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
+ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "uglify-es": {
+ "version": "3.3.9",
+ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
+ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
+ "requires": {
+ "commander": "~2.13.0",
+ "source-map": "~0.6.1"
+ }
}
}
},
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
"dev": true
},
- "underscore": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
- "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
- },
- "underscore.string": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
- "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
"dev": true,
"requires": {
- "sprintf-js": "^1.0.3",
- "util-deprecate": "^1.0.2"
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
}
},
- "unicode-5.2.0": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz",
- "integrity": "sha512-KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==",
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
+ "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==",
"dev": true
},
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
- "dev": true,
"requires": {
"arr-union": "^3.1.0",
"get-value": "^2.0.6",
@@ -8032,7 +11709,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -8041,7 +11717,6 @@
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -8051,11 +11726,20 @@
}
}
},
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
+ },
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
+ },
"unique-filename": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz",
"integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=",
- "dev": true,
"requires": {
"unique-slug": "^2.0.0"
}
@@ -8064,22 +11748,29 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz",
"integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=",
- "dev": true,
"requires": {
"imurmurhash": "^0.1.4"
}
},
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
- "dev": true
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ },
+ "unquote": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
},
"unset-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "dev": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
@@ -8089,7 +11780,6 @@
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
@@ -8100,7 +11790,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
"requires": {
"isarray": "1.0.0"
}
@@ -8110,57 +11799,42 @@
"has-values": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
},
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
"upath": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
- "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
- "dev": true
+ "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw=="
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
},
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
"requires": {
"punycode": "^2.1.0"
- },
- "dependencies": {
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- }
}
},
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
},
"url": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "dev": true,
"requires": {
"punycode": "1.3.2",
"querystring": "0.2.0"
@@ -8169,57 +11843,81 @@
"punycode": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
- "dev": true
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
}
}
},
"url-join": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
- "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
- "dev": true
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz",
+ "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo="
},
- "use": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
- "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
- "dev": true,
+ "url-loader": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.0.tgz",
+ "integrity": "sha512-p/+44Z+yHoQVV6VKsgZuHi7UfvaKhJqucXvKQtsVQYyzaSC8KVdoXjIM5TToZxarq9WB+qIhMVTZr1v7bENKdg==",
"requires": {
- "kind-of": "^6.0.2"
+ "loader-utils": "^1.1.0",
+ "mime": "^2.0.3",
+ "schema-utils": "1.0.0"
},
"dependencies": {
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
+ "ajv": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz",
+ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==",
+ "requires": {
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
+ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo="
+ },
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
}
}
},
- "useragent": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz",
- "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=",
- "dev": true,
+ "url-parse": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz",
+ "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==",
"requires": {
- "lru-cache": "2.2.x",
- "tmp": "0.0.x"
- },
- "dependencies": {
- "lru-cache": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz",
- "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=",
- "dev": true
- }
+ "querystringify": "^2.0.0",
+ "requires-port": "^1.0.0"
}
},
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+ },
"util": {
"version": "0.10.4",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
"integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "dev": true,
"requires": {
"inherits": "2.0.3"
}
@@ -8229,141 +11927,182 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
- "utile": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
- "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=",
- "dev": true,
+ "util.promisify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
"requires": {
- "async": "~0.2.9",
- "deep-equal": "*",
- "i": "0.3.x",
- "mkdirp": "0.x.x",
- "ncp": "0.4.x",
- "rimraf": "2.x.x"
- },
- "dependencies": {
- "async": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
- "dev": true
- }
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
}
},
+ "utila": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+ "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw="
+ },
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
- "dev": true
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"uuid": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
- "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==",
- "dev": true
- },
- "v8-compile-cache": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz",
- "integrity": "sha512-qNdTUMaCjPs4eEnM3W9H94R3sU70YCuT+/ST7nUf+id1bVOrdjrpUaeZLqPBPRph3hsgn4a4BvwpxhHZx+oSDg==",
- "dev": true
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
},
"validate-npm-package-license": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
- "dev": true,
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"requires": {
- "spdx-correct": "~1.0.0",
- "spdx-expression-parse": "~1.0.0"
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
}
},
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+ },
+ "vendors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
+ "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ=="
+ },
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- }
}
},
"vm-browserify": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
"integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
- "dev": true,
"requires": {
"indexof": "0.0.1"
}
},
- "void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
- "dev": true
+ "vue": {
+ "version": "2.5.17",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.17.tgz",
+ "integrity": "sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ=="
},
- "vow": {
- "version": "0.4.17",
- "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.17.tgz",
- "integrity": "sha512-A3/9bWFqf6gT0jLR4/+bT+IPTe1mQf+tdsW6+WI5geP9smAp8Kbbu4R6QQCDKZN/8TSCqTlXVQm12QliB4rHfg==",
- "dev": true
+ "vue-eslint-parser": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz",
+ "integrity": "sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "eslint-scope": "^3.7.1",
+ "eslint-visitor-keys": "^1.0.0",
+ "espree": "^3.5.2",
+ "esquery": "^1.0.0",
+ "lodash": "^4.17.4"
+ }
},
- "vow-fs": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz",
- "integrity": "sha1-LUxZviLivyYY3fWXq0uqkjvnIA0=",
+ "vue-hot-reload-api": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.0.tgz",
+ "integrity": "sha512-2j/t+wIbyVMP5NvctQoSUvLkYKoWAAk2QlQiilrM2a6/ulzFgdcLUJfTvs4XQ/3eZhHiBmmEojbjmM4AzZj8JA=="
+ },
+ "vue-loader": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.3.0.tgz",
+ "integrity": "sha512-cqoefQo1pocGEFY9l/SR6LsbmMpQ8JD374kFPL/1Et4uY4/C5DCY4Cq9Bevbf10ZuHAWS4Gf//szgxGZwdObIw==",
+ "requires": {
+ "@vue/component-compiler-utils": "^2.0.0",
+ "hash-sum": "^1.0.2",
+ "loader-utils": "^1.1.0",
+ "vue-hot-reload-api": "^2.3.0",
+ "vue-style-loader": "^4.1.0"
+ }
+ },
+ "vue-router": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.1.tgz",
+ "integrity": "sha512-vLLoY452L+JBpALMP5UHum9+7nzR9PeIBCghU9ZtJ1eWm6ieUI8Zb/DI3MYxH32bxkjzYV1LRjNv4qr8d+uX/w=="
+ },
+ "vue-style-loader": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
+ "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==",
+ "requires": {
+ "hash-sum": "^1.0.2",
+ "loader-utils": "^1.0.2"
+ }
+ },
+ "vue-template-compiler": {
+ "version": "2.5.17",
+ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.17.tgz",
+ "integrity": "sha512-63uI4syCwtGR5IJvZM0LN5tVsahrelomHtCxvRkZPJ/Tf3ADm1U1wG6KWycK3qCfqR+ygM5vewUvmJ0REAYksg==",
"dev": true,
"requires": {
- "glob": "^7.0.5",
- "uuid": "^2.0.2",
- "vow": "^0.4.7",
- "vow-queue": "^0.4.1"
- },
- "dependencies": {
- "uuid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
- "dev": true
- }
+ "de-indent": "^1.0.2",
+ "he": "^1.1.0"
}
},
- "vow-queue": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.3.tgz",
- "integrity": "sha512-/poAKDTFL3zYbeQg7cl4BGcfP4sGgXKrHnRFSKj97dteUFu8oyXMwIcdwu8NSx/RmPGIuYx1Bik/y5vU4H/VKw==",
+ "vue-template-es2015-compiler": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz",
+ "integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg=="
+ },
+ "vuex": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.0.1.tgz",
+ "integrity": "sha512-wLoqz0B7DSZtgbWL1ShIBBCjv22GV5U+vcBFox658g6V0s4wZV9P4YjCNyoHSyIBpj1f29JBoNQIqD82cR4O3w=="
+ },
+ "w3c-hr-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
+ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
"dev": true,
"requires": {
- "vow": "^0.4.17"
+ "browser-process-hrtime": "^0.1.2"
}
},
"watchpack": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
"integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
- "dev": true,
"requires": {
"chokidar": "^2.0.2",
"graceful-fs": "^4.1.2",
"neo-async": "^2.5.0"
}
},
+ "wbuf": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "requires": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
"webpack": {
"version": "4.16.5",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz",
"integrity": "sha512-i5cHYHonzSc1zBuwB5MSzW4v9cScZFbprkHK8ZgzPDCRkQXGGpYzPmJhbus5bOrZ0tXTcQp+xyImRSvKb0b+Kw==",
- "dev": true,
"requires": {
"@webassemblyjs/ast": "1.5.13",
"@webassemblyjs/helper-module-context": "1.5.13",
@@ -8396,7 +12135,6 @@
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz",
"integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==",
- "dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -8404,274 +12142,450 @@
"uri-js": "^4.2.1"
}
},
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true
+ "ajv-keywords": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
+ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo="
},
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- }
- }
- },
- "webpack-cli": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz",
- "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "cross-spawn": "^6.0.5",
- "enhanced-resolve": "^4.0.0",
- "global-modules-path": "^2.1.0",
- "import-local": "^1.0.0",
- "inquirer": "^6.0.0",
- "interpret": "^1.1.0",
- "loader-utils": "^1.1.0",
- "supports-color": "^5.4.0",
- "v8-compile-cache": "^2.0.0",
- "yargs": "^12.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
},
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"requires": {
- "color-convert": "^1.9.0"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
}
},
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "ms": "2.0.0"
}
},
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
+ "eslint-scope": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
+ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
"requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
}
},
- "decamelize": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
- "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
- "dev": true,
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"requires": {
- "xregexp": "4.0.0"
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ }
}
},
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"requires": {
- "locate-path": "^3.0.0"
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
}
},
- "p-limit": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
- "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
- "dev": true,
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"requires": {
- "p-try": "^2.0.0"
+ "kind-of": "^6.0.0"
}
},
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"requires": {
- "p-limit": "^2.0.0"
+ "kind-of": "^6.0.0"
}
},
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"requires": {
- "ansi-regex": "^3.0.0"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"requires": {
- "has-flag": "^3.0.0"
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
}
},
- "xregexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
- "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
- "dev": true
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
},
- "yargs": {
- "version": "12.0.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz",
- "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==",
- "dev": true,
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ }
+ }
+ },
+ "webpack-bundle-analyzer": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz",
+ "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==",
+ "requires": {
+ "acorn": "^5.3.0",
+ "bfj-node4": "^5.2.0",
+ "chalk": "^2.3.0",
+ "commander": "^2.13.0",
+ "ejs": "^2.5.7",
+ "express": "^4.16.2",
+ "filesize": "^3.5.11",
+ "gzip-size": "^4.1.0",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "opener": "^1.4.3",
+ "ws": "^4.0.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.17.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
+ },
+ "ws": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
+ "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
"requires": {
- "cliui": "^4.0.0",
- "decamelize": "^2.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^2.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^10.1.0"
+ "async-limiter": "~1.0.0",
+ "safe-buffer": "~5.1.0"
}
}
}
},
+ "webpack-chain": {
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.9.0.tgz",
+ "integrity": "sha512-DQbqFAVEQg1+u9kXDMNyA4yZzQIf/tZD34GQ4ev97G3DrKtGYMyUyyUYZxt50qBPG1MMlKG12PwMrUjlth3uxg==",
+ "requires": {
+ "deepmerge": "^1.5.2",
+ "javascript-stringify": "^1.6.0"
+ },
+ "dependencies": {
+ "deepmerge": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
+ "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
+ }
+ }
+ },
"webpack-dev-middleware": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz",
- "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==",
- "dev": true,
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz",
+ "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==",
"requires": {
"loud-rejection": "^1.6.0",
"memory-fs": "~0.4.1",
"mime": "^2.1.0",
"path-is-absolute": "^1.0.0",
"range-parser": "^1.0.3",
- "url-join": "^2.0.2",
+ "url-join": "^4.0.0",
"webpack-log": "^1.0.1"
- },
- "dependencies": {
- "mime": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz",
- "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==",
- "dev": true
- }
}
},
- "webpack-log": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.1.2.tgz",
- "integrity": "sha512-B53SD4N4BHpZdUwZcj4st2QT7gVfqZtqHDruC1N+K2sciq0Rt/3F1Dx6RlylVkcrToMLTaiaeT48k9Lq4iDVDA==",
- "dev": true,
+ "webpack-dev-server": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz",
+ "integrity": "sha512-LVHg+EPwZLHIlfvokSTgtJqO/vI5CQi89fASb5JEDtVMDjY0yuIEqPPdMiKaBJIB/Ab7v/UN/sYZ7WsZvntQKw==",
"requires": {
- "chalk": "^2.1.0",
- "log-symbols": "^2.1.0",
- "loglevelnext": "^1.0.1",
- "uuid": "^3.1.0"
+ "ansi-html": "0.0.7",
+ "array-includes": "^3.0.3",
+ "bonjour": "^3.5.0",
+ "chokidar": "^2.0.0",
+ "compression": "^1.5.2",
+ "connect-history-api-fallback": "^1.3.0",
+ "debug": "^3.1.0",
+ "del": "^3.0.0",
+ "express": "^4.16.2",
+ "html-entities": "^1.2.0",
+ "http-proxy-middleware": "~0.18.0",
+ "import-local": "^1.0.0",
+ "internal-ip": "1.2.0",
+ "ip": "^1.1.5",
+ "killable": "^1.0.0",
+ "loglevel": "^1.4.1",
+ "opn": "^5.1.0",
+ "portfinder": "^1.0.9",
+ "selfsigned": "^1.9.1",
+ "serve-index": "^1.7.2",
+ "sockjs": "0.3.19",
+ "sockjs-client": "1.1.5",
+ "spdy": "^3.4.1",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^5.1.0",
+ "webpack-dev-middleware": "3.1.3",
+ "webpack-log": "^1.1.2",
+ "yargs": "11.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
- "chalk": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
- "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
- "dev": true,
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "ansi-regex": "^2.0.0"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
- "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
- "dev": true,
+ "yargs": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
+ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
"requires": {
- "has-flag": "^3.0.0"
+ "cliui": "^4.0.0",
+ "decamelize": "^1.1.1",
+ "find-up": "^2.1.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^9.0.2"
}
}
}
},
+ "webpack-log": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz",
+ "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==",
+ "requires": {
+ "chalk": "^2.1.0",
+ "log-symbols": "^2.1.0",
+ "loglevelnext": "^1.0.1",
+ "uuid": "^3.1.0"
+ }
+ },
"webpack-merge": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz",
"integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==",
- "dev": true,
"requires": {
"lodash": "^4.17.5"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
}
},
"webpack-sources": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
"integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
- "dev": true,
"requires": {
"source-list-map": "^2.0.0",
"source-map": "~0.6.1"
@@ -8680,113 +12594,95 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
- "which": {
- "version": "1.2.14",
- "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
- "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
+ "websocket-driver": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "requires": {
+ "http-parser-js": ">=0.4.0",
+ "websocket-extensions": ">=0.1.1"
+ }
+ },
+ "websocket-extensions": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
+ },
+ "whatwg-encoding": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.4.tgz",
+ "integrity": "sha512-vM9KWN6MP2mIHZ86ytcyIv7e8Cj3KTfO2nd2c8PFDqcI4bxFmQp83ibq4wadq7rL9l9sZV6o9B0LTt8ygGAAXg==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "iconv-lite": "0.4.23"
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "whatwg-mimetype": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz",
+ "integrity": "sha512-FKxhYLytBQiUKjkYteN71fAUA3g6KpNXoho1isLiLSB3N1G4F35Q5vUxWfKFhBwi5IWF27VE6WxhrnnC+m0Mew==",
"dev": true
},
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "optional": true
- },
- "winston": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz",
- "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=",
+ "whatwg-url": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
+ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
"dev": true,
"requires": {
- "async": "0.2.x",
- "colors": "0.6.x",
- "cycle": "1.0.x",
- "eyes": "0.1.x",
- "isstream": "0.1.x",
- "pkginfo": "0.3.x",
- "stack-trace": "0.0.x"
- },
- "dependencies": {
- "async": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
- "dev": true
- },
- "colors": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
- "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
- "dev": true
- },
- "pkginfo": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
- "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=",
- "dev": true
- }
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
}
},
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+ },
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "dev": true
},
"worker-farm": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
"integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
- "dev": true,
"requires": {
"errno": "~0.1.7"
- },
- "dependencies": {
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "requires": {
- "prr": "~1.0.1"
- }
- },
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- }
}
},
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -8795,92 +12691,98 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
}
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
"dev": true,
"requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
+ "mkdirp": "^0.5.1"
}
},
- "xmlbuilder": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",
- "integrity": "sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE=",
+ "ws": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
+ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
"dev": true,
"requires": {
- "lodash": "^3.5.0"
+ "async-limiter": "~1.0.0"
}
},
- "xmlhttprequest-ssl": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
- "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ },
+ "xregexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
+ "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
"dev": true
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
- "dev": true
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
},
"y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
- "dev": true
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
},
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
},
"yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "optional": true,
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
+ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==",
+ "dev": true,
"requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
+ "cliui": "^4.0.0",
+ "decamelize": "^1.1.1",
+ "find-up": "^2.1.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^9.0.2"
}
},
"yargs-parser": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
- "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
- "dev": true,
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
"requires": {
"camelcase": "^4.1.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
- }
}
},
"yauzl": {
@@ -8892,11 +12794,61 @@
"fd-slicer": "~1.0.1"
}
},
- "yeast": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
- "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
- "dev": true
+ "yorkie": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz",
+ "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==",
+ "requires": {
+ "execa": "^0.8.0",
+ "is-ci": "^1.0.10",
+ "normalize-path": "^1.0.0",
+ "strip-indent": "^2.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz",
+ "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "normalize-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz",
+ "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k="
+ },
+ "strip-indent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
+ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g="
+ }
+ }
}
}
}
diff --git a/package.json b/package.json
index 3f0303a1a..2b1ee2d3b 100644
--- a/package.json
+++ b/package.json
@@ -1,85 +1,27 @@
{
"name": "mail",
- "version": "0.9.0",
- "description": "Mail app",
- "main": "index.js",
- "directories": {
- "test": "tests"
- },
+ "version": "0.1.0",
+ "private": true,
"scripts": {
- "build": "./node_modules/webpack-cli/bin/cli.js --mode production --config js/webpack.prod.config.js",
- "dev": " ./node_modules/webpack-cli/bin/cli.js --mode development --config js/webpack.dev.config.js --watch",
- "test": "./node_modules/karma/bin/karma start karma.conf.js --single-run"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/nextcloud/mail.git"
- },
- "keywords": [
- "mail"
- ],
- "author": "Christoph Wurst, Jan-Christoph Borchardt, Steffen Lindner and many more …",
- "license": "AGPL-3.0",
- "bugs": {
- "url": "https://github.com/nextcloud/mail/issues"
+ "build": "./node_modules/@vue/cli-service/bin/vue-cli-service.js build",
+ "dev": "./node_modules/@vue/cli-service/bin/vue-cli-service.js build --watch",
+ "lint": "./node_modules/@vue/cli-service/bin/vue-cli-service.js lint",
+ "test:unit": "./node_modules/@vue/cli-service/bin/vue-cli-service.js test:unit",
+ "test:e2e": "./node_modules/@vue/cli-service/bin/vue-cli-service.js test:e2e"
},
- "prettier": {
- "singleQuote": true,
- "tabWidth": 4,
- "useTabs": true
+ "dependencies": {
+ "@vue/cli-service": "^3.0.1",
+ "vue": "^2.5.17",
+ "vue-router": "^3.0.1",
+ "vuex": "^3.0.1"
},
- "homepage": "https://github.com/nextcloud/mail",
"devDependencies": {
- "coveralls": "^3.0.2",
- "es6-object-assign": "^1.1.0",
- "grunt": "^1.0.3",
- "grunt-cli": "^1.2.0",
- "grunt-contrib-jshint": "^1.1.0",
- "grunt-jscs": "^3.0.1",
- "grunt-karma": "^2.0.0",
- "istanbul": "^0.4.5",
- "jasmine-ajax": "^3.4.0",
- "jasmine-core": "^3.2.0",
- "jscs-jsdoc": "^2.0.0",
- "jshint": "^2.9.6",
- "karma": "^3.0.0",
- "karma-coverage": "^1.1.2",
- "karma-jasmine": "^1.1.2",
- "karma-jasmine-ajax": "^0.1.13",
- "karma-phantomjs-launcher": "^1.0.4",
- "karma-sinon": "^1.0.5",
- "karma-sourcemap-loader": "^0.3.7",
- "karma-webpack": "^3.0.0",
- "raw-loader": "^0.5.1",
- "sinon": "^6.1.5",
- "string.prototype.endswith": "^0.2.0",
- "string.prototype.repeat": "^0.2.0",
- "string.prototype.startswith": "^0.2.0",
- "webpack": "^4.16.5",
- "webpack-cli": "^3.1.0",
- "webpack-merge": "^4.1.4"
- },
- "dependencies": {
- "autosize": "^4.0.2",
- "backbone": "^1.3.3",
- "backbone.babysitter": "^0.1.12",
- "backbone.marionette": "^3.5.1",
- "backbone.radio": "^2.0.0",
- "backbone.wreqr": "^1.4.0",
- "davclient.js": "^0.1.0",
- "domready": "^1.0.8",
- "es6-promise": "^4.2.4",
- "exports-loader": "^0.7.0",
- "handlebars": "^4.0.11",
- "handlebars-loader": "^1.7.0",
- "html-to-text": "^4.0.0",
- "ical.js": "^1.2.2",
- "jquery": "^3.3.1",
- "jquery-ui": "^1.12.1",
- "jquery-visibility": "^1.0.11",
- "js-storage": "1.0.4",
- "nextcloud_issuetemplate_builder": "^0.1.0",
- "requirejs": "^2.3.5",
- "underscore": "^1.9.1"
+ "@vue/cli-plugin-babel": "^3.0.1",
+ "@vue/cli-plugin-e2e-nightwatch": "^3.0.1",
+ "@vue/cli-plugin-eslint": "^3.0.1",
+ "@vue/cli-plugin-unit-mocha": "^3.0.1",
+ "@vue/test-utils": "^1.0.0-beta.20",
+ "chai": "^4.1.2",
+ "vue-template-compiler": "^2.5.17"
}
}
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 000000000..961986e2b
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ plugins: {
+ autoprefixer: {}
+ }
+}
diff --git a/templates/index.php b/templates/index.php
index cdd32b47b..313e16a88 100644
--- a/templates/index.php
+++ b/templates/index.php
@@ -25,31 +25,10 @@
*/
style('mail', 'mail');
style('mail', 'mobile');
-script('mail', 'build/build');
+script('mail', 'build/app');
?>
<input type="hidden" id="debug-mode" value="<?php p($_['debug'] ? 'true' : 'false'); ?>">
<input type="hidden" id="config-installed-version" value="<?php p($_['app-version']); ?>">
<input type="hidden" id="serialized-accounts" value="<?php p($_['accounts']); ?>">
<input type="hidden" id="external-avatars" value="<?php p($_['external-avatars']); ?>">
-
-<div id="app-navigation" class="icon-loading">
- <div id="mail-new-message-fixed"
- class="app-navigation-new">
- </div>
- <ul id="usergrouplist"></ul>
- <div id="app-settings">
- <div id="app-settings-header">
- <button class="settings-button"
- data-apps-slide-toggle="#app-settings-content"><?php p($l->t('Settings'));?></button>
- </div>
- <div id="app-settings-content"></div>
- </div>
-</div>
-<div id="app-content">
- <div id="app-content-wrapper"></div>
-</div>
-<div id="user-displayname"
- style="display: none"><?php p($_['prefill_displayName']); ?></div>
-<div id="user-email"
- style="display: none"><?php p($_['prefill_email']); ?></div>
diff --git a/vue.config.js b/vue.config.js
new file mode 100644
index 000000000..a638926a6
--- /dev/null
+++ b/vue.config.js
@@ -0,0 +1,17 @@
+const path = require('path');
+
+module.exports = {
+ configureWebpack: {
+ entry: {
+ app: './js/main.js'
+ },
+ resolve: {
+ alias: {
+ '@':
+ path.resolve('js')
+ }
+ }
+ },
+ filenameHashing: false,
+ outputDir: 'js/build'
+}