From 910e0259978dae5f3a5c6e3257dff148d508cd31 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 28 May 2019 17:01:29 -0600
Subject: [PATCH 001/134] Make public link visible when public; copy on click
---
src/js/account/render.js | 12 ++++++++++--
src/js/account/setupListeners.js | 12 ++++++++++++
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/js/account/render.js b/src/js/account/render.js
index 38f2d92..d391e63 100644
--- a/src/js/account/render.js
+++ b/src/js/account/render.js
@@ -1,4 +1,4 @@
-import { setupLoginModal, setupChangeDictionary, setupCreateNewDictionary, setupDeletedDictionaryChangeModal } from "./setupListeners";
+import { setupLoginModal, setupChangeDictionary, setupCreateNewDictionary, setupDeletedDictionaryChangeModal, setupMakePublic } from "./setupListeners";
import { request } from "./helpers";
export function renderLoginForm() {
@@ -55,12 +55,20 @@ export function renderLoginForm() {
export function renderMakePublic() {
const editSettingsTab = document.getElementById('editSettingsTab');
+ const { isPublic } = window.currentDictionary.settings;
const editSettingsTabHTML = `Make Public
-
+
Checking this box will make this public via a link you can share with others.
+
+ Public Link:
+
+ Copy
+
`;
editSettingsTab.innerHTML += editSettingsTabHTML;
+
+ setupMakePublic();
}
export function renderAccountSettings() {
diff --git a/src/js/account/setupListeners.js b/src/js/account/setupListeners.js
index 60670d4..b3bf316 100644
--- a/src/js/account/setupListeners.js
+++ b/src/js/account/setupListeners.js
@@ -1,6 +1,7 @@
import { logIn, createAccount } from "./login";
import { setCookie } from "../StackOverflow/cookie";
import { changeDictionary, createNewDictionary } from "./dictionaryManagement";
+import { addMessage } from "../utilities";
export function setupLoginModal(modal) {
const closeElements = modal.querySelectorAll('.modal-background, .close-button');
@@ -60,3 +61,14 @@ export function setupDeletedDictionaryChangeModal() {
}
document.getElementById('createNewDictionaryAfterDelete').addEventListener('click', createNewDictionary);
}
+
+export function setupMakePublic() {
+ document.getElementById('editIsPublic').addEventListener('change', function(event) {
+ document.getElementById('publicLinkDisplay').style.display = event.target.checked ? '' : 'none';
+ });
+ document.getElementById('publicLinkCopy').addEventListener('click', function() {
+ document.getElementById('publicLink').select();
+ document.execCommand('copy');
+ addMessage('Copied public link to clipboard', 3000);
+ });
+}
From 50b094122384999f6a2d847f75aff647bcf245b3 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 28 May 2019 22:17:26 -0600
Subject: [PATCH 002/134] Prevent iOS from zooming on inputs
---
src/main.scss | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/main.scss b/src/main.scss
index a0c66e6..b8f15c8 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -15,4 +15,10 @@ html, body {
* {
box-sizing: border-box;
}
+}
+
+input:not([type="checkbox"]),
+select,
+textarea {
+ font-size: 16px;
}
\ No newline at end of file
From 4bdeff3296f2d46209b6094d1384f578b3b2e41e Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 28 May 2019 22:23:59 -0600
Subject: [PATCH 003/134] Add error message if public dictionary not found
---
src/php/api/router.php | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/php/api/router.php b/src/php/api/router.php
index 25f16ff..b81d896 100644
--- a/src/php/api/router.php
+++ b/src/php/api/router.php
@@ -1,10 +1,10 @@
Date: Tue, 28 May 2019 23:12:51 -0600
Subject: [PATCH 004/134] Make sure publicLink is populated even when
nonexistent
---
src/js/account/render.js | 3 ++-
src/js/account/sync.js | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/js/account/render.js b/src/js/account/render.js
index d391e63..c74b118 100644
--- a/src/js/account/render.js
+++ b/src/js/account/render.js
@@ -56,13 +56,14 @@ export function renderLoginForm() {
export function renderMakePublic() {
const editSettingsTab = document.getElementById('editSettingsTab');
const { isPublic } = window.currentDictionary.settings;
+ const { externalID } = window.currentDictionary;
const editSettingsTabHTML = `Make Public
Checking this box will make this public via a link you can share with others.
Public Link:
-
+
Copy
`;
diff --git a/src/js/account/sync.js b/src/js/account/sync.js
index 8f2e1ee..37bda23 100644
--- a/src/js/account/sync.js
+++ b/src/js/account/sync.js
@@ -100,6 +100,7 @@ export function uploadWholeDictionary(asNew = false) {
dictionary,
}, remoteId => {
window.currentDictionary.externalID = remoteId;
+ dictionary.getElementById('publicLink').value = window.location.href + remoteId.toString();
saveDictionary(false);
addMessage('Dictionary Uploaded Successfully');
renderChangeDictionaryOptions();
From 520ede111bee17635a1d4f9b612f46748e2a0618 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 28 May 2019 23:45:32 -0600
Subject: [PATCH 005/134] Auto-number homonymns; enable referencing specific
homonymns
---
src/js/render.js | 16 +++++-----------
src/js/utilities.js | 29 +++++++++++++++++++++++++++++
src/js/wordManagement.js | 38 +++++++++++++++++++++++++++++++++++++-
src/markdown/help.md | 3 ++-
4 files changed, 73 insertions(+), 13 deletions(-)
diff --git a/src/js/render.js b/src/js/render.js
index 5aba0f8..afbb7ab 100644
--- a/src/js/render.js
+++ b/src/js/render.js
@@ -1,6 +1,6 @@
import md from 'marked';
import { removeTags, slugify } from '../helpers';
-import { getWordsStats, wordExists } from './utilities';
+import { getWordsStats, getHomonymnNumber } from './utilities';
import { getMatchingSearchWords, highlightSearchTerm, getSearchFilters, getSearchTerm } from './search';
import { showSection } from './displayToggles';
import {
@@ -15,7 +15,7 @@ import {
setupIPAFields
} from './setupListeners';
import { getPaginationData } from './pagination';
-import { getOpenEditForms } from './wordManagement';
+import { getOpenEditForms, parseReferences } from './wordManagement';
export function renderAll() {
renderDictionaryDetails();
@@ -160,14 +160,7 @@ export function renderWords() {
let detailsMarkdown = removeTags(originalWord.details);
const references = detailsMarkdown.match(/\{\{.+?\}\}/g);
if (references && Array.isArray(references)) {
- new Set(references).forEach(reference => {
- const wordToFind = reference.replace(/\{\{|\}\}/g, '');
- const existingWordId = wordExists(wordToFind, true);
- if (existingWordId !== false) {
- const wordMarkdownLink = `[${wordToFind}](#${existingWordId})`;
- detailsMarkdown = detailsMarkdown.replace(new RegExp(reference, 'g'), wordMarkdownLink);
- }
- });
+ detailsMarkdown = parseReferences(detailsMarkdown, references);
}
const word = highlightSearchTerm({
name: removeTags(originalWord.name),
@@ -177,9 +170,10 @@ export function renderWords() {
details: detailsMarkdown,
wordId: originalWord.wordId,
});
+ const homonymnNumber = getHomonymnNumber(originalWord);
wordsHTML += `
- ${word.name}
+ ${word.name}${homonymnNumber > 0 ? ' ' + homonymnNumber.toString() + ' ' : ''}
${word.pronunciation}
${word.partOfSpeech}
Options
diff --git a/src/js/utilities.js b/src/js/utilities.js
index cfa4e2d..3e2444a 100644
--- a/src/js/utilities.js
+++ b/src/js/utilities.js
@@ -107,6 +107,35 @@ export function wordExists(word, returnId = false) {
return foundWord ? (returnId ? foundWord.wordId : true) : false;
}
+export function getHomonymnIndexes(word) {
+ const { currentDictionary } = window;
+ const { caseSensitive } = currentDictionary.settings;
+ const foundIndexes = [];
+ currentDictionary.words.forEach((existingWord, index) => {
+ if (existingWord.wordId !== word.wordId
+ && (caseSensitive ? existingWord.name === word.name : existingWord.name.toLowerCase() === word.name.toLowerCase())) {
+ foundIndexes.push(index);
+ }
+ });
+ return foundIndexes;
+}
+
+export function getHomonymnNumber(word) {
+ const homonyms = getHomonymnIndexes(word);
+ if (homonyms.length > 0) {
+ const index = window.currentDictionary.words.findIndex(w => w.wordId === word.wordId);
+ let number = 1;
+
+ for (let i = 0; i < homonyms.length; i++) {
+ if (index < homonyms[i]) break;
+ number++;
+ }
+
+ return number;
+ }
+ return 0;
+}
+
export function generateRandomWords(numberOfWords) {
console.log('Generating', numberOfWords, 'words...');
const letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
diff --git a/src/js/wordManagement.js b/src/js/wordManagement.js
index faad17b..3a2a3c5 100644
--- a/src/js/wordManagement.js
+++ b/src/js/wordManagement.js
@@ -1,5 +1,5 @@
import { renderWords } from "./render";
-import { wordExists, addMessage, getNextId, hasToken } from "./utilities";
+import { wordExists, addMessage, getNextId, hasToken, getHomonymnIndexes } from "./utilities";
import removeDiacritics from "./StackOverflow/removeDiacritics";
import { removeTags, getTimestampInSeconds } from "../helpers";
import { saveDictionary } from "./dictionaryManagement";
@@ -46,6 +46,42 @@ export function sortWords(render) {
}
}
+export function parseReferences(detailsMarkdown, references) {
+ new Set(references).forEach(reference => {
+ let wordToFind = reference.replace(/\{\{|\}\}/g, '');
+ let homonymn = 0;
+ if (wordToFind.includes(':')) {
+ const separator = wordToFind.indexOf(':');
+ homonymn = wordToFind.substr(separator + 1);
+ wordToFind = wordToFind.substring(0, separator);
+ if (homonymn && homonymn.trim() && !isNaN(parseInt(homonymn.trim()))) {
+ homonymn = parseInt(homonymn.trim());
+ } else {
+ homonymn = 0;
+ }
+ }
+ let existingWordId = false;
+ const homonymnIndexes = getHomonymnIndexes({ name: wordToFind, wordId: -1 });
+ console.log(homonymn, homonymnIndexes);
+ if (homonymn > 0) {
+ if (typeof homonymnIndexes[homonymn - 1] !== 'undefined') {
+ existingWordId = window.currentDictionary.words[homonymnIndexes[homonymn - 1]].wordId;
+ }
+ } else {
+ existingWordId = wordExists(wordToFind, true);
+ }
+ if (existingWordId !== false) {
+ if (homonymn < 1 && homonymnIndexes.length > 0) {
+ homonymn = 1;
+ }
+ const homonymnSubHTML = homonymn > 0 ? '' + homonymn.toString() + ' ' : '';
+ const wordMarkdownLink = `[${wordToFind}${homonymnSubHTML}](#${existingWordId})`;
+ detailsMarkdown = detailsMarkdown.replace(new RegExp(reference, 'g'), wordMarkdownLink);
+ }
+ });
+ return detailsMarkdown;
+}
+
export function submitWordForm() {
const name = document.getElementById('wordName').value,
pronunciation = document.getElementById('wordPronunciation').value,
diff --git a/src/markdown/help.md b/src/markdown/help.md
index 8eaada0..96f6a27 100644
--- a/src/markdown/help.md
+++ b/src/markdown/help.md
@@ -54,7 +54,8 @@ After you enter a markdown-formatted description/rules in the Dictionary Setting
### Referencing Other Words
If you want to reference another existing word in your dictionary, wrapping the word with its exact name in double-curly-braces \{\{like so\}\} in the Details field will automatically create a link to the word in the dictionary.
-Note: If you do not prevent duplicates, it will find the first entry in the list.
+
+If you have more than one word with the same spelling, the duplicate words will appear in your word listing with small numbers beside them. By writing the number after a colon \{\{like so:2\}\}, you can directly reference the specific homonymn. If you have duplicate words and exclude the reference number, it will link to the homonymn marked with 1.
### Maximizing Large Text Boxes
If you need more space to see what you are entering into a word's Details field or any other long text field with a "Maximize" button, clicking "Maximize" will give you a larger view of the text box to enter text in. When you're done writing, click either the "Done" or × button or any of the darker space outside of the larger view, and your text will be in the original text area. It will even preserve your cursor position or highlighted text so you don't lose your place moving from the larger view back to the small (and vice-versa)!
From b59c4702b245412961326d14e1384847ba083678 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 29 May 2019 00:01:59 -0600
Subject: [PATCH 006/134] Use domain + pathname for public links instead of
href
---
src/js/account/render.js | 2 +-
src/js/account/sync.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/js/account/render.js b/src/js/account/render.js
index c74b118..b5d7046 100644
--- a/src/js/account/render.js
+++ b/src/js/account/render.js
@@ -63,7 +63,7 @@ export function renderMakePublic() {
Public Link:
-
+
Copy
`;
diff --git a/src/js/account/sync.js b/src/js/account/sync.js
index 37bda23..5b4df0b 100644
--- a/src/js/account/sync.js
+++ b/src/js/account/sync.js
@@ -100,7 +100,7 @@ export function uploadWholeDictionary(asNew = false) {
dictionary,
}, remoteId => {
window.currentDictionary.externalID = remoteId;
- dictionary.getElementById('publicLink').value = window.location.href + remoteId.toString();
+ dictionary.getElementById('publicLink').value = document.domain + window.location.pathname + remoteId.toString();
saveDictionary(false);
addMessage('Dictionary Uploaded Successfully');
renderChangeDictionaryOptions();
From 4a1dd7aae410b6f8a04633e93382dad2aed3a152 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 29 May 2019 00:02:22 -0600
Subject: [PATCH 007/134] Add share links to words (word view not added yet)
---
src/js/render.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/js/render.js b/src/js/render.js
index afbb7ab..fa15333 100644
--- a/src/js/render.js
+++ b/src/js/render.js
@@ -1,6 +1,6 @@
import md from 'marked';
import { removeTags, slugify } from '../helpers';
-import { getWordsStats, getHomonymnNumber } from './utilities';
+import { getWordsStats, getHomonymnNumber, hasToken } from './utilities';
import { getMatchingSearchWords, highlightSearchTerm, getSearchFilters, getSearchTerm } from './search';
import { showSection } from './displayToggles';
import {
@@ -122,6 +122,7 @@ export function renderWords() {
let wordsHTML = '';
let openEditForms = getOpenEditForms();
let words = false;
+ const isPublic = hasToken() && window.currentDictionary.settings.isPublic;
if (window.currentDictionary.words.length === 0) {
wordsHTML = `
@@ -171,6 +172,8 @@ export function renderWords() {
wordId: originalWord.wordId,
});
const homonymnNumber = getHomonymnNumber(originalWord);
+ const shareLink = window.currentDictionary.hasOwnProperty('externalID')
+ ? window.location.pathname + window.currentDictionary.externalID + '/' + word.wordId : '';
wordsHTML += `
${word.name}${homonymnNumber > 0 ? ' ' + homonymnNumber.toString() + ' ' : ''}
@@ -179,6 +182,7 @@ export function renderWords() {
Options
Edit
+ ${isPublic ? `
Share ` : ''}
Delete
From 08cadfb121b66650360eb445cba5b50d18a9f140 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 29 May 2019 15:36:44 -0600
Subject: [PATCH 008/134] Prevent rendering reference if specified does not
exist
---
src/js/wordManagement.js | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/js/wordManagement.js b/src/js/wordManagement.js
index 3a2a3c5..2e55dec 100644
--- a/src/js/wordManagement.js
+++ b/src/js/wordManagement.js
@@ -50,26 +50,30 @@ export function parseReferences(detailsMarkdown, references) {
new Set(references).forEach(reference => {
let wordToFind = reference.replace(/\{\{|\}\}/g, '');
let homonymn = 0;
+
if (wordToFind.includes(':')) {
const separator = wordToFind.indexOf(':');
homonymn = wordToFind.substr(separator + 1);
wordToFind = wordToFind.substring(0, separator);
- if (homonymn && homonymn.trim() && !isNaN(parseInt(homonymn.trim()))) {
+ if (homonymn && homonymn.trim()
+ && !isNaN(parseInt(homonymn.trim())) && parseInt(homonymn.trim()) > 0) {
homonymn = parseInt(homonymn.trim());
} else {
- homonymn = 0;
+ homonymn = false;
}
}
+
let existingWordId = false;
const homonymnIndexes = getHomonymnIndexes({ name: wordToFind, wordId: -1 });
- console.log(homonymn, homonymnIndexes);
- if (homonymn > 0) {
+
+ if (homonymn !== false && homonymn > 0) {
if (typeof homonymnIndexes[homonymn - 1] !== 'undefined') {
existingWordId = window.currentDictionary.words[homonymnIndexes[homonymn - 1]].wordId;
}
- } else {
+ } else if (homonymn !== false) {
existingWordId = wordExists(wordToFind, true);
}
+
if (existingWordId !== false) {
if (homonymn < 1 && homonymnIndexes.length > 0) {
homonymn = 1;
From 63b1f20d5811441cfe53d88f74a8951828ee7a55 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 29 May 2019 15:47:03 -0600
Subject: [PATCH 009/134] Fix login error message
---
src/js/account/login.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/js/account/login.js b/src/js/account/login.js
index 7c6fefd..6eed4a2 100644
--- a/src/js/account/login.js
+++ b/src/js/account/login.js
@@ -30,9 +30,9 @@ export function logIn() {
saveToken(successData.token);
window.account = successData.user;
}, errorData => {
- errorHTML += errorData;
+ errorHTML += '' + errorData + '
';
}).then(() => {
- createAccountErrorMessages.innerHTML = errorHTML;
+ loginErrorMessages.innerHTML = errorHTML;
if (errorHTML === '') {
const loginModal = document.getElementById('loginModal');
loginModal.parentElement.removeChild(loginModal);
From dafecd9582385d200ca293be4eb761f92d4d82fa Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 29 May 2019 16:35:51 -0600
Subject: [PATCH 010/134] Add failed login lockout
---
src/php/api/config.php.changeme | 5 ++++-
src/php/api/index.php | 36 ++++++++++++++++++++++++++++++++-
2 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/src/php/api/config.php.changeme b/src/php/api/config.php.changeme
index b2aa988..99d1109 100644
--- a/src/php/api/config.php.changeme
+++ b/src/php/api/config.php.changeme
@@ -1,4 +1,7 @@
'Too many failed login attempts. You must wait another '
+ . ($minutes_left > 0 ? $minutes_left . ' minutes ' : '')
+ . ($minutes_left > 0 && $seconds_left > 0 ? 'and ' : '')
+ . ($seconds_left > 0 ? $seconds_left . ' seconds ' : '')
+ . 'until you can log in again.',
+ 'error' => true,
+ ), 403);
+ } else {
+ unset($_SESSION['failures']);
+ unset($_SESSION['unlock']);
+ }
+ }
+
if (isset($request['email']) && isset($request['password'])) {
$user = new User();
$user_data = $user->logIn($request['email'], $request['password']);
@@ -48,8 +68,22 @@ switch ($action) {
'error' => false,
), 200);
}
+
+ if (!isset($_SESSION['failures'])) {
+ $_SESSION['failures'] = 0;
+ }
+ $_SESSION['failures']++;
+
+ if ($_SESSION['failures'] >= LOGIN_FAILURES_ALLOWED) {
+ $_SESSION['unlock'] = time() + (LOGIN_FAILURES_LOCKOUT_MINUTES * 60);
+ return Response::json(array(
+ 'data' => 'Too many failed login attempts. You must wait ' . LOGIN_FAILURES_LOCKOUT_MINUTES . ' minutes until you can log in again.',
+ 'error' => true,
+ ), 403);
+ }
+
return Response::json(array(
- 'data' => 'Could not log in: incorrect data',
+ 'data' => 'Incorrect email or password. After ' . (LOGIN_FAILURES_ALLOWED - $_SESSION['failures']) . ' more failures, you will be locked out for ' . LOGIN_FAILURES_LOCKOUT_MINUTES . ' minutes.',
'error' => true,
), 401);
}
From 19e41958a4230745a96ef0e0ef3998cdf438aad0 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 11:18:16 -0600
Subject: [PATCH 011/134] Make parseReferences() parse its own references
---
src/js/wordManagement.js | 65 +++++++++++++++++++++-------------------
1 file changed, 34 insertions(+), 31 deletions(-)
diff --git a/src/js/wordManagement.js b/src/js/wordManagement.js
index 2e55dec..88239fa 100644
--- a/src/js/wordManagement.js
+++ b/src/js/wordManagement.js
@@ -46,43 +46,46 @@ export function sortWords(render) {
}
}
-export function parseReferences(detailsMarkdown, references) {
- new Set(references).forEach(reference => {
- let wordToFind = reference.replace(/\{\{|\}\}/g, '');
- let homonymn = 0;
-
- if (wordToFind.includes(':')) {
- const separator = wordToFind.indexOf(':');
- homonymn = wordToFind.substr(separator + 1);
- wordToFind = wordToFind.substring(0, separator);
- if (homonymn && homonymn.trim()
- && !isNaN(parseInt(homonymn.trim())) && parseInt(homonymn.trim()) > 0) {
- homonymn = parseInt(homonymn.trim());
- } else {
- homonymn = false;
+export function parseReferences(detailsMarkdown) {
+ const references = detailsMarkdown.match(/\{\{.+?\}\}/g);
+ if (references && Array.isArray(references)) {
+ new Set(references).forEach(reference => {
+ let wordToFind = reference.replace(/\{\{|\}\}/g, '');
+ let homonymn = 0;
+
+ if (wordToFind.includes(':')) {
+ const separator = wordToFind.indexOf(':');
+ homonymn = wordToFind.substr(separator + 1);
+ wordToFind = wordToFind.substring(0, separator);
+ if (homonymn && homonymn.trim()
+ && !isNaN(parseInt(homonymn.trim())) && parseInt(homonymn.trim()) > 0) {
+ homonymn = parseInt(homonymn.trim());
+ } else {
+ homonymn = false;
+ }
}
- }
- let existingWordId = false;
- const homonymnIndexes = getHomonymnIndexes({ name: wordToFind, wordId: -1 });
+ let existingWordId = false;
+ const homonymnIndexes = getHomonymnIndexes({ name: wordToFind, wordId: -1 });
- if (homonymn !== false && homonymn > 0) {
- if (typeof homonymnIndexes[homonymn - 1] !== 'undefined') {
- existingWordId = window.currentDictionary.words[homonymnIndexes[homonymn - 1]].wordId;
+ if (homonymn !== false && homonymn > 0) {
+ if (typeof homonymnIndexes[homonymn - 1] !== 'undefined') {
+ existingWordId = window.currentDictionary.words[homonymnIndexes[homonymn - 1]].wordId;
+ }
+ } else if (homonymn !== false) {
+ existingWordId = wordExists(wordToFind, true);
}
- } else if (homonymn !== false) {
- existingWordId = wordExists(wordToFind, true);
- }
- if (existingWordId !== false) {
- if (homonymn < 1 && homonymnIndexes.length > 0) {
- homonymn = 1;
+ if (existingWordId !== false) {
+ if (homonymn < 1 && homonymnIndexes.length > 0) {
+ homonymn = 1;
+ }
+ const homonymnSubHTML = homonymn > 0 ? '' + homonymn.toString() + ' ' : '';
+ const wordMarkdownLink = `[${wordToFind}${homonymnSubHTML}](#${existingWordId})`;
+ detailsMarkdown = detailsMarkdown.replace(new RegExp(reference, 'g'), wordMarkdownLink);
}
- const homonymnSubHTML = homonymn > 0 ? '' + homonymn.toString() + ' ' : '';
- const wordMarkdownLink = `[${wordToFind}${homonymnSubHTML}](#${existingWordId})`;
- detailsMarkdown = detailsMarkdown.replace(new RegExp(reference, 'g'), wordMarkdownLink);
- }
- });
+ });
+ }
return detailsMarkdown;
}
From 1872fffba87dae9703fc6d4a43d0be5a11bd5923 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 11:20:02 -0600
Subject: [PATCH 012/134] Add public word view
---
src/php/.htaccess | 8 ++++----
src/php/api/Dictionary.php | 20 +++++++++++++++++++
src/php/api/router.php | 41 +++++++++++++++++++++++++++++++++++++-
3 files changed, 64 insertions(+), 5 deletions(-)
diff --git a/src/php/.htaccess b/src/php/.htaccess
index 790c499..43599f9 100644
--- a/src/php/.htaccess
+++ b/src/php/.htaccess
@@ -1,12 +1,12 @@
RewriteEngine On # Turn on the rewriting engine
-RewriteRule ^view/([0-9]+)/([0-9]+)/?$ api/router.php?view=publicview&dict=$1&word=$2 [NC,L] # Handle word ids.
+RewriteRule ^view/([0-9]+)/([0-9]+)/?$ api/router.php?view=word&dict=$1&word=$2 [NC,L] # Handle word ids.
-RewriteRule ^([0-9]+)/([0-9]+)/?$ api/router.php?view=publicview&dict=$1&word=$2 [NC,L] # Handle word ids.
+RewriteRule ^([0-9]+)/([0-9]+)/?$ api/router.php?view=word&dict=$1&word=$2 [NC,L] # Handle word ids.
-RewriteRule ^view/([0-9]+)/?$ api/router.php?view=publicview&dict=$1 [NC,L] # Handle dictionary ids.
+RewriteRule ^view/([0-9]+)/?$ api/router.php?view=dictionary&dict=$1 [NC,L] # Handle dictionary ids.
-RewriteRule ^([0-9]+)/?$ api/router.php?view=publicview&dict=$1 [NC,L] # Handle dictionary ids.
+RewriteRule ^([0-9]+)/?$ api/router.php?view=dictionary&dict=$1 [NC,L] # Handle dictionary ids.
#RewriteRule ^issues/?$ https://github.com/Alamantus/Lexiconga/issues [R=301,L] # Shorten issues url.
diff --git a/src/php/api/Dictionary.php b/src/php/api/Dictionary.php
index a1bc1c3..f3e3f66 100644
--- a/src/php/api/Dictionary.php
+++ b/src/php/api/Dictionary.php
@@ -160,6 +160,26 @@ VALUES ($new_id, ?, ?, ?, ?)";
return array();
}
+ public function getSpecificPublicDictionaryWord ($dictionary, $word) {
+ if (is_numeric($dictionary) && is_numeric($word)) {
+ $query = "SELECT words.* FROM words JOIN dictionaries ON id = dictionary WHERE dictionary=? AND word_id=? AND is_public=1";
+ $result = $this->db->query($query, array($dictionary, $word))->fetch();
+ if ($result) {
+ return array(
+ 'name' => $result['name'],
+ 'pronunciation' => $result['pronunciation'],
+ 'partOfSpeech' => $result['part_of_speech'],
+ 'definition' => $result['definition'],
+ 'details' => $result['details'],
+ 'lastUpdated' => is_null($result['last_updated']) ? intval($result['created_on']) : intval($result['last_updated']),
+ 'createdOn' => intval($result['created_on']),
+ 'wordId' => intval($result['word_id']),
+ );
+ }
+ }
+ return false;
+ }
+
public function getDetails ($user, $dictionary) {
$query = "SELECT * FROM dictionaries JOIN dictionary_linguistics ON dictionary = id WHERE user=$user AND id=$dictionary";
$result = $this->db->query($query)->fetch();
diff --git a/src/php/api/router.php b/src/php/api/router.php
index b81d896..4c5e3c9 100644
--- a/src/php/api/router.php
+++ b/src/php/api/router.php
@@ -2,7 +2,7 @@
$view = isset($_GET['view']) ? $_GET['view'] : false;
switch ($view) {
- case 'publicview': {
+ case 'dictionary': {
$html = file_get_contents('../view.html');
$dict = isset($_GET['dict']) ? $_GET['dict'] : false;
if ($dict !== false) {
@@ -26,4 +26,43 @@ switch ($view) {
}
break;
}
+ case 'word': {
+ $html = file_get_contents('../view.html');
+ $dict = isset($_GET['dict']) ? $_GET['dict'] : false;
+ $word = isset($_GET['word']) ? $_GET['word'] : false;
+ if ($dict !== false && $word !== false) {
+ require_once('./Dictionary.php');
+ $dictionary = new Dictionary();
+ $dictionary_data = $dictionary->getPublicDictionaryDetails($dict);
+ if ($dictionary_data !== false) {
+ $dictionary_name = $dictionary_data['name'] . ' ' . $dictionary_data['specification'];
+ $word_data = $dictionary->getSpecificPublicDictionaryWord($dict, $word);
+ if ($word_data === false) {
+ $word_data = array(
+ 'name' => 'Error: Word Not Found',
+ 'pronunciation' => '',
+ 'partOfSpeech' => '',
+ 'definition' => 'No word with the id ' . $word . ' was found in the ' . $dictionary_name,
+ 'details' => '',
+ 'lastUpdated' => null,
+ 'createdOn' => null,
+ 'wordId' => null,
+ );
+ }
+ $dictionary_data['words'] = array($word_data);
+ $html = str_replace('{{dict}}', $dict, $html);
+ $html = str_replace('{{dict_name}}', $word_data['name'] . ' in the ' . $dictionary_name, $html);
+ $html = str_replace('{{public_name}}', $dictionary_data['createdBy'], $html);
+ $dictionary_json = json_encode($dictionary_data);
+ $html = str_replace('{{dict_json}}', addslashes($dictionary_json), $html);
+ } else {
+ $html = str_replace('{{dict}}', 'error', $html);
+ $html = str_replace('{{dict_name}}', 'Error: Dictionary Not Found', $html);
+ $html = str_replace('{{public_name}}', 'Error', $html);
+ $html = str_replace('{{dict_json}}', '{"name": "Error:", "specification": "Dictionary Not Found", "words": []}', $html);
+ }
+ echo $html;
+ }
+ break;
+ }
}
\ No newline at end of file
From eb0dd669bbc5550732c0460f79520968beb8ca1e Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 12:18:59 -0600
Subject: [PATCH 013/134] Correctly link public word references
---
src/php/api/Dictionary.php | 62 +++++++++++++++++++++++++++++++++++++-
1 file changed, 61 insertions(+), 1 deletion(-)
diff --git a/src/php/api/Dictionary.php b/src/php/api/Dictionary.php
index f3e3f66..924a550 100644
--- a/src/php/api/Dictionary.php
+++ b/src/php/api/Dictionary.php
@@ -165,12 +165,13 @@ VALUES ($new_id, ?, ?, ?, ?)";
$query = "SELECT words.* FROM words JOIN dictionaries ON id = dictionary WHERE dictionary=? AND word_id=? AND is_public=1";
$result = $this->db->query($query, array($dictionary, $word))->fetch();
if ($result) {
+ $details = $this->parseReferences($result['details'], $dictionary);
return array(
'name' => $result['name'],
'pronunciation' => $result['pronunciation'],
'partOfSpeech' => $result['part_of_speech'],
'definition' => $result['definition'],
- 'details' => $result['details'],
+ 'details' => $details,
'lastUpdated' => is_null($result['last_updated']) ? intval($result['created_on']) : intval($result['last_updated']),
'createdOn' => intval($result['created_on']),
'wordId' => intval($result['word_id']),
@@ -180,6 +181,65 @@ VALUES ($new_id, ?, ?, ?, ?)";
return false;
}
+ private function parseReferences($details, $dictionary_id) {
+ if (preg_match_all('/\{\{.+?\}\}/', $details, $references) !== false) {
+ $references = array_unique($references[0]);
+ foreach($references as $reference) {
+ $word_to_find = preg_replace('/\{\{|\}\}/', '', $reference);
+ $homonymn = 0;
+
+ if (strpos($word_to_find, ':') !== false) {
+ $separator = strpos($word_to_find, ':');
+ $homonymn = substr($word_to_find, $separator + 1);
+ $word_to_find = substr($word_to_find, 0, $separator);
+ if ($homonymn && trim($homonymn) && intval(trim($homonymn)) > 0) {
+ $homonymn = intval(trim($homonymn));
+ } else {
+ $homonymn = false;
+ }
+ }
+
+ $target_id = false;
+ $reference_ids = $this->getWordIdsWithName($dictionary_id, $word_to_find);
+
+ if (count($reference_ids) > 0) {
+ if ($homonymn !== false && $homonymn > 0) {
+ if (isset($reference_ids[$homonymn - 1])) {
+ $target_id = $reference_ids[$homonymn - 1];
+ }
+ } else if ($homonymn !== false) {
+ $target_id = $reference_ids[0];
+ }
+
+ if ($target_id !== false) {
+ if ($homonymn < 1) {
+ $homonymn = 1;
+ }
+ $homonymn_sub_html = $homonymn > 0 ? '' . $homonymn . ' ' : '';
+ $site_root = substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], $dictionary_id));
+ $markdown_link = '[' . $word_to_find . $homonymn_sub_html . '](' . $site_root . $dictionary_id . '/' . $target_id . ')';
+ $details = str_replace($reference, $markdown_link, $details);
+ }
+ }
+ }
+ }
+
+ return $details;
+ }
+
+ private function getWordIdsWithName($dictionary, $word_name) {
+ if (is_numeric($dictionary)) {
+ $query = "SELECT word_id FROM words WHERE dictionary=? AND name=?";
+ $results = $this->db->query($query, array($dictionary, $word_name))->fetchAll();
+ if ($results) {
+ return array_map(function ($row) {
+ return intval($row['word_id']);
+ }, $results);
+ }
+ }
+ return array();
+ }
+
public function getDetails ($user, $dictionary) {
$query = "SELECT * FROM dictionaries JOIN dictionary_linguistics ON dictionary = id WHERE user=$user AND id=$dictionary";
$result = $this->db->query($query)->fetch();
From e9cf9653be702c4bd05d28b9c73df966c1708a63 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 12:32:44 -0600
Subject: [PATCH 014/134] Parse references on backend for view
---
src/js/view/render.js | 15 +++------------
src/php/api/Dictionary.php | 11 ++++++-----
2 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/src/js/view/render.js b/src/js/view/render.js
index 7082d23..6c1b86e 100644
--- a/src/js/view/render.js
+++ b/src/js/view/render.js
@@ -4,6 +4,7 @@ import { getWordsStats, wordExists } from '../utilities';
import { getMatchingSearchWords, highlightSearchTerm, getSearchFilters, getSearchTerm } from '../search';
import { showSection } from '../displayToggles';
import { setupSearchFilters, setupInfoModal } from './setupListeners';
+import { parseReferences } from '../wordManagement';
export function renderAll() {
renderDictionaryDetails();
@@ -134,18 +135,8 @@ export function renderWords() {
}
words.forEach(originalWord => {
- let detailsMarkdown = removeTags(originalWord.details);
- const references = detailsMarkdown.match(/\{\{.+?\}\}/g);
- if (references && Array.isArray(references)) {
- new Set(references).forEach(reference => {
- const wordToFind = reference.replace(/\{\{|\}\}/g, '');
- const existingWordId = wordExists(wordToFind, true);
- if (existingWordId !== false) {
- const wordMarkdownLink = `[${wordToFind}](#${existingWordId})`;
- detailsMarkdown = detailsMarkdown.replace(new RegExp(reference, 'g'), wordMarkdownLink);
- }
- });
- }
+ let detailsMarkdown = originalWord.details;
+ detailsMarkdown = parseReferences(detailsMarkdown);
const word = highlightSearchTerm({
name: removeTags(originalWord.name),
pronunciation: removeTags(originalWord.pronunciation),
diff --git a/src/php/api/Dictionary.php b/src/php/api/Dictionary.php
index 924a550..485d32d 100644
--- a/src/php/api/Dictionary.php
+++ b/src/php/api/Dictionary.php
@@ -143,13 +143,13 @@ VALUES ($new_id, ?, ?, ?, ?)";
$query = "SELECT words.* FROM words JOIN dictionaries ON id = dictionary WHERE dictionary=? AND is_public=1";
$results = $this->db->query($query, array($dictionary))->fetchAll();
if ($results) {
- return array_map(function ($row) {
+ return array_map(function ($row) use ($dictionary) {
return array(
'name' => $row['name'],
'pronunciation' => $row['pronunciation'],
'partOfSpeech' => $row['part_of_speech'],
'definition' => $row['definition'],
- 'details' => $row['details'],
+ 'details' => $this->parseReferences($row['details'], $dictionary),
'lastUpdated' => is_null($row['last_updated']) ? intval($row['created_on']) : intval($row['last_updated']),
'createdOn' => intval($row['created_on']),
'wordId' => intval($row['word_id']),
@@ -165,13 +165,12 @@ VALUES ($new_id, ?, ?, ?, ?)";
$query = "SELECT words.* FROM words JOIN dictionaries ON id = dictionary WHERE dictionary=? AND word_id=? AND is_public=1";
$result = $this->db->query($query, array($dictionary, $word))->fetch();
if ($result) {
- $details = $this->parseReferences($result['details'], $dictionary);
return array(
'name' => $result['name'],
'pronunciation' => $result['pronunciation'],
'partOfSpeech' => $result['part_of_speech'],
'definition' => $result['definition'],
- 'details' => $details,
+ 'details' => $this->parseReferences($result['details'], $dictionary),
'lastUpdated' => is_null($result['last_updated']) ? intval($result['created_on']) : intval($result['last_updated']),
'createdOn' => intval($result['created_on']),
'wordId' => intval($result['word_id']),
@@ -182,6 +181,7 @@ VALUES ($new_id, ?, ?, ?, ?)";
}
private function parseReferences($details, $dictionary_id) {
+ $details = strip_tags($details);
if (preg_match_all('/\{\{.+?\}\}/', $details, $references) !== false) {
$references = array_unique($references[0]);
foreach($references as $reference) {
@@ -217,7 +217,8 @@ VALUES ($new_id, ?, ?, ?, ?)";
}
$homonymn_sub_html = $homonymn > 0 ? '' . $homonymn . ' ' : '';
$site_root = substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], $dictionary_id));
- $markdown_link = '[' . $word_to_find . $homonymn_sub_html . '](' . $site_root . $dictionary_id . '/' . $target_id . ')';
+ $markdown_link = ''
+ . $word_to_find . $homonymn_sub_html . ' ';
$details = str_replace($reference, $markdown_link, $details);
}
}
From ce143be3f5a6f3ed1eefa1d82d0e5cf8383fcc75 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 14:01:34 -0600
Subject: [PATCH 015/134] Add prominent share links if logged in or viewing
---
src/js/render.js | 18 ++++++++++++++++--
src/js/view/render.js | 5 +++++
src/scss/Account/_structure.scss | 6 ++++++
view.html | 4 +++-
4 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/src/js/render.js b/src/js/render.js
index fa15333..8c7f573 100644
--- a/src/js/render.js
+++ b/src/js/render.js
@@ -36,7 +36,21 @@ export function renderDictionaryDetails() {
export function renderName() {
const dictionaryName = removeTags(window.currentDictionary.name) + ' ' + removeTags(window.currentDictionary.specification);
- document.getElementById('dictionaryName').innerHTML = dictionaryName;
+ const name = document.getElementById('dictionaryName');
+ name.innerHTML = dictionaryName;
+ const isPublic = hasToken() && window.currentDictionary.settings.isPublic;
+ if (isPublic && !document.getElementById('dictionaryShare')) {
+ const shareLink = document.createElement('a');
+ shareLink.id = 'dictionaryShare';
+ shareLink.classList.add('button');
+ shareLink.style.float = 'right';
+ shareLink.href = window.location.pathname.match(new RegExp(window.currentDictionary.externalID + '$')) ? window.location.pathname
+ : window.location.pathname.substring(0, window.location.pathname.indexOf(window.currentDictionary.externalID)) + window.currentDictionary.externalID;
+ shareLink.target = '_blank';
+ shareLink.title = 'Public Link to Dictionary';
+ shareLink.innerHTML = '➦';
+ name.parentElement.insertBefore(shareLink, name);
+ }
}
export function renderDescription() {
@@ -179,10 +193,10 @@ export function renderWords() {
${word.name}${homonymnNumber > 0 ? ' ' + homonymnNumber.toString() + ' ' : ''}
${word.pronunciation}
${word.partOfSpeech}
+ ${isPublic ? `➦ ` : ''}
Options
Edit
- ${isPublic ? `
Share ` : ''}
Delete
diff --git a/src/js/view/render.js b/src/js/view/render.js
index 6c1b86e..2d8ed15 100644
--- a/src/js/view/render.js
+++ b/src/js/view/render.js
@@ -26,6 +26,9 @@ export function renderDictionaryDetails() {
export function renderName() {
const dictionaryName = removeTags(window.currentDictionary.name) + ' ' + removeTags(window.currentDictionary.specification);
document.getElementById('dictionaryName').innerHTML = dictionaryName;
+ const shareLink = window.location.pathname.match(new RegExp(window.currentDictionary.externalID + '$')) ? window.location.pathname
+ : window.location.pathname.substring(0, window.location.pathname.indexOf(window.currentDictionary.externalID)) + window.currentDictionary.externalID;
+ document.getElementById('dictionaryShare').href = shareLink;
}
export function renderDescription() {
@@ -145,11 +148,13 @@ export function renderWords() {
details: detailsMarkdown,
wordId: originalWord.wordId,
});
+ const shareLink = window.location.pathname + (window.location.pathname.match(new RegExp(word.wordId + '$')) ? '' : '/' + word.wordId);
wordsHTML += `
${word.name}
${word.pronunciation}
${word.partOfSpeech}
+ ➦
${word.definition}
diff --git a/src/scss/Account/_structure.scss b/src/scss/Account/_structure.scss
index e54f47f..2009354 100644
--- a/src/scss/Account/_structure.scss
+++ b/src/scss/Account/_structure.scss
@@ -13,4 +13,10 @@
}
}
}
+}
+
+.share-link {
+ margin-left: $general-padding !important;
+ line-height: 16px !important;
+ padding: 1px 3px 3px !important;
}
\ No newline at end of file
diff --git a/view.html b/view.html
index ae2b342..b0300ed 100644
--- a/view.html
+++ b/view.html
@@ -109,7 +109,9 @@
- Dictionary Name
+ ➦
+ {{dict_name}}
+ Created by {{public_name}}
Description Details Stats
From a1d80590688a9e8bc1dd6ef2f188b67ce33be73b Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 14:11:06 -0600
Subject: [PATCH 016/134] Fix IPA field help rendering; Use arrows in
usage.html
---
src/js/KeyboardFire/phondue/usage.html | 78 +++++++++++++-------------
src/js/render.js | 6 ++
src/js/setupListeners.js | 7 +--
3 files changed, 46 insertions(+), 45 deletions(-)
diff --git a/src/js/KeyboardFire/phondue/usage.html b/src/js/KeyboardFire/phondue/usage.html
index 7bae75e..59c4588 100644
--- a/src/js/KeyboardFire/phondue/usage.html
+++ b/src/js/KeyboardFire/phondue/usage.html
@@ -9,17 +9,17 @@ that allow you to type any IPA symbol with only a standard keyboard.
A few digraphs are based on shape:
- rO -> ɾ r0 -> ɾ vO -> ʋ v0 -> ʋ
+ rO → ɾ r0 → ɾ vO → ʋ v0 → ʋ
Another related point: digraphs that contain a lowercase letter can also be
typed with that letter as uppercase. So, if RO
is easier to type than
@@ -75,35 +75,35 @@ typed with that letter as uppercase. So, if RO
is easier to type th
Retroflex and nonpulmonic symbols have their own categories:
retroflex: ) looks like the shape of the tongue
- t) -> ʈ d) -> ɖ n) -> ɳ r) -> ɽ ɾ) -> ɽ s) -> ʂ
- z) -> ʐ ɹ) -> ɻ l) -> ɭ ɗ) -> ᶑ
+ t) → ʈ d) → ɖ n) → ɳ r) → ɽ ɾ) → ɽ s) → ʂ
+ z) → ʐ ɹ) → ɻ l) → ɭ ɗ) → ᶑ
clicks: clicking noise reminiscent of a *
- o* -> ʘ |* -> ǀ !* -> ǃ =* -> ǁ
+ o* → ʘ |* → ǀ !* → ǃ =* → ǁ
implosives and ejective marker: direction of airflow
- b( -> ɓ d( -> ɗ j( -> ʄ ɟ( -> ʄ g( -> ɠ ɢ( -> ʛ
- ɖ( -> ᶑ ') -> ʼ
+ b( → ɓ d( → ɗ j( → ʄ ɟ( → ʄ g( → ɠ ɢ( → ʛ
+ ɖ( → ᶑ ') → ʼ
Superscripts and diacritics that go above the letter use ^
, diacritics that
go below use _
, and miscellaneous "moved" symbols
use <
or >
:
- ^h -> ʰ ^n -> ⁿ ^m -> ᵐ ^ŋ -> ᵑ ^l -> ˡ ^w -> ʷ
- ^j -> ʲ ^ɥ -> ᶣ ^ʋ -> ᶹ ^ɣ -> ˠ ^ʕ -> ˤ
+ ^h → ʰ ^n → ⁿ ^m → ᵐ ^ŋ → ᵑ ^l → ˡ ^w → ʷ
+ ^j → ʲ ^ɥ → ᶣ ^ʋ → ᶹ ^ɣ → ˠ ^ʕ → ˤ
- _| -> ◌̩ ^| -> ◌̍ _o -> ◌̥ ^o -> ◌̊ _v -> ◌̬ ^v -> ◌̌
+ _| → ◌̩ ^| → ◌̍ _o → ◌̥ ^o → ◌̊ _v → ◌̬ ^v → ◌̌
- _^ -> ◌̯ _: -> ◌̤ _~ -> ◌̰ _[ -> ◌̪ _] -> ◌̺ _{ -> ◌̼
- _+ -> ◌̟ __ -> ◌̠ _) -> ◌̹ _( -> ◌̜ _# -> ◌̻ [] -> ◌̻
+ _^ → ◌̯ _: → ◌̤ _~ → ◌̰ _[ → ◌̪ _] → ◌̺ _{ → ◌̼
+ _+ → ◌̟ __ → ◌̠ _) → ◌̹ _( → ◌̜ _# → ◌̻ [] → ◌̻
- ^> -> ◌̚ ^: -> ◌̈ ^x -> ◌̽ ^~ -> ◌̃
+ ^> → ◌̚ ^: → ◌̈ ^x → ◌̽ ^~ → ◌̃
- -' -> ˔ _˔ -> ◌̝ -, -> ˕ _˕ -> ◌̞ <| -> ⊣ _⊣ -> ◌̘
- >| -> ⊢ _⊢ -> ◌̙
+ -' → ˔ _˔ → ◌̝ -, → ˕ _˕ → ◌̞ <| → ⊣ _⊣ → ◌̘
+ >| → ⊢ _⊢ → ◌̙
- ~~ -> ◌̴ >r -> ˞
+ ~~ → ◌̴ >r → ˞
Note that all of these sequences can be flipped in order—that is, ^h
produces the same thing as h^
. This allows usage such as |<_
to produce
@@ -111,16 +111,16 @@ produces the same thing as h^
. This allows usage such as |<
Tonal countours use numbers plus |
:
- 5| -> ˥ 4| -> ˦ 3| -> ˧ 2| -> ˨ 1| -> ˩
- +| -> ꜛ -| -> ꜜ
+ 5| → ˥ 4| → ˦ 3| → ˧ 2| → ˨ 1| → ˩
+ +| → ꜛ -| → ꜜ
Finally, some digraphs simply have unique mnemonics:
- ː- -> ˑ "chop off" the bottom triangle
- (( -> ◌͡◌ two parens for a tie that connects 2 chars
- )) -> ◌͜◌
- ◌͜◌) -> ‿ one more paren to make it a little bit longer
+ ː- → ˑ "chop off" the bottom triangle
+ (( → ◌͡◌ two parens for a tie that connects 2 chars
+ )) → ◌͜◌
+ ◌͜◌) → ‿ one more paren to make it a little bit longer
\ No newline at end of file
diff --git a/src/js/render.js b/src/js/render.js
index 8c7f573..ca79c1c 100644
--- a/src/js/render.js
+++ b/src/js/render.js
@@ -292,6 +292,12 @@ export function renderEditForm(wordId = false) {
}
}
+export function renderIPAHelp() {
+ import('./KeyboardFire/phondue/usage.html').then(html => {
+ renderInfoModal(html);
+ });
+}
+
export function renderIPATable(ipaTableButton) {
ipaTableButton = typeof ipaTableButton.target === 'undefined' || ipaTableButton.target === '' ? ipaTableButton : ipaTableButton.target;
const label = ipaTableButton.parentElement.innerText.replace(/(Field Help|IPA Chart)/g, '').trim();
diff --git a/src/js/setupListeners.js b/src/js/setupListeners.js
index 2acfd86..be6e0bc 100644
--- a/src/js/setupListeners.js
+++ b/src/js/setupListeners.js
@@ -1,5 +1,5 @@
import {showSection, hideDetailsPanel} from './displayToggles';
-import { renderWords, renderEditForm, renderMaximizedTextbox, renderInfoModal, renderIPATable } from './render';
+import { renderWords, renderEditForm, renderMaximizedTextbox, renderInfoModal, renderIPATable, renderIPAHelp } from './render';
import { confirmEditWord, cancelEditWord, confirmDeleteWord, submitWordForm } from './wordManagement';
import { openEditModal, saveEditModal, saveAndCloseEditModal, exportDictionary, exportWords, importDictionary, importWords, confirmDeleteDictionary } from './dictionaryManagement';
import { goToNextPage, goToPreviousPage, goToPage } from './pagination';
@@ -287,11 +287,6 @@ export function setupIPAButtons() {
button.addEventListener('click', renderIPATable);
});
- const renderIPAHelp = () => {
- import('./KeyboardFire/phondue/usage.html').then(html => {
- renderInfoModal(html);
- });
- }
Array.from(ipaFieldHelpButtons).forEach(button => {
button.removeEventListener('click', renderIPAHelp);
button.addEventListener('click', renderIPAHelp);
From 918dad1ad88d9940103fe9837cfce50e0cd7465e Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 14:21:09 -0600
Subject: [PATCH 017/134] Show/remove share link if turning off Make Public
---
src/js/dictionaryManagement.js | 9 ++++++---
src/js/render.js | 6 +++++-
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/js/dictionaryManagement.js b/src/js/dictionaryManagement.js
index 78d0338..cce0358 100644
--- a/src/js/dictionaryManagement.js
+++ b/src/js/dictionaryManagement.js
@@ -1,4 +1,4 @@
-import { renderDictionaryDetails, renderPartsOfSpeech, renderAll } from "./render";
+import { renderDictionaryDetails, renderPartsOfSpeech, renderAll, renderWords } from "./render";
import { removeTags, cloneObject, getTimestampInSeconds, download, slugify } from "../helpers";
import { LOCAL_STORAGE_KEY, DEFAULT_DICTIONARY, MIGRATE_VERSION } from "../constants";
import { addMessage, getNextId, hasToken } from "./utilities";
@@ -63,7 +63,10 @@ export function saveEditModal() {
window.currentDictionary.settings.caseSensitive = document.getElementById('editCaseSensitive').checked;
const needsReSort = window.currentDictionary.settings.sortByDefinition !== document.getElementById('editSortByDefinition').checked;
window.currentDictionary.settings.sortByDefinition = document.getElementById('editSortByDefinition').checked;
+
+ let needsWordRender = false;
if (hasToken()) {
+ needsWordRender = window.currentDictionary.settings.isPublic !== document.getElementById('editIsPublic').checked;
window.currentDictionary.settings.isPublic = document.getElementById('editIsPublic').checked;
} else {
window.currentDictionary.settings.isPublic = false;
@@ -73,8 +76,8 @@ export function saveEditModal() {
saveDictionary();
renderDictionaryDetails();
renderPartsOfSpeech();
-
- if (needsReSort) {
+
+ if (needsReSort || needsWordRender) {
sortWords(true);
}
diff --git a/src/js/render.js b/src/js/render.js
index ca79c1c..d8710fd 100644
--- a/src/js/render.js
+++ b/src/js/render.js
@@ -39,7 +39,9 @@ export function renderName() {
const name = document.getElementById('dictionaryName');
name.innerHTML = dictionaryName;
const isPublic = hasToken() && window.currentDictionary.settings.isPublic;
- if (isPublic && !document.getElementById('dictionaryShare')) {
+ const shareLinkElement = document.getElementById('dictionaryShare');
+
+ if (isPublic && !shareLinkElement) {
const shareLink = document.createElement('a');
shareLink.id = 'dictionaryShare';
shareLink.classList.add('button');
@@ -50,6 +52,8 @@ export function renderName() {
shareLink.title = 'Public Link to Dictionary';
shareLink.innerHTML = '➦';
name.parentElement.insertBefore(shareLink, name);
+ } else if (!isPublic && shareLinkElement) {
+ shareLinkElement.parentElement.removeChild(shareLinkElement);
}
}
From bd58301a9ae60733c22f9e456a68c13ba6aad693 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 14:59:38 -0600
Subject: [PATCH 018/134] Update footer styling
---
index.html | 2 +-
src/scss/_containers.scss | 2 +-
src/scss/_structure.scss | 12 ++++++++++++
src/scss/mobile/_containers.scss | 2 ++
src/scss/mobile/_structure.scss | 10 ++++++++++
5 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 523ff29..ae086a9 100644
--- a/index.html
+++ b/index.html
@@ -136,7 +136,7 @@
Blog
Issues
Updates
- |
+ |
Help
Terms
Privacy
diff --git a/src/scss/_containers.scss b/src/scss/_containers.scss
index e2d5caa..339384c 100644
--- a/src/scss/_containers.scss
+++ b/src/scss/_containers.scss
@@ -14,7 +14,7 @@ main {
width: 90%;
max-width: 1000px;
min-height: 400px;
- margin: 0 auto;
+ margin: 0 auto $header-height;
#sideColumn,
#mainColumn {
diff --git a/src/scss/_structure.scss b/src/scss/_structure.scss
index e08cf91..1027564 100644
--- a/src/scss/_structure.scss
+++ b/src/scss/_structure.scss
@@ -339,6 +339,7 @@ $nav-font-height: 16px;
bottom: $general-padding;
right: $general-padding;
max-width: 300px;
+ z-index: 10;
.message {
position: relative;
@@ -391,10 +392,21 @@ $nav-font-height: 16px;
}
#bottom {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 5;
+ background-color: $light;
text-align: center;
+ padding: $general-padding / 2;
a {
color: #000000;
text-decoration: none;
}
+
+ .separator {
+ display: inline;
+ }
}
diff --git a/src/scss/mobile/_containers.scss b/src/scss/mobile/_containers.scss
index b9989d9..3f58e92 100644
--- a/src/scss/mobile/_containers.scss
+++ b/src/scss/mobile/_containers.scss
@@ -12,6 +12,8 @@ header {
}
main {
+ margin-bottom: $general-padding;
+
#sideColumn {
display: block;
width: 0;
diff --git a/src/scss/mobile/_structure.scss b/src/scss/mobile/_structure.scss
index 049e554..f0c971c 100644
--- a/src/scss/mobile/_structure.scss
+++ b/src/scss/mobile/_structure.scss
@@ -88,4 +88,14 @@
}
}
+#bottom {
+ position: relative;
+ bottom: unset;
+
+ .separator {
+ display: block;
+ visibility: hidden;
+ }
+}
+
}
From 188779131e5c5aa5078f3120b0a9455e3df4b829 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 15:47:50 -0600
Subject: [PATCH 019/134] Split all colors into a _defaultTheme.scss
---
index.html | 2 +-
src/main.scss | 2 +
src/scss/_containers.scss | 3 -
src/scss/_elements.scss | 73 ++++-------
src/scss/_structure.scss | 26 ----
src/scss/_variables.scss | 12 +-
src/scss/mobile/_elements.scss | 28 ++---
src/scss/mobile/_structure.scss | 3 -
src/scss/themes/_default.scss | 213 ++++++++++++++++++++++++++++++++
9 files changed, 259 insertions(+), 103 deletions(-)
create mode 100644 src/scss/themes/_default.scss
diff --git a/index.html b/index.html
index ae086a9..b501021 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
Lexiconga
-
+
Lexiconga
diff --git a/src/main.scss b/src/main.scss
index b8f15c8..22efc3a 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -9,6 +9,8 @@
@import 'scss/mobile/structure';
@import 'scss/mobile/elements';
+@import 'scss/themes/default';
+
html, body {
font-family: $font;
diff --git a/src/scss/_containers.scss b/src/scss/_containers.scss
index 339384c..a07776a 100644
--- a/src/scss/_containers.scss
+++ b/src/scss/_containers.scss
@@ -1,7 +1,6 @@
header {
display: block;
padding: 5px $general-padding;
- border-bottom: 1px solid $mid;
margin: 0 0 5px;
top {
@@ -35,7 +34,6 @@ main {
article {
width: 95%;
margin: 10px auto;
- border: $border;
dl {
padding: 0 $general-padding;
@@ -46,6 +44,5 @@ main {
footer {
display: block;
padding: $general-padding;
- border-top: 1px solid $mid;
margin: 5px 0 0;
}
\ No newline at end of file
diff --git a/src/scss/_elements.scss b/src/scss/_elements.scss
index c44fa76..9c5eb53 100644
--- a/src/scss/_elements.scss
+++ b/src/scss/_elements.scss
@@ -1,8 +1,4 @@
p, span {
- &.red {
- color: $red;
- }
-
&.bold {
font-weight: bold;
}
@@ -59,42 +55,34 @@ ul {
padding-left: $general-padding;
}
-.tag {
- display: inline-block;
- padding: 3px 9px;
- border: $border;
- border-radius: 3px;
- background-color: $light;
- line-height: 30px;
+// .tag {
+// display: inline-block;
+// padding: 3px 9px;
+// border-radius: 3px;
+// line-height: 30px;
- &.small {
- font-size: 80%;
- line-height: 25px;
- }
+// &.small {
+// font-size: 80%;
+// line-height: 25px;
+// }
+// }
- &.red {
- background-color: $red;
- color: $white;
- }
-}
-
-span .tag {
- @extend .tag;
+// span .tag {
+// @extend .tag;
- border-radius: 3px 0 0 3px;
+// border-radius: 3px 0 0 3px;
- &+.tag {
- border-left: none;
- border-radius: 0 3px 3px 0;
- background-color: $white;
- }
-}
+// &+.tag {
+// border-left: none;
+// border-radius: 0 3px 3px 0;
+// }
+// }
-.button {
- @extend .tag;
- cursor: pointer;
- user-select: none;
-}
+// .button {
+// @extend .tag;
+// cursor: pointer;
+// user-select: none;
+// }
.modal {
position: fixed;
@@ -109,7 +97,6 @@ span .tag {
left: 0;
bottom: 0;
right: 0;
- background-color: #000000;
opacity: 0.5;
}
@@ -122,8 +109,6 @@ span .tag {
max-width: 100%;
height: 600px;
max-height: 100%;
- background-color: $white;
- border: $border;
border-radius: 5px;
.close-button {
@@ -139,25 +124,13 @@ span .tag {
}
.tabs {
- ul {
- border-bottom: $border;
- }
li {
display: inline-block;
list-style: none;
margin: 0 2px -1px;
padding: 10px $general-padding;
- border-top: $border;
- border-left: $border;
- border-right: $border;
border-radius: 5px 5px 0 0;
- background-color: $mid;
cursor: pointer;
-
- &.active {
- background-color: $white;
- border-bottom: 1px solid $white;
- }
}
}
diff --git a/src/scss/_structure.scss b/src/scss/_structure.scss
index 1027564..3b80e30 100644
--- a/src/scss/_structure.scss
+++ b/src/scss/_structure.scss
@@ -42,7 +42,6 @@
left: unset;
bottom: unset;
right: unset;
- background-color: $white;
padding: ($general-padding / 2) $general-padding ($general-padding * 0.25);
font-size: 90%;
@@ -104,8 +103,6 @@
width: 31%;
max-width: 320px;
padding: 10px;
- background-color: $light;
- border: $border;
border-radius: 5px;
max-height: 80%;
overflow-y: auto;
@@ -119,8 +116,6 @@
#detailsSection {
padding: $general-padding;
- background-color: $white;
- border: $border;
border-radius: 5px;
#dictionaryName {
@@ -135,8 +130,6 @@
list-style: none;
margin: 0;
padding: 10px $general-padding;
- border: $border;
- background-color: $light;
cursor: pointer;
&:first-child {
@@ -148,15 +141,10 @@
&:not(:first-child) {
border-left: none;
}
-
- &.active {
- background-color: #bababa;
- }
}
}
#detailsPanel {
- background-color: $white;
padding: $general-padding;
max-height: 400px;
overflow-y: auto;
@@ -170,8 +158,6 @@
.entry {
- background-color: $light;
-
.word {
display: inline-block;
margin: 3px 0;
@@ -202,15 +188,12 @@
position: absolute;
top: 3px;
right: 3px;
- background-color: $white;
- border: $border;
border-radius: 5px;
.word-option {
padding: 10px 25px;;
&:hover {
- background-color: $light;
cursor: pointer;
}
}
@@ -345,8 +328,6 @@ $nav-font-height: 16px;
position: relative;
display: block;
padding: $general-padding ($general-padding * 2) $general-padding $general-padding;
- background-color: $light;
- border: $border;
border-radius: 5px;
margin-bottom: 5px;
@@ -354,10 +335,6 @@ $nav-font-height: 16px;
margin-bottom: 0;
}
- &.error {
- background-color: lighten($red, 0.75);
- }
-
.close-button {
position: absolute;
top: 5px;
@@ -373,7 +350,6 @@ $nav-font-height: 16px;
right: -2px;
width: 20px;
height: 20px;
- background-color: #455455;
opacity: 0.5;
transform-origin: center left;
transform: scaleX(0);
@@ -397,12 +373,10 @@ $nav-font-height: 16px;
left: 0;
right: 0;
z-index: 5;
- background-color: $light;
text-align: center;
padding: $general-padding / 2;
a {
- color: #000000;
text-decoration: none;
}
diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss
index 4b94804..fbafcb4 100644
--- a/src/scss/_variables.scss
+++ b/src/scss/_variables.scss
@@ -2,12 +2,12 @@ $font: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubunt
$header-height: 60px;
-$dark: #bababa;
-$mid: #dedede;
-$light: #efefef;
-$white: #ffffff;
+// $dark: #bababa;
+// $mid: #dedede;
+// $light: #efefef;
+// $white: #ffffff;
-$red: #d42932;
+// $red: #d42932;
-$border: 1px solid $dark;
+// $border: 1px solid $dark;
$general-padding: 20px;
\ No newline at end of file
diff --git a/src/scss/mobile/_elements.scss b/src/scss/mobile/_elements.scss
index 45c15de..46dd5fe 100644
--- a/src/scss/mobile/_elements.scss
+++ b/src/scss/mobile/_elements.scss
@@ -1,21 +1,21 @@
@media (max-width: 750px) {
-.tag {
- padding: 2px 6px;
- font-size: 90%;
- line-height: 120%;
+// .tag {
+// padding: 2px 6px;
+// font-size: 90%;
+// line-height: 120%;
- &.small {
- font-size: 70%;
- line-height: 100%;
- }
-}
+// &.small {
+// font-size: 70%;
+// line-height: 100%;
+// }
+// }
-.button {
- @extend .tag;
- cursor: pointer;
- user-select: none;
-}
+// .button {
+// @extend .tag;
+// cursor: pointer;
+// user-select: none;
+// }
.tabs {
li {
diff --git a/src/scss/mobile/_structure.scss b/src/scss/mobile/_structure.scss
index f0c971c..465093f 100644
--- a/src/scss/mobile/_structure.scss
+++ b/src/scss/mobile/_structure.scss
@@ -34,10 +34,7 @@
width: 32px;
height: 32px;
display: block;
- background-color: #00de00;
- border: $border;
border-radius: 0 3px 3px 0;
- color: $white;
font-size: 30px;
line-height: 24px;
font-weight: bold;
diff --git a/src/scss/themes/_default.scss b/src/scss/themes/_default.scss
new file mode 100644
index 0000000..c4d0fa0
--- /dev/null
+++ b/src/scss/themes/_default.scss
@@ -0,0 +1,213 @@
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ .tag {
+ display: inline-block;
+ padding: 3px 9px;
+ border-radius: 3px;
+ line-height: 30px;
+ border: $border;
+ background-color: $light;
+
+ &.small {
+ font-size: 80%;
+ line-height: 25px;
+ }
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ span .tag {
+ @extend .tag;
+
+ border-radius: 3px 0 0 3px;
+
+ &+.tag {
+ background-color: $white;
+ border-left: none;
+ border-radius: 0 3px 3px 0;
+ }
+ }
+
+ .button {
+ @extend .tag;
+ cursor: pointer;
+ user-select: none;
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $white;
+ border: $border;
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $mid;
+
+ &.active {
+ background-color: $white;
+ border-bottom: 1px solid $white;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $white;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $light;
+ border: $border;
+ }
+
+ #detailsSection {
+ background-color: $white;
+ border: $border;
+
+ nav ul {
+ li {
+ border: $border;
+ background-color: $light;
+
+ &.active {
+ background-color: #bababa;
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $white;
+ }
+ }
+
+ .entry {
+ background-color: $light;
+
+ header {
+ .word-option-list {
+ background-color: $white;
+ border: $border;
+
+ .word-option {
+ &:hover {
+ background-color: $light;
+ }
+ }
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $light;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $light;
+
+ a {
+ color: #000000;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $white;
+ }
+
+ .tag {
+ padding: 2px 6px;
+ font-size: 90%;
+ line-height: 120%;
+
+ &.small {
+ font-size: 70%;
+ line-height: 100%;
+ }
+ }
+
+ .button {
+ @extend .tag;
+ cursor: pointer;
+ user-select: none;
+ }
+}
+}
\ No newline at end of file
From 06bac52c36cdbd7f5df0c0474ea9452169e8c70b Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 17:05:59 -0600
Subject: [PATCH 020/134] Enable changing themes
---
index.html | 4 ++--
src/constants.js | 1 +
src/js/settings.js | 11 ++++++++++-
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/index.html b/index.html
index b501021..e65b148 100644
--- a/index.html
+++ b/index.html
@@ -162,8 +162,8 @@
Theme
-
- Default
+
+ Default
Dark
Light
Blue
diff --git a/src/constants.js b/src/constants.js
index 0526d44..ff303f7 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -57,6 +57,7 @@ export const DEFAULT_DICTIONARY = {
export const DEFAULT_SETTINGS = {
useIPAPronunciationField: true,
useHotkeys: true,
+ theme: 'default',
};
export const DEFAULT_PAGE_SIZE = 50;
diff --git a/src/js/settings.js b/src/js/settings.js
index 61f5ad4..628fe80 100644
--- a/src/js/settings.js
+++ b/src/js/settings.js
@@ -8,6 +8,7 @@ import { enableHotKeys, disableHotKeys } from "./hotkeys";
export function loadSettings() {
const storedSettings = window.localStorage.getItem(SETTINGS_KEY);
window.settings = storedSettings ? JSON.parse(storedSettings) : cloneObject(DEFAULT_SETTINGS);
+ updateTheme();
toggleIPAPronunciationFields();
}
@@ -16,11 +17,17 @@ export function saveSettings() {
addMessage('Settings Saved!');
}
+export function updateTheme() {
+ const { theme } = window.settings;
+ document.body.id = theme + 'Theme';
+}
+
export function openSettingsModal() {
- const { useIPAPronunciationField, useHotkeys } = window.settings;
+ const { useIPAPronunciationField, useHotkeys, theme } = window.settings;
document.getElementById('settingsUseIPA').checked = useIPAPronunciationField;
document.getElementById('settingsUseHotkeys').checked = useHotkeys;
+ document.getElementById('settingsTheme').value = theme;
document.getElementById('settingsModal').style.display = '';
}
@@ -28,6 +35,7 @@ export function openSettingsModal() {
export function saveSettingsModal() {
window.settings.useIPAPronunciationField = document.getElementById('settingsUseIPA').checked;
window.settings.useHotkeys = document.getElementById('settingsUseHotkeys').checked;
+ window.settings.theme = document.getElementById('settingsTheme').value;
if (hasToken()) {
import('./account/index.js').then(account => {
@@ -49,6 +57,7 @@ export function saveSettingsModal() {
}
saveSettings();
+ updateTheme();
toggleHotkeysEnabled();
toggleIPAPronunciationFields();
}
From 227d7f59f93f8791a246b8aeced86b14784f40f6 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 30 May 2019 17:06:57 -0600
Subject: [PATCH 021/134] Make the default theme use Lexiconga colors!
---
src/scss/_containers.scss | 4 +-
src/scss/_elements.scss | 94 ++++++++++++++------
src/scss/_structure.scss | 10 ++-
src/scss/themes/_default.scss | 162 +++++++++++++++++++++-------------
4 files changed, 176 insertions(+), 94 deletions(-)
diff --git a/src/scss/_containers.scss b/src/scss/_containers.scss
index a07776a..9229b05 100644
--- a/src/scss/_containers.scss
+++ b/src/scss/_containers.scss
@@ -13,7 +13,7 @@ main {
width: 90%;
max-width: 1000px;
min-height: 400px;
- margin: 0 auto $header-height;
+ margin: 0 auto ($header-height * 1.25);
#sideColumn,
#mainColumn {
@@ -28,7 +28,7 @@ main {
#mainColumn {
width: 64%;
- margin: 0;
+ margin: $general-padding 0 0;
}
article {
diff --git a/src/scss/_elements.scss b/src/scss/_elements.scss
index 9c5eb53..3f72c36 100644
--- a/src/scss/_elements.scss
+++ b/src/scss/_elements.scss
@@ -1,3 +1,7 @@
+a {
+ text-decoration: underline;
+}
+
p, span {
&.bold {
font-weight: bold;
@@ -30,24 +34,42 @@ label {
}
.label-button {
- @extend .button;
-
+ display: inline-block;
+ padding: 3px 9px;
+ border-radius: 3px;
+ line-height: 30px;
+ cursor: pointer;
+ user-select: none;
font-size: 80%;
font-weight: normal;
float: right;
cursor: pointer;
line-height: 80% !important;
padding: 3px 3px 5px;
+
+ &.small {
+ font-size: 80%;
+ line-height: 25px;
+ }
}
.label-help-button {
- @extend .button;
-
+ display: inline-block;
+ padding: 3px 9px;
+ border-radius: 3px;
+ line-height: 30px;
+ cursor: pointer;
+ user-select: none;
font-size: 70%;
font-weight: normal;
cursor: pointer;
line-height: 70% !important;
padding: 2px 2px 4px;
+
+ &.small {
+ font-size: 80%;
+ line-height: 25px;
+ }
}
}
@@ -55,34 +77,50 @@ ul {
padding-left: $general-padding;
}
-// .tag {
-// display: inline-block;
-// padding: 3px 9px;
-// border-radius: 3px;
-// line-height: 30px;
+.tag {
+ display: inline-block;
+ padding: 3px 9px;
+ border-radius: 3px;
+ line-height: 30px;
-// &.small {
-// font-size: 80%;
-// line-height: 25px;
-// }
-// }
+ &.small {
+ font-size: 80%;
+ line-height: 25px;
+ }
+}
-// span .tag {
-// @extend .tag;
+span .tag {
+ border-radius: 3px 0 0 3px;
+
+ display: inline-block;
+ padding: 3px 9px;
+ border-radius: 3px;
+ line-height: 30px;
+
+ &.small {
+ font-size: 80%;
+ line-height: 25px;
+ }
-// border-radius: 3px 0 0 3px;
-
-// &+.tag {
-// border-left: none;
-// border-radius: 0 3px 3px 0;
-// }
-// }
+ &+.tag {
+ border-left: none;
+ border-radius: 0 3px 3px 0;
+ }
+}
-// .button {
-// @extend .tag;
-// cursor: pointer;
-// user-select: none;
-// }
+.button {
+ display: inline-block;
+ padding: 3px 9px;
+ border-radius: 3px;
+ line-height: 30px;
+ cursor: pointer;
+ user-select: none;
+
+ &.small {
+ font-size: 80%;
+ line-height: 25px;
+ }
+}
.modal {
position: fixed;
diff --git a/src/scss/_structure.scss b/src/scss/_structure.scss
index 3b80e30..3f1f8ef 100644
--- a/src/scss/_structure.scss
+++ b/src/scss/_structure.scss
@@ -99,14 +99,13 @@
#wordForm {
position: fixed;
- top: auto;
+ top: $header-height + $general-padding;
width: 31%;
max-width: 320px;
padding: 10px;
border-radius: 5px;
max-height: 80%;
overflow-y: auto;
- box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
}
.edit-form {
@@ -114,9 +113,12 @@
max-width: 500px;
}
-#detailsSection {
- padding: $general-padding;
+#mainColumn {
border-radius: 5px;
+}
+
+#detailsSection {
+ padding: $general-padding $general-padding 0;
#dictionaryName {
margin-top: 0;
diff --git a/src/scss/themes/_default.scss b/src/scss/themes/_default.scss
index c4d0fa0..d2aa970 100644
--- a/src/scss/themes/_default.scss
+++ b/src/scss/themes/_default.scss
@@ -4,27 +4,58 @@
$light: #efefef;
$white: #ffffff;
$red: #b42032;
- $border: 1px solid $dark;
+ $header-color: #eacc9d;
+ $background-color: #e6cfaa;
+ $footer-color: #cb6318;
+ $link-color: #a01000;
+ $button-color: #dcb078;
+ $message-color: #c0c088;
+ $word-form-color: #ba5536;
+ $dictionary-color: #bd7251;
+ $entry-color: #d7ad7d;
+ $input-color: #efdfc0;
+ $details-color: #f2d5b2;
+ $modal-color: #f2d5b2;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+
+ a {
+ color: $link-color;
+ }
+
p, span {
&.red {
color: $red;
}
}
- .tag {
- display: inline-block;
- padding: 3px 9px;
- border-radius: 3px;
- line-height: 30px;
- border: $border;
- background-color: $light;
-
- &.small {
- font-size: 80%;
- line-height: 25px;
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
}
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
&.red {
background-color: $red;
color: $white;
@@ -32,21 +63,25 @@
}
span .tag {
- @extend .tag;
-
- border-radius: 3px 0 0 3px;
-
+ border: $border;
+ background-color: $button-color;
&+.tag {
- background-color: $white;
+ background-color: lighten($button-color, 25);
border-left: none;
- border-radius: 0 3px 3px 0;
}
}
.button {
- @extend .tag;
- cursor: pointer;
- user-select: none;
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ font-weight: bold;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
}
.modal {
@@ -54,8 +89,8 @@
background-color: #000000;
}
.modal-content {
- background-color: $white;
- border: $border;
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
}
}
@@ -67,11 +102,11 @@
border-top: $border;
border-left: $border;
border-right: $border;
- background-color: $mid;
+ background-color: $button-color;
&.active {
- background-color: $white;
- border-bottom: 1px solid $white;
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
}
}
}
@@ -91,6 +126,10 @@
}
#top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
+
#title {
display: inline-block;
margin: 3px $general-padding 3px 0;
@@ -103,57 +142,75 @@
#searchModal {
.modal-content {
section+footer {
- background-color: $white;
+ background-color: $modal-color;
}
}
}
}
#wordForm {
- background-color: $light;
- border: $border;
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
}
#detailsSection {
- background-color: $white;
- border: $border;
-
nav ul {
li {
- border: $border;
- background-color: $light;
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
&.active {
- background-color: #bababa;
+ background-color: lighten($button-color, 15);
}
}
}
#detailsPanel {
- background-color: $white;
+ background-color: $details-color;
}
}
.entry {
- background-color: $light;
-
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
.word-option-list {
- background-color: $white;
- border: $border;
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
.word-option {
&:hover {
- background-color: $light;
+ background-color: lighten($entry-color, 5);
}
}
}
}
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
}
#messagingSection {
.message {
- background-color: $light;
+ background-color: $message-color;
border: $border;
&.error {
@@ -169,7 +226,9 @@
}
#bottom {
- background-color: $light;
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px rgba(50, 50, 50, 0.75);
a {
color: #000000;
@@ -192,22 +251,5 @@
border: $border;
color: $white;
}
-
- .tag {
- padding: 2px 6px;
- font-size: 90%;
- line-height: 120%;
-
- &.small {
- font-size: 70%;
- line-height: 100%;
- }
- }
-
- .button {
- @extend .tag;
- cursor: pointer;
- user-select: none;
- }
}
}
\ No newline at end of file
From 86a37f02808c887c7e661e2729bdd51b7a4633ba Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 10:35:31 -0600
Subject: [PATCH 022/134] Remove non-color styling from theme; Button styling
fixes
---
src/scss/_elements.scss | 3 +++
src/scss/_structure.scss | 1 +
src/scss/themes/_default.scss | 2 --
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/scss/_elements.scss b/src/scss/_elements.scss
index 3f72c36..43a23ce 100644
--- a/src/scss/_elements.scss
+++ b/src/scss/_elements.scss
@@ -115,6 +115,8 @@ span .tag {
line-height: 30px;
cursor: pointer;
user-select: none;
+ text-decoration: none;
+ font-weight: bold;
&.small {
font-size: 80%;
@@ -157,6 +159,7 @@ span .tag {
font-size: 200%;
cursor: pointer;
user-select: none;
+ text-decoration: none;
}
}
}
diff --git a/src/scss/_structure.scss b/src/scss/_structure.scss
index 3f1f8ef..b42b8ed 100644
--- a/src/scss/_structure.scss
+++ b/src/scss/_structure.scss
@@ -344,6 +344,7 @@ $nav-font-height: 16px;
font-size: 25px;
line-height: 10px;
cursor: pointer;
+ text-decoration: none;
&:before {
content: '';
diff --git a/src/scss/themes/_default.scss b/src/scss/themes/_default.scss
index d2aa970..6ee4c95 100644
--- a/src/scss/themes/_default.scss
+++ b/src/scss/themes/_default.scss
@@ -75,8 +75,6 @@
border: 1px solid darken($button-color, 2);
background-color: $button-color;
color: #000000;
- text-decoration: none;
- font-weight: bold;
&.red {
background-color: $red;
From 5461a3f1ed70c7cd9ef88e76b6e173cc16032c24 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:07:17 -0600
Subject: [PATCH 023/134] Update border around inputs
---
src/scss/themes/_default.scss | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/scss/themes/_default.scss b/src/scss/themes/_default.scss
index 6ee4c95..44e7c4b 100644
--- a/src/scss/themes/_default.scss
+++ b/src/scss/themes/_default.scss
@@ -50,6 +50,7 @@
input, textarea, select, option {
background-color: $input-color;
+ border: 1px solid $dark;
}
.tag {
From f7eecf9796651488576425650d8ccff6252284ec Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:07:29 -0600
Subject: [PATCH 024/134] Create Dark theme
---
src/main.scss | 1 +
src/scss/themes/_dark.scss | 256 +++++++++++++++++++++++++++++++++++++
2 files changed, 257 insertions(+)
create mode 100644 src/scss/themes/_dark.scss
diff --git a/src/main.scss b/src/main.scss
index 22efc3a..ba6fd8c 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -10,6 +10,7 @@
@import 'scss/mobile/elements';
@import 'scss/themes/default';
+@import 'scss/themes/dark';
html, body {
font-family: $font;
diff --git a/src/scss/themes/_dark.scss b/src/scss/themes/_dark.scss
new file mode 100644
index 0000000..b390cf8
--- /dev/null
+++ b/src/scss/themes/_dark.scss
@@ -0,0 +1,256 @@
+#darkTheme {
+ $dark: #757575;
+ $mid: #a0a0a0;
+ $light: #cecece;
+ $white: #ffffff;
+ $red: #de0000;
+
+ $header-color: #111111;
+ $background-color: #222222;
+ $footer-color: #000000;
+ $link-color: #bababa;
+ $button-color: #464646;
+ $message-color: #555555;
+ $word-form-color: #101010;
+ $dictionary-color: #111111;
+ $entry-color: #303030;
+ $input-color: #222222;
+ $details-color: #555555;
+ $modal-color: #222222;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: $light;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $light;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $light;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ color: $light;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: $light;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $light;
+
+ &.red {
+ background-color: $red;
+ color: $light;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: $dark;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px $dark;
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px $dark;
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px $dark;
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px $dark;
+
+ a {
+ color: $light;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $light;
+ }
+}
+}
\ No newline at end of file
From 535020053ec6674887c497277f7dbd876ce37894 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:12:45 -0600
Subject: [PATCH 025/134] Create Light theme
---
src/main.scss | 1 +
src/scss/themes/_default.scss | 1 +
src/scss/themes/_light.scss | 255 ++++++++++++++++++++++++++++++++++
3 files changed, 257 insertions(+)
create mode 100644 src/scss/themes/_light.scss
diff --git a/src/main.scss b/src/main.scss
index ba6fd8c..f26ed65 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -11,6 +11,7 @@
@import 'scss/themes/default';
@import 'scss/themes/dark';
+@import 'scss/themes/light';
html, body {
font-family: $font;
diff --git a/src/scss/themes/_default.scss b/src/scss/themes/_default.scss
index 44e7c4b..56eb94d 100644
--- a/src/scss/themes/_default.scss
+++ b/src/scss/themes/_default.scss
@@ -21,6 +21,7 @@
$border: 1px solid $dark;
background-color: $background-color;
+ color: #000000;
a {
color: $link-color;
diff --git a/src/scss/themes/_light.scss b/src/scss/themes/_light.scss
new file mode 100644
index 0000000..4063e3e
--- /dev/null
+++ b/src/scss/themes/_light.scss
@@ -0,0 +1,255 @@
+#lightTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #c94557;
+
+ $header-color: $mid;
+ $background-color: $white;
+ $footer-color: $dark;
+ $link-color: #0055ff;
+ $button-color: $light;
+ $message-color: $mid;
+ $word-form-color: $mid;
+ $dictionary-color: $mid;
+ $entry-color: $light;
+ $input-color: $white;
+ $details-color: $white;
+ $modal-color: $light;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: #000000;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px rgba(50, 50, 50, 0.75);
+
+ a {
+ color: #000000;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $white;
+ }
+}
+}
\ No newline at end of file
From d33a2359b1c8aa88dce2490578f0eea6ec2b24df Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:53:30 -0600
Subject: [PATCH 026/134] Create Blue theme
---
src/scss/themes/_blue.scss | 256 +++++++++++++++++++++++++++++++++++++
1 file changed, 256 insertions(+)
create mode 100644 src/scss/themes/_blue.scss
diff --git a/src/scss/themes/_blue.scss b/src/scss/themes/_blue.scss
new file mode 100644
index 0000000..4d2e6d3
--- /dev/null
+++ b/src/scss/themes/_blue.scss
@@ -0,0 +1,256 @@
+#blueTheme {
+ $dark: #757575;
+ $mid: #a0a0a0;
+ $light: #cecece;
+ $white: #ffffff;
+ $red: #de0000;
+
+ $header-color: #3333ee;
+ $background-color: #4444ff;
+ $footer-color: #2222cc;
+ $link-color: #3333aa;
+ $button-color: #6868dd;
+ $message-color: #7777dd;
+ $word-form-color: #3232bb;
+ $dictionary-color: #3535cc;
+ $entry-color: #5252dd;
+ $input-color: #4444ff;
+ $details-color: #7777ee;
+ $modal-color: #4444dd;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: $white;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $white;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $white;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ color: $white;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $white;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px #000000;
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px #000000;
+
+ a {
+ color: $white;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $light;
+ }
+}
+}
\ No newline at end of file
From 6227be15d05f3da810a848299e208ce2efe9efe2 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:53:39 -0600
Subject: [PATCH 027/134] Create Green theme
---
src/scss/themes/_green.scss | 256 ++++++++++++++++++++++++++++++++++++
1 file changed, 256 insertions(+)
create mode 100644 src/scss/themes/_green.scss
diff --git a/src/scss/themes/_green.scss b/src/scss/themes/_green.scss
new file mode 100644
index 0000000..52c8791
--- /dev/null
+++ b/src/scss/themes/_green.scss
@@ -0,0 +1,256 @@
+#greenTheme {
+ $dark: #757575;
+ $mid: #a0a0a0;
+ $light: #cecece;
+ $white: #ffffff;
+ $red: #b42032;
+
+ $header-color: #55aa33;
+ $background-color: #70b044;
+ $footer-color: #559900;
+ $link-color: #007700;
+ $button-color: #acee79;
+ $message-color: #eeee77;
+ $word-form-color: #54aa32;
+ $dictionary-color: #57ad23;
+ $entry-color: #96cf52;
+ $input-color: #aaee88;
+ $details-color: #99dd77;
+ $modal-color: #80cc54;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: #000000;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ color: #000000;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: #000000;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+
+ &.red {
+ background-color: $red;
+ color: #000000;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px #000000;
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px #000000;
+
+ a {
+ color: #000000;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $light;
+ }
+}
+}
\ No newline at end of file
From 22a94e78f581e705457bf5d236ec69f842e3e91d Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:54:57 -0600
Subject: [PATCH 028/134] Create Mint and Grape themes
---
index.html | 2 +
src/scss/themes/_grape.scss | 255 ++++++++++++++++++++++++++++++++++++
src/scss/themes/_mint.scss | 255 ++++++++++++++++++++++++++++++++++++
3 files changed, 512 insertions(+)
create mode 100644 src/scss/themes/_grape.scss
create mode 100644 src/scss/themes/_mint.scss
diff --git a/index.html b/index.html
index e65b148..2a42170 100644
--- a/index.html
+++ b/index.html
@@ -169,6 +169,8 @@
Blue
Green
Royal
+ Mint
+ Grape
diff --git a/src/scss/themes/_grape.scss b/src/scss/themes/_grape.scss
new file mode 100644
index 0000000..760a9b3
--- /dev/null
+++ b/src/scss/themes/_grape.scss
@@ -0,0 +1,255 @@
+#grapeTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #de0000;
+
+ $header-color: #cc9dea;
+ $background-color: #cfaae6;
+ $footer-color: #6318cb;
+ $link-color: #1000a0;
+ $button-color: #b078dc;
+ $message-color: #c088c0;
+ $word-form-color: #5536ba;
+ $dictionary-color: #7251bd;
+ $entry-color: #ad7dd7;
+ $input-color: #dfc0ef;
+ $details-color: #d5b2f2;
+ $modal-color: #d5b2f2;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: #000000;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px rgba(50, 50, 50, 0.75);
+
+ a {
+ color: #000000;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $white;
+ }
+}
+}
\ No newline at end of file
diff --git a/src/scss/themes/_mint.scss b/src/scss/themes/_mint.scss
new file mode 100644
index 0000000..fcb95d7
--- /dev/null
+++ b/src/scss/themes/_mint.scss
@@ -0,0 +1,255 @@
+#mintTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+
+ $header-color: #9deacc;
+ $background-color: #aae6cf;
+ $footer-color: #18cb63;
+ $link-color: #00a010;
+ $button-color: #78dcb0;
+ $message-color: #88c0c0;
+ $word-form-color: #36ba55;
+ $dictionary-color: #51bd72;
+ $entry-color: #7dd7ad;
+ $input-color: #c0efdf;
+ $details-color: #b2f2d5;
+ $modal-color: #b2f2d5;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: #000000;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px rgba(50, 50, 50, 0.75);
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px rgba(50, 50, 50, 0.75);
+
+ a {
+ color: #000000;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $white;
+ }
+}
+}
\ No newline at end of file
From 038e47613e51941322c8f307967c9fbbb4e747e3 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:57:43 -0600
Subject: [PATCH 029/134] Create Royal theme
---
src/scss/themes/_royal.scss | 256 ++++++++++++++++++++++++++++++++++++
1 file changed, 256 insertions(+)
create mode 100644 src/scss/themes/_royal.scss
diff --git a/src/scss/themes/_royal.scss b/src/scss/themes/_royal.scss
new file mode 100644
index 0000000..c386921
--- /dev/null
+++ b/src/scss/themes/_royal.scss
@@ -0,0 +1,256 @@
+#royalTheme {
+ $dark: #757575;
+ $mid: #a0a0a0;
+ $light: #cecece;
+ $white: #ffffff;
+ $red: #de0000;
+
+ $header-color: #aa33ee;
+ $background-color: #bb44ff;
+ $footer-color: #8822cc;
+ $link-color: #5533aa;
+ $button-color: #9968dd;
+ $message-color: #9977dd;
+ $word-form-color: #7732bb;
+ $dictionary-color: #8835cc;
+ $entry-color: #9952dd;
+ $input-color: #bb44ff;
+ $details-color: #aa77ee;
+ $modal-color: #9944dd;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: $white;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $white;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $white;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ color: $white;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: $white;
+
+ &.red {
+ background-color: $red;
+ color: $white;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px #000000;
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px #000000;
+
+ a {
+ color: $white;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $light;
+ }
+}
+}
\ No newline at end of file
From 8a1589aaacf2f0d98bbda7dc9a74f511fe2bf534 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 11:57:52 -0600
Subject: [PATCH 030/134] Add themes to stylesheet
---
src/main.scss | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/main.scss b/src/main.scss
index f26ed65..c320c68 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -12,6 +12,11 @@
@import 'scss/themes/default';
@import 'scss/themes/dark';
@import 'scss/themes/light';
+@import 'scss/themes/blue';
+@import 'scss/themes/green';
+@import 'scss/themes/royal';
+@import 'scss/themes/mint';
+@import 'scss/themes/grape';
html, body {
font-family: $font;
From b034bb770b7a9313e1d1ae7d45fbfabba65b79c4 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 12:04:37 -0600
Subject: [PATCH 031/134] Create Yellow theme
---
index.html | 1 +
src/main.scss | 1 +
src/scss/themes/_yellow.scss | 256 +++++++++++++++++++++++++++++++++++
3 files changed, 258 insertions(+)
create mode 100644 src/scss/themes/_yellow.scss
diff --git a/index.html b/index.html
index 2a42170..bcd0614 100644
--- a/index.html
+++ b/index.html
@@ -168,6 +168,7 @@
Light
Blue
Green
+ Yellow
Royal
Mint
Grape
diff --git a/src/main.scss b/src/main.scss
index c320c68..ab1c4a6 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -15,6 +15,7 @@
@import 'scss/themes/blue';
@import 'scss/themes/green';
@import 'scss/themes/royal';
+@import 'scss/themes/yellow';
@import 'scss/themes/mint';
@import 'scss/themes/grape';
diff --git a/src/scss/themes/_yellow.scss b/src/scss/themes/_yellow.scss
new file mode 100644
index 0000000..7b90a7d
--- /dev/null
+++ b/src/scss/themes/_yellow.scss
@@ -0,0 +1,256 @@
+#yellowTheme {
+ $dark: #757575;
+ $mid: #a0a0a0;
+ $light: #cecece;
+ $white: #ffffff;
+ $red: #de0000;
+
+ $header-color: #eeaa33;
+ $background-color: #ffbb44;
+ $footer-color: #cc8822;
+ $link-color: #ffff77;
+ $button-color: #dd9968;
+ $message-color: #dd9977;
+ $word-form-color: #bb7732;
+ $dictionary-color: #cc8835;
+ $entry-color: #dd9952;
+ $input-color: #ffbb44;
+ $details-color: #eeaa77;
+ $modal-color: #dd9944;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: #000000;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ color: #000000;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: #000000;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+
+ &.red {
+ background-color: $red;
+ color: #000000;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px #000000;
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px #000000;
+
+ a {
+ color: #000000;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $light;
+ }
+}
+}
\ No newline at end of file
From af2b7edcfbb9d91ad6d34cc5947ce956771f7ec5 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 12:05:17 -0600
Subject: [PATCH 032/134] Fix Royal link color
---
src/scss/themes/_royal.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/scss/themes/_royal.scss b/src/scss/themes/_royal.scss
index c386921..a2c09f0 100644
--- a/src/scss/themes/_royal.scss
+++ b/src/scss/themes/_royal.scss
@@ -8,7 +8,7 @@
$header-color: #aa33ee;
$background-color: #bb44ff;
$footer-color: #8822cc;
- $link-color: #5533aa;
+ $link-color: #ffaaff;
$button-color: #9968dd;
$message-color: #9977dd;
$word-form-color: #7732bb;
From 07694cd250c92ca0cbbf3726511526cc79e3e9f5 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 12:10:20 -0600
Subject: [PATCH 033/134] Create Red theme
---
index.html | 1 +
src/main.scss | 1 +
src/scss/themes/_red.scss | 256 ++++++++++++++++++++++++++++++++++++++
3 files changed, 258 insertions(+)
create mode 100644 src/scss/themes/_red.scss
diff --git a/index.html b/index.html
index bcd0614..9d04ff6 100644
--- a/index.html
+++ b/index.html
@@ -169,6 +169,7 @@
Blue
Green
Yellow
+ Red
Royal
Mint
Grape
diff --git a/src/main.scss b/src/main.scss
index ab1c4a6..db34c39 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -16,6 +16,7 @@
@import 'scss/themes/green';
@import 'scss/themes/royal';
@import 'scss/themes/yellow';
+@import 'scss/themes/red';
@import 'scss/themes/mint';
@import 'scss/themes/grape';
diff --git a/src/scss/themes/_red.scss b/src/scss/themes/_red.scss
new file mode 100644
index 0000000..38688bd
--- /dev/null
+++ b/src/scss/themes/_red.scss
@@ -0,0 +1,256 @@
+#redTheme {
+ $dark: #757575;
+ $mid: #a0a0a0;
+ $light: #cecece;
+ $white: #ffffff;
+ $red: #ffffff;
+
+ $header-color: #ee3333;
+ $background-color: #ff4444;
+ $footer-color: #cc2222;
+ $link-color: #aa0000;
+ $button-color: #dd6868;
+ $message-color: #dd7777;
+ $word-form-color: #bb3232;
+ $dictionary-color: #cc3535;
+ $entry-color: #dd5252;
+ $input-color: #ff4444;
+ $details-color: #ee7777;
+ $modal-color: #dd4444;
+
+ $border: 1px solid $dark;
+
+ background-color: $background-color;
+ color: #000000;
+
+ a {
+ color: $link-color;
+ }
+
+ p, span {
+ &.red {
+ color: $red;
+ }
+ }
+
+ label {
+ .label-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+
+ .label-help-button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+ text-decoration: none;
+ }
+ }
+
+ input, textarea, select, option {
+ background-color: $input-color;
+ color: #000000;
+ border: 1px solid $dark;
+ }
+
+ .tag {
+ border: $border;
+ background-color: $button-color;
+
+ &.red {
+ background-color: $red;
+ color: #000000;
+ }
+ }
+
+ span .tag {
+ border: $border;
+ background-color: $button-color;
+ &+.tag {
+ background-color: lighten($button-color, 25);
+ border-left: none;
+ }
+ }
+
+ .button {
+ border: 1px solid darken($button-color, 2);
+ background-color: $button-color;
+ color: #000000;
+
+ &.red {
+ background-color: $red;
+ color: #000000;
+ }
+ }
+
+ .modal {
+ .modal-background {
+ background-color: #000000;
+ }
+ .modal-content {
+ background-color: $modal-color;
+ border: 1px solid darken($modal-color, 10);
+ }
+ }
+
+ .tabs {
+ ul {
+ border-bottom: $border;
+ }
+ li {
+ border-top: $border;
+ border-left: $border;
+ border-right: $border;
+ background-color: $button-color;
+
+ &.active {
+ background-color: $modal-color;
+ border-bottom: 1px solid $modal-color;
+ }
+ }
+ }
+
+ header {
+ border-bottom: 1px solid $mid;
+ }
+
+ main {
+ article {
+ border: $border;
+ }
+ }
+
+ footer {
+ border-top: 1px solid $mid;
+ }
+
+ #top {
+ background-color: $header-color;
+ border-bottom: 1px solid darken($header-color, 2);
+ box-shadow: 0px 4px 5px 0px #000000;
+
+ #title {
+ display: inline-block;
+ margin: 3px $general-padding 3px 0;
+ }
+
+ #openSearchModal {
+ cursor: pointer;
+ }
+
+ #searchModal {
+ .modal-content {
+ section+footer {
+ background-color: $modal-color;
+ }
+ }
+ }
+ }
+
+ #wordForm {
+ background-color: $word-form-color;
+ border: 1px solid darken($word-form-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #mainColumn {
+ background-color: $dictionary-color;
+ border: 1px solid darken($dictionary-color, 2);
+ box-shadow: 4px 4px 5px 0px #000000;
+ }
+
+ #detailsSection {
+ nav ul {
+ li {
+ border: 1px solid darken($button-color, 20);
+ background-color: $button-color;
+
+ &.active {
+ background-color: lighten($button-color, 15);
+ }
+ }
+ }
+
+ #detailsPanel {
+ background-color: $details-color;
+ }
+ }
+
+ .entry {
+ background-color: $entry-color;
+ border: 1px solid darken($entry-color, 20);
+
+ header {
+ border-bottom: 1px solid darken($entry-color, 20);
+
+ .word-option-button {
+ background-color: darken($entry-color, 10);
+ border: 1px solid darken($entry-color, 20);
+ }
+
+ .word-option-list {
+ background-color: darken($entry-color, 5);
+ border: 1px solid darken($entry-color, 10);
+
+ .word-option {
+ &:hover {
+ background-color: lighten($entry-color, 5);
+ }
+ }
+ }
+ }
+
+ .edit-form {
+ .button {
+ background-color: darken($button-color, 10);
+ }
+ }
+ }
+
+ #messagingSection {
+ .message {
+ background-color: $message-color;
+ border: $border;
+
+ &.error {
+ background-color: lighten($red, 0.75);
+ }
+
+ .close-button {
+ &:before {
+ background-color: #455455;
+ }
+ }
+ }
+ }
+
+ #bottom {
+ background-color: $footer-color;
+ border-top: 1px solid darken($footer-color, 2);
+ box-shadow: 0px -4px 5px 0px #000000;
+
+ a {
+ color: #000000;
+ }
+ }
+
+}
+
+@media (max-width: 750px) {
+#defaultTheme {
+ $dark: #bababa;
+ $mid: #dedede;
+ $light: #efefef;
+ $white: #ffffff;
+ $red: #b42032;
+ $border: 1px solid $dark;
+
+ #mobileWordFormShow {
+ background-color: #00de00;
+ border: $border;
+ color: $light;
+ }
+}
+}
\ No newline at end of file
From b0646209ebe6673302c2eb986f6cf4f082d530e0 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 12:43:11 -0600
Subject: [PATCH 034/134] Make view.html use defaultTheme
---
view.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/view.html b/view.html
index b0300ed..a2e801f 100644
--- a/view.html
+++ b/view.html
@@ -13,7 +13,7 @@
-
+
Lexiconga
From f2105465df7928932c08164fb54ae4ec284fdaf0 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 13:03:24 -0600
Subject: [PATCH 035/134] Fix typo in Sync preventing publicLink from being set
---
src/js/account/sync.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/js/account/sync.js b/src/js/account/sync.js
index 5b4df0b..b6a6b30 100644
--- a/src/js/account/sync.js
+++ b/src/js/account/sync.js
@@ -100,7 +100,7 @@ export function uploadWholeDictionary(asNew = false) {
dictionary,
}, remoteId => {
window.currentDictionary.externalID = remoteId;
- dictionary.getElementById('publicLink').value = document.domain + window.location.pathname + remoteId.toString();
+ document.getElementById('publicLink').value = document.domain + window.location.pathname + remoteId.toString();
saveDictionary(false);
addMessage('Dictionary Uploaded Successfully');
renderChangeDictionaryOptions();
From 37689fdab1d57c7b262918e1c8c7c5ec9419b9b3 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 13:04:49 -0600
Subject: [PATCH 036/134] Replace leftover isComplete with theme
---
src/constants.js | 2 +-
src/php/api/Dictionary.php | 8 ++++----
src/structure.sql | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/constants.js b/src/constants.js
index ff303f7..da1d815 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -46,7 +46,7 @@ export const DEFAULT_DICTIONARY = {
allowDuplicates: false,
caseSensitive: false,
sortByDefinition: false,
- isComplete: false,
+ theme: 'default',
isPublic: false,
},
lastUpdated: getTimestampInSeconds(),
diff --git a/src/php/api/Dictionary.php b/src/php/api/Dictionary.php
index 485d32d..9e8e6c4 100644
--- a/src/php/api/Dictionary.php
+++ b/src/php/api/Dictionary.php
@@ -127,7 +127,7 @@ VALUES ($new_id, ?, ?, ?, ?)";
'allowDuplicates' => $result['allow_duplicates'] === '1' ? true : false,
'caseSensitive' => $result['case_sensitive'] === '1' ? true : false,
'sortByDefinition' => $result['sort_by_definition'] === '1' ? true : false,
- 'isComplete' => false,
+ 'theme' => $result['theme'],
'isPublic' => $result['is_public'] === '1' ? true : false,
),
'lastUpdated' => is_null($result['last_updated']) ? $result['created_on'] : $result['last_updated'],
@@ -278,7 +278,7 @@ VALUES ($new_id, ?, ?, ?, ?)";
'allowDuplicates' => $result['allow_duplicates'] === '1' ? true : false,
'caseSensitive' => $result['case_sensitive'] === '1' ? true : false,
'sortByDefinition' => $result['sort_by_definition'] === '1' ? true : false,
- 'isComplete' => false,
+ 'theme' => $result['theme'],
'isPublic' => $result['is_public'] === '1' ? true : false,
),
'lastUpdated' => is_null($result['last_updated']) ? $result['created_on'] : $result['last_updated'],
@@ -296,7 +296,7 @@ SET name=:name,
allow_duplicates=:allow_duplicates,
case_sensitive=:case_sensitive,
sort_by_definition=:sort_by_definition,
- is_complete=:is_complete,
+ theme=:theme,
is_public=:is_public,
last_updated=:last_updated,
created_on=:created_on
@@ -310,7 +310,7 @@ WHERE user=$user AND id=$dictionary";
':allow_duplicates' => $dictionary_object['settings']['allowDuplicates'] ? 1 : 0,
':case_sensitive' => $dictionary_object['settings']['caseSensitive'] ? 1 : 0,
':sort_by_definition' => $dictionary_object['settings']['sortByDefinition'] ? 1 : 0,
- ':is_complete' => 0,
+ ':theme' => $dictionary_object['settings']['theme'],
':is_public' => $dictionary_object['settings']['isPublic'] ? 1 : 0,
':last_updated' => $dictionary_object['lastUpdated'],
':created_on' => $dictionary_object['createdOn'],
diff --git a/src/structure.sql b/src/structure.sql
index 74b2608..bf722a3 100644
--- a/src/structure.sql
+++ b/src/structure.sql
@@ -16,7 +16,7 @@ CREATE TABLE IF NOT EXISTS `dictionaries` (
`allow_duplicates` tinyint(1) NOT NULL DEFAULT 0,
`case_sensitive` tinyint(1) NOT NULL DEFAULT 0,
`sort_by_definition` tinyint(1) NOT NULL DEFAULT 0,
- `is_complete` tinyint(1) NOT NULL DEFAULT 0,
+ `theme` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'default',
`is_public` tinyint(1) NOT NULL DEFAULT 0,
`last_updated` int(11) DEFAULT NULL,
`created_on` int(11) NOT NULL,
From 278b0b61d3baddc60bd509560260fd809e28b564 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 13:11:01 -0600
Subject: [PATCH 037/134] Tie theme to dictionary instead of settings
---
index.html | 18 ++++++++++++++++--
src/constants.js | 2 +-
src/js/dictionaryManagement.js | 8 ++++++--
src/js/render.js | 6 ++++++
src/js/settings.js | 13 +++----------
5 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/index.html b/index.html
index 9d04ff6..d3a282f 100644
--- a/index.html
+++ b/index.html
@@ -161,8 +161,8 @@
Check this to enable keyboard combinations to perform different helpful actions.
- Theme
-
+ Default Theme (the theme new dictionaries will use)
+
Default
Dark
Light
@@ -290,6 +290,20 @@
Checking this box will sort the words in alphabetical order based on the Definition instead of the Word.
+ Theme
+
+ Default
+ Dark
+ Light
+ Blue
+ Green
+ Yellow
+ Red
+ Royal
+ Mint
+ Grape
+
+
diff --git a/src/constants.js b/src/constants.js
index da1d815..617e2a6 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -57,7 +57,7 @@ export const DEFAULT_DICTIONARY = {
export const DEFAULT_SETTINGS = {
useIPAPronunciationField: true,
useHotkeys: true,
- theme: 'default',
+ defaultTheme: 'default',
};
export const DEFAULT_PAGE_SIZE = 50;
diff --git a/src/js/dictionaryManagement.js b/src/js/dictionaryManagement.js
index cce0358..0890537 100644
--- a/src/js/dictionaryManagement.js
+++ b/src/js/dictionaryManagement.js
@@ -1,4 +1,4 @@
-import { renderDictionaryDetails, renderPartsOfSpeech, renderAll, renderWords } from "./render";
+import { renderDictionaryDetails, renderPartsOfSpeech, renderAll, renderTheme } from "./render";
import { removeTags, cloneObject, getTimestampInSeconds, download, slugify } from "../helpers";
import { LOCAL_STORAGE_KEY, DEFAULT_DICTIONARY, MIGRATE_VERSION } from "../constants";
import { addMessage, getNextId, hasToken } from "./utilities";
@@ -13,7 +13,7 @@ export function openEditModal() {
const { name, specification, description, partsOfSpeech } = window.currentDictionary;
const { consonants, vowels, blends, phonotactics } = window.currentDictionary.details.phonology;
const { orthography, grammar } = window.currentDictionary.details;
- const { allowDuplicates, caseSensitive, sortByDefinition, isPublic } = window.currentDictionary.settings;
+ const { allowDuplicates, caseSensitive, sortByDefinition, theme, isPublic } = window.currentDictionary.settings;
document.getElementById('editName').value = name;
document.getElementById('editSpecification').value = specification;
@@ -35,6 +35,7 @@ export function openEditModal() {
document.getElementById('editCaseSensitive').checked = caseSensitive;
if (allowDuplicates) document.getElementById('editCaseSensitive').disabled = true;
document.getElementById('editSortByDefinition').checked = sortByDefinition;
+ document.getElementById('editTheme').value = theme;
if (hasToken()) {
document.getElementById('editIsPublic').checked = isPublic;
}
@@ -63,6 +64,7 @@ export function saveEditModal() {
window.currentDictionary.settings.caseSensitive = document.getElementById('editCaseSensitive').checked;
const needsReSort = window.currentDictionary.settings.sortByDefinition !== document.getElementById('editSortByDefinition').checked;
window.currentDictionary.settings.sortByDefinition = document.getElementById('editSortByDefinition').checked;
+ window.currentDictionary.settings.theme = document.getElementById('editTheme').value;
let needsWordRender = false;
if (hasToken()) {
@@ -74,6 +76,7 @@ export function saveEditModal() {
addMessage('Saved ' + window.currentDictionary.specification + ' Successfully');
saveDictionary();
+ renderTheme();
renderDictionaryDetails();
renderPartsOfSpeech();
@@ -113,6 +116,7 @@ export function loadDictionary() {
export function clearDictionary() {
window.currentDictionary = cloneObject(DEFAULT_DICTIONARY);
+ window.currentDictionary.settings.theme = window.settings.defaultTheme;
}
export function deleteDictionary() {
diff --git a/src/js/render.js b/src/js/render.js
index d8710fd..d6ab919 100644
--- a/src/js/render.js
+++ b/src/js/render.js
@@ -18,11 +18,17 @@ import { getPaginationData } from './pagination';
import { getOpenEditForms, parseReferences } from './wordManagement';
export function renderAll() {
+ renderTheme();
renderDictionaryDetails();
renderPartsOfSpeech();
renderWords();
}
+export function renderTheme() {
+ const { theme } = window.currentDictionary.settings;
+ document.body.id = theme + 'Theme';
+}
+
export function renderDictionaryDetails() {
renderName();
diff --git a/src/js/settings.js b/src/js/settings.js
index 628fe80..f40d19a 100644
--- a/src/js/settings.js
+++ b/src/js/settings.js
@@ -8,7 +8,6 @@ import { enableHotKeys, disableHotKeys } from "./hotkeys";
export function loadSettings() {
const storedSettings = window.localStorage.getItem(SETTINGS_KEY);
window.settings = storedSettings ? JSON.parse(storedSettings) : cloneObject(DEFAULT_SETTINGS);
- updateTheme();
toggleIPAPronunciationFields();
}
@@ -17,17 +16,12 @@ export function saveSettings() {
addMessage('Settings Saved!');
}
-export function updateTheme() {
- const { theme } = window.settings;
- document.body.id = theme + 'Theme';
-}
-
export function openSettingsModal() {
- const { useIPAPronunciationField, useHotkeys, theme } = window.settings;
+ const { useIPAPronunciationField, useHotkeys, defaultTheme } = window.settings;
document.getElementById('settingsUseIPA').checked = useIPAPronunciationField;
document.getElementById('settingsUseHotkeys').checked = useHotkeys;
- document.getElementById('settingsTheme').value = theme;
+ document.getElementById('settingsDefaultTheme').value = defaultTheme;
document.getElementById('settingsModal').style.display = '';
}
@@ -35,7 +29,7 @@ export function openSettingsModal() {
export function saveSettingsModal() {
window.settings.useIPAPronunciationField = document.getElementById('settingsUseIPA').checked;
window.settings.useHotkeys = document.getElementById('settingsUseHotkeys').checked;
- window.settings.theme = document.getElementById('settingsTheme').value;
+ window.settings.defaultTheme = document.getElementById('settingsDefaultTheme').value;
if (hasToken()) {
import('./account/index.js').then(account => {
@@ -57,7 +51,6 @@ export function saveSettingsModal() {
}
saveSettings();
- updateTheme();
toggleHotkeysEnabled();
toggleIPAPronunciationFields();
}
From 5dcccaba59e1949d7d4bfef78a7f9cd8eebaa60e Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 13:15:14 -0600
Subject: [PATCH 038/134] Make view.html use dictionary theme
---
src/js/view/render.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/js/view/render.js b/src/js/view/render.js
index 2d8ed15..e17c3c6 100644
--- a/src/js/view/render.js
+++ b/src/js/view/render.js
@@ -5,8 +5,10 @@ import { getMatchingSearchWords, highlightSearchTerm, getSearchFilters, getSearc
import { showSection } from '../displayToggles';
import { setupSearchFilters, setupInfoModal } from './setupListeners';
import { parseReferences } from '../wordManagement';
+import { renderTheme } from '../render';
export function renderAll() {
+ renderTheme();
renderDictionaryDetails();
renderPartsOfSpeech();
renderWords();
From 3340c965077c7c37b6d4e37a3a8f740f67bb5ef8 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Fri, 31 May 2019 17:24:41 -0600
Subject: [PATCH 039/134] Start writing password reset
---
src/js/account/passwordReset.js | 59 +++++++++++++++++++++++
src/js/account/setupListeners.js | 2 +
src/php/api/User.php | 81 ++++++++++++++++++++++++++++++++
src/php/api/index.php | 26 ++++++++++
4 files changed, 168 insertions(+)
create mode 100644 src/js/account/passwordReset.js
diff --git a/src/js/account/passwordReset.js b/src/js/account/passwordReset.js
new file mode 100644
index 0000000..3b5b730
--- /dev/null
+++ b/src/js/account/passwordReset.js
@@ -0,0 +1,59 @@
+import { setupInfoModal } from "../setupListeners";
+import { request } from "./helpers";
+
+export function renderForgotPasswordForm() {
+ const modal = document.createElement('section');
+ modal.classList.add('modal');
+ modal.innerHTML = `
+ `;
+
+ document.body.appendChild(modal);
+
+ setupStartResetForm();
+ setupInfoModal(modal);
+}
+
+function setupStartResetForm() {
+ document.getElementById('forgotPasswordSubmit').addEventListener('click', sendPasswordReset);
+}
+
+function sendPasswordReset() {
+ const email = document.getElementById('forgotPasswordEmailField').value.trim();
+ const errorMessageElement = document.getElementById('forgotPasswordErrorMessages');
+ let errorMessage = '';
+
+ if (email === '') {
+ errorMessage += 'Please enter an email address.
';
+ }
+
+ errorMessageElement.innerHTML = errorMessage;
+
+ if (errorMessage === '') {
+ request({
+ action: 'initiate-password-reset',
+ email,
+ }, success => {
+ console.log(success);
+ }, error => {
+ errorMessage += '' + error + '
';
+ }).then(() => {
+ errorMessageElement.innerHTML = errorMessage;
+ if (errorMessage === '') {
+ document.getElementById('forgotPasswordForm').innerHTML = `Password Reset Key Sent
+ Go check your email for the password reset link.
+ Note that it may be sent to your spam/junk folder by mistake.
`;
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/src/js/account/setupListeners.js b/src/js/account/setupListeners.js
index b3bf316..d8fec90 100644
--- a/src/js/account/setupListeners.js
+++ b/src/js/account/setupListeners.js
@@ -2,6 +2,7 @@ import { logIn, createAccount } from "./login";
import { setCookie } from "../StackOverflow/cookie";
import { changeDictionary, createNewDictionary } from "./dictionaryManagement";
import { addMessage } from "../utilities";
+import { renderForgotPasswordForm } from "./passwordReset";
export function setupLoginModal(modal) {
const closeElements = modal.querySelectorAll('.modal-background, .close-button');
@@ -36,6 +37,7 @@ export function setupLoginModal(modal) {
});
document.getElementById('loginSubmit').addEventListener('click', logIn);
+ document.getElementById('forgotPasswordButton').addEventListener('click', renderForgotPasswordForm);
document.getElementById('createAccountSubmit').addEventListener('click', createAccount);
}
diff --git a/src/php/api/User.php b/src/php/api/User.php
index b52beda..613b6e6 100644
--- a/src/php/api/User.php
+++ b/src/php/api/User.php
@@ -267,6 +267,74 @@ VALUES (?, ?, ?, ?, ?)';
return false;
}
+ public function setPasswordReset($email) {
+ $date = date("Y-m-d H:i:s");
+ $reset_code = random_int(0, 999999999);
+ $reset_code_hash = $this->token->hash($reset_code);
+ $query = "UPDATE `users` SET `password_reset_code`=?, `password_reset_date`=? WHERE `email`=?;";
+ $reset = $this->db->execute($query, array(
+ $reset_code,
+ $date,
+ $email,
+ ));
+
+ if ($reset) {
+ $user_data = $this->getUserDataByEmailForPasswordReset($email);
+ if ($user_data) {
+ $to = $email;
+ $subject = "Here's your Lexiconga password reset link";
+ $message = "Hello " . $user_data['public_name'] . "\r\n\r\nSomeone has requested a password reset link for your Lexiconga account. If it was you, you can reset your password by going to the link below and entering a new password for yourself:\r\n";
+ $message .= "http://lexicon.ga/passwordreset?account=" . $user_data['id'] . "&code=" . $reset_code_hash . "\r\n\r\n";
+ $message .= "If it wasn't you who requested the link, you can ignore this email since it was only sent to you, but you might want to consider changing your password when you have a chance.\r\n\r\n";
+ $message .= "The password link will only be valid for today until you use it.\r\n\r\n";
+ $message .= "Thanks!\r\nThe Lexiconga Admins";
+ $header = "From: Lexiconga Password Reset \r\n"
+ . "Reply-To: help@lexicon.ga\r\n"
+ . "X-Mailer: PHP/" . phpversion();
+ if (mail($to, $subject, $message, $header)) {
+ return true;
+ } else {
+ return array(
+ 'error' => 'Could not send email to ' . $email,
+ );
+ }
+ }
+ } else {
+ return array(
+ 'error' => $this->db->last_error_info,
+ );
+ }
+
+ return false;
+ }
+
+ public function checkPasswordReset($id, $code) {
+ $date = date("Y-m-d");
+ $daterange = "'" . $date . " 00:00:00' AND '" . $date . " 23:59:59'";
+ $unhashed_code = $this->token->unhash($code);
+ $query = "SELECT * FROM `users` WHERE `id`=? AND `password_reset_code`=? AND `password_reset_date` BETWEEN " . $daterange . ";";
+ $stmt = $this->db->query($query, array(
+ $id,
+ $unhashed_code,
+ ));
+ $results = $stmt->fetchAll();
+
+ if ($stmt && $results) {
+ return count($results) === 1;
+ } else {
+ return false;
+ }
+ }
+
+ public function resetPassword($password, $email) {
+ $password_hash = password_hash($password, PASSWORD_DEFAULT);
+ $query = "UPDATE `users` SET `password`=?, `password_reset_date`='0000-00-00 00:00:00' WHERE `email`=?;";
+ return $this->db->execute($query, array(
+ $password_hash,
+ $email,
+ ));
+ }
+
private function generateUserToken ($user_id, $dictionary_id) {
$user_data = array(
'id' => intval($user_id),
@@ -287,4 +355,17 @@ VALUES (?, ?, ?, ?, ?)';
$stmt = $this->db->query($update_query, array($new_password));
return $stmt->rowCount() === 1;
}
+
+ private function getUserDataByEmailForPasswordReset($email) {
+ $query = 'SELECT id, public_name FROM users WHERE email=?';
+ $stmt = $this->db->query($query, array($email));
+ $result = $stmt->fetch();
+ if ($stmt && $result) {
+ return array(
+ 'id' => $result['id'],
+ 'public_name' => $result['public_name'] ? $result['public_name'] : 'Lexiconger',
+ );
+ }
+ return false;
+ }
}
\ No newline at end of file
diff --git a/src/php/api/index.php b/src/php/api/index.php
index fdb76be..1d05666 100644
--- a/src/php/api/index.php
+++ b/src/php/api/index.php
@@ -418,6 +418,32 @@ switch ($action) {
'error' => true,
), 400);
}
+ case 'initiate-password-reset': {
+ if (isset($request['email'])) {
+ $user = new User();
+ $password_reset = $user->setPasswordReset($request['email']);
+ if ($password_reset === true) {
+ return Response::json(array(
+ 'data' => $password_reset,
+ 'error' => false,
+ ), 200);
+ }
+ if (isset($password_reset['error'])) {
+ return Response::json(array(
+ 'data' => $password_reset['error'],
+ 'error' => true,
+ ), 500);
+ }
+ return Response::json(array(
+ 'data' => 'Could not send password reset key: email not found',
+ 'error' => true,
+ ), 401);
+ }
+ return Response::json(array(
+ 'data' => 'Could not send password reset key: required data missing',
+ 'error' => true,
+ ), 400);
+ }
default: {
return Response::html('Hi!');
From 3d3a69c65f1a5be343b80fc37fbfc6921c805ea0 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Mon, 3 Jun 2019 11:50:39 -0600
Subject: [PATCH 040/134] Process main.scss in html so parcel shares the output
---
index.html | 1 +
src/index.js | 2 --
src/js/view/index.js | 1 -
view.html | 1 +
4 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/index.html b/index.html
index d3a282f..d69b324 100644
--- a/index.html
+++ b/index.html
@@ -5,6 +5,7 @@
Lexiconga
+
diff --git a/src/index.js b/src/index.js
index bd7b95d..b83d7b9 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,5 +1,3 @@
-import './main.scss';
-
import setupListeners from './js/setupListeners';
import { renderAll } from './js/render';
import { hasToken } from './js/utilities';
diff --git a/src/js/view/index.js b/src/js/view/index.js
index 591c84e..2fec08a 100644
--- a/src/js/view/index.js
+++ b/src/js/view/index.js
@@ -1,4 +1,3 @@
-import '../../main.scss';
import { renderAll } from './render';
import setupListeners from './setupListeners';
diff --git a/view.html b/view.html
index a2e801f..b39a704 100644
--- a/view.html
+++ b/view.html
@@ -11,6 +11,7 @@
+
From 15d9201ef3c6543c12ccd4e93e8376cf7852abdc Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Mon, 3 Jun 2019 13:23:49 -0600
Subject: [PATCH 041/134] Create an Advertising information page
---
advertising.html | 109 +++++++++++++++++++++++++++++++++++++++++++++++
index.html | 1 +
view.html | 3 +-
3 files changed, 112 insertions(+), 1 deletion(-)
create mode 100644 advertising.html
diff --git a/advertising.html b/advertising.html
new file mode 100644
index 0000000..f380810
--- /dev/null
+++ b/advertising.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+ Advertising on Lexiconga
+
+
+
+
+
+
+
+
+
+
+
+
+ Advertising on Lexiconga
+
+ About
+
+ Advertisements are shown in-line with dictionary entries as plain text with a link to your advertised
+ content.
+ You get up to 50 characters for your headline, up to 200 characters for your body text, and 20 characters
+ for the
+ text in a button that links wherever you would like it to go.
+
+
+ At Lexiconga, we only want to display advertisements that will appeal to our users, so we work directly with
+ our
+ advertisers to maintain a manually curated selection of ads. As an advertiser, you will be creating a
+ professional
+ relationship with Lexiconga to ensure that your advertisements are up to par with what we want our users to
+ see.
+ All this means is that as long as your advertisement is relevant and your product is not predatory, you're
+ good to go.
+
+
+ "Relevant" advertisements include but are not limited to:
+
+
+ Books and Authors
+ Conlanging tools
+ Writing resoruces
+ Video and tabletop games
+ Blogs and vlogs
+ Cool and interesting products
+ Kickstarters related to the above
+
+
+ We want to help you get the word out about your project or product to Lexiconga users in a way that doesn't
+ interfere with their work while also allowing them to find your cool, interesting, and helpful things.
+
+
+ Pricing
+
+ As with the advertisements themselves, the pricing structure is fairly simple, too:
+
+
+
+ Monthly: $5.00 per ad
+
+ With Priority: $20.00 per ad
+
+
+
+ Yearly: $50.00 per ad
+
+ With Priority: $200.00 per ad
+
+
+
+
+ What's Priority?
+
+ All current advertisements are shuffled and then displayed to Lexiconga users once every 10 words. If you
+ rent your ad space with Priority, then your ads will be shuffled among any other Priority ads and shown
+ before any other ads that were not rented with priority.
+
+
+ Get in Touch
+
+ If you would like to advertise on Lexiconga or if you have any questions, please contact us at
+ ads@lexicon.ga to get
+ started!
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.html b/index.html
index d69b324..f6195b8 100644
--- a/index.html
+++ b/index.html
@@ -135,6 +135,7 @@
Support Lexiconga
Blog
+ Advertise
Issues
Updates
|
diff --git a/view.html b/view.html
index b39a704..34db5bf 100644
--- a/view.html
+++ b/view.html
@@ -143,9 +143,10 @@
Support Lexiconga
Blog
+ Advertise
Issues
Updates
- |
+ |
Help
Terms
Privacy
From 8ed216cb7a759db6f0f0780f1f88892b5ff4886e Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Mon, 3 Jun 2019 14:01:53 -0600
Subject: [PATCH 042/134] Downgrade parcel-bundler to 1.9.7; minor fixes
Newer versions incorrectly link html files:
https://github.com/parcel-bundler/parcel/issues/2791
---
package.json | 3 +-
src/js/account/sync.js | 2 +-
yarn.lock | 3075 ++++++++++++++++++++++------------------
3 files changed, 1723 insertions(+), 1357 deletions(-)
diff --git a/package.json b/package.json
index 43314bc..462b499 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,8 @@
"autoprefixer": "^9.5.1",
"concurrently": "^4.1.0",
"cpx": "^1.5.0",
- "parcel-bundler": "^1.12.3",
+ "node-sass": "^4.12.0",
+ "parcel-bundler": "1.9.7",
"rimraf": "^2.6.3",
"sass": "^1.19.0"
},
diff --git a/src/js/account/sync.js b/src/js/account/sync.js
index b6a6b30..e9bc59e 100644
--- a/src/js/account/sync.js
+++ b/src/js/account/sync.js
@@ -192,7 +192,7 @@ export function syncWords(remoteWords, deletedWords) {
}
remoteWords.forEach(remoteWord => {
- const localWord = words.find(word => word.wordId === remoteWord.wordId);
+ let localWord = words.find(word => word.wordId === remoteWord.wordId);
if (localWord) {
if (localWord.lastUpdated < remoteWord.lastUpdated) {
localWord = remoteWord;
diff --git a/yarn.lock b/yarn.lock
index e6c1303..5e49918 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,705 +2,6 @@
# yarn lockfile v1
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0 <7.4.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
- integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
- dependencies:
- "@babel/highlight" "^7.0.0"
-
-"@babel/core@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b"
- integrity sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.3.4"
- "@babel/helpers" "^7.2.0"
- "@babel/parser" "^7.3.4"
- "@babel/template" "^7.2.2"
- "@babel/traverse" "^7.3.4"
- "@babel/types" "^7.3.4"
- convert-source-map "^1.1.0"
- debug "^4.1.0"
- json5 "^2.1.0"
- lodash "^4.17.11"
- resolve "^1.3.2"
- semver "^5.4.1"
- source-map "^0.5.0"
-
-"@babel/generator@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.4.tgz#9aa48c1989257877a9d971296e5b73bfe72e446e"
- integrity sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==
- dependencies:
- "@babel/types" "^7.3.4"
- jsesc "^2.5.1"
- lodash "^4.17.11"
- source-map "^0.5.0"
- trim-right "^1.0.1"
-
-"@babel/generator@^7.3.4", "@babel/generator@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041"
- integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==
- dependencies:
- "@babel/types" "^7.4.4"
- jsesc "^2.5.1"
- lodash "^4.17.11"
- source-map "^0.5.0"
- trim-right "^1.0.1"
-
-"@babel/helper-annotate-as-pure@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
- integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
- integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@babel/helper-builder-react-jsx@^7.3.0":
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4"
- integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==
- dependencies:
- "@babel/types" "^7.3.0"
- esutils "^2.0.0"
-
-"@babel/helper-call-delegate@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43"
- integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==
- dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
-
-"@babel/helper-define-map@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a"
- integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==
- dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/types" "^7.4.4"
- lodash "^4.17.11"
-
-"@babel/helper-explode-assignable-expression@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
- integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==
- dependencies:
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@babel/helper-function-name@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
- integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
- dependencies:
- "@babel/helper-get-function-arity" "^7.0.0"
- "@babel/template" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@babel/helper-get-function-arity@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
- integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@babel/helper-hoist-variables@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a"
- integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==
- dependencies:
- "@babel/types" "^7.4.4"
-
-"@babel/helper-member-expression-to-functions@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
- integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@babel/helper-module-imports@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
- integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8"
- integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/template" "^7.4.4"
- "@babel/types" "^7.4.4"
- lodash "^4.17.11"
-
-"@babel/helper-optimise-call-expression@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
- integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@babel/helper-plugin-utils@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
- integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
-
-"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2"
- integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==
- dependencies:
- lodash "^4.17.11"
-
-"@babel/helper-remap-async-to-generator@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
- integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-wrap-function" "^7.1.0"
- "@babel/template" "^7.1.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27"
- integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==
- dependencies:
- "@babel/helper-member-expression-to-functions" "^7.0.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
-
-"@babel/helper-simple-access@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
- integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==
- dependencies:
- "@babel/template" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677"
- integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==
- dependencies:
- "@babel/types" "^7.4.4"
-
-"@babel/helper-wrap-function@^7.1.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa"
- integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==
- dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/template" "^7.1.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.2.0"
-
-"@babel/helpers@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5"
- integrity sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==
- dependencies:
- "@babel/template" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
-
-"@babel/highlight@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
- integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
- dependencies:
- chalk "^2.0.0"
- esutils "^2.0.2"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.4.tgz#a43357e4bbf4b92a437fb9e465c192848287f27c"
- integrity sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==
-
-"@babel/parser@^7.2.2", "@babel/parser@^7.3.4", "@babel/parser@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.4.tgz#5977129431b8fe33471730d255ce8654ae1250b6"
- integrity sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==
-
-"@babel/plugin-proposal-async-generator-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e"
- integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
-
-"@babel/plugin-proposal-json-strings@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317"
- integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-json-strings" "^7.2.0"
-
-"@babel/plugin-proposal-object-rest-spread@^7.3.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005"
- integrity sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
-
-"@babel/plugin-proposal-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5"
- integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78"
- integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
-
-"@babel/plugin-syntax-async-generators@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"
- integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-syntax-flow@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c"
- integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-syntax-json-strings@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470"
- integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-syntax-jsx@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7"
- integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-syntax-object-rest-spread@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
- integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c"
- integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-arrow-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550"
- integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-async-to-generator@^7.3.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894"
- integrity sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
-
-"@babel/plugin-transform-block-scoped-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"
- integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-block-scoping@^7.3.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d"
- integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- lodash "^4.17.11"
-
-"@babel/plugin-transform-classes@^7.3.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6"
- integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-define-map" "^7.4.4"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.4.4"
- "@babel/helper-split-export-declaration" "^7.4.4"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da"
- integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-destructuring@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f"
- integrity sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-dotall-regex@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
- integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
-
-"@babel/plugin-transform-duplicate-keys@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3"
- integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-exponentiation-operator@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008"
- integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-flow-strip-types@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz#00156236defb7dedddc2d3c9477dcc01a4494327"
- integrity sha512-PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-flow" "^7.2.0"
-
-"@babel/plugin-transform-for-of@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556"
- integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-function-name@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad"
- integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==
- dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1"
- integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-modules-amd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6"
- integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==
- dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-modules-commonjs@^7.0.0 <7.4.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404"
- integrity sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
-
-"@babel/plugin-transform-modules-commonjs@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e"
- integrity sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==
- dependencies:
- "@babel/helper-module-transforms" "^7.4.4"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
-
-"@babel/plugin-transform-modules-systemjs@^7.3.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405"
- integrity sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==
- dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-modules-umd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae"
- integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==
- dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.4.tgz#5611d96d987dfc4a3a81c4383bb173361037d68d"
- integrity sha512-Ki+Y9nXBlKfhD+LXaRS7v95TtTGYRAf9Y1rTDiE75zf8YQz4GDaWRXosMfJBXxnk88mGFjWdCRIeqDbon7spYA==
- dependencies:
- regexp-tree "^0.1.0"
-
-"@babel/plugin-transform-new-target@^7.0.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5"
- integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-object-super@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598"
- integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.1.0"
-
-"@babel/plugin-transform-parameters@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16"
- integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==
- dependencies:
- "@babel/helper-call-delegate" "^7.4.4"
- "@babel/helper-get-function-arity" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-react-jsx@^7.0.0 <7.4.0":
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290"
- integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==
- dependencies:
- "@babel/helper-builder-react-jsx" "^7.3.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-jsx" "^7.2.0"
-
-"@babel/plugin-transform-regenerator@^7.3.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.4.tgz#5b4da4df79391895fca9e28f99e87e22cfc02072"
- integrity sha512-Zz3w+pX1SI0KMIiqshFZkwnVGUhDZzpX2vtPzfJBKQQq8WsP/Xy9DNdELWivxcKOCX/Pywge4SiEaPaLtoDT4g==
- dependencies:
- regenerator-transform "^0.13.4"
-
-"@babel/plugin-transform-shorthand-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0"
- integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-spread@^7.2.0":
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406"
- integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-sticky-regex@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1"
- integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.0.0"
-
-"@babel/plugin-transform-template-literals@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0"
- integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-typeof-symbol@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2"
- integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-unicode-regex@^7.2.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f"
- integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
-
-"@babel/preset-env@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.4.tgz#887cf38b6d23c82f19b5135298bdb160062e33e1"
- integrity sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.2.0"
- "@babel/plugin-proposal-json-strings" "^7.2.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.3.4"
- "@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.2.0"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
- "@babel/plugin-syntax-json-strings" "^7.2.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
- "@babel/plugin-transform-arrow-functions" "^7.2.0"
- "@babel/plugin-transform-async-to-generator" "^7.3.4"
- "@babel/plugin-transform-block-scoped-functions" "^7.2.0"
- "@babel/plugin-transform-block-scoping" "^7.3.4"
- "@babel/plugin-transform-classes" "^7.3.4"
- "@babel/plugin-transform-computed-properties" "^7.2.0"
- "@babel/plugin-transform-destructuring" "^7.2.0"
- "@babel/plugin-transform-dotall-regex" "^7.2.0"
- "@babel/plugin-transform-duplicate-keys" "^7.2.0"
- "@babel/plugin-transform-exponentiation-operator" "^7.2.0"
- "@babel/plugin-transform-for-of" "^7.2.0"
- "@babel/plugin-transform-function-name" "^7.2.0"
- "@babel/plugin-transform-literals" "^7.2.0"
- "@babel/plugin-transform-modules-amd" "^7.2.0"
- "@babel/plugin-transform-modules-commonjs" "^7.2.0"
- "@babel/plugin-transform-modules-systemjs" "^7.3.4"
- "@babel/plugin-transform-modules-umd" "^7.2.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0"
- "@babel/plugin-transform-new-target" "^7.0.0"
- "@babel/plugin-transform-object-super" "^7.2.0"
- "@babel/plugin-transform-parameters" "^7.2.0"
- "@babel/plugin-transform-regenerator" "^7.3.4"
- "@babel/plugin-transform-shorthand-properties" "^7.2.0"
- "@babel/plugin-transform-spread" "^7.2.0"
- "@babel/plugin-transform-sticky-regex" "^7.2.0"
- "@babel/plugin-transform-template-literals" "^7.2.0"
- "@babel/plugin-transform-typeof-symbol" "^7.2.0"
- "@babel/plugin-transform-unicode-regex" "^7.2.0"
- browserslist "^4.3.4"
- invariant "^2.2.2"
- js-levenshtein "^1.1.3"
- semver "^5.3.0"
-
-"@babel/runtime@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83"
- integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==
- dependencies:
- regenerator-runtime "^0.12.0"
-
-"@babel/template@^7.0.0 <7.4.0":
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907"
- integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/parser" "^7.2.2"
- "@babel/types" "^7.2.2"
-
-"@babel/template@^7.1.0", "@babel/template@^7.2.2", "@babel/template@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237"
- integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/parser" "^7.4.4"
- "@babel/types" "^7.4.4"
-
-"@babel/traverse@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.3.4.tgz#1330aab72234f8dea091b08c4f8b9d05c7119e06"
- integrity sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.3.4"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.0.0"
- "@babel/parser" "^7.3.4"
- "@babel/types" "^7.3.4"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.11"
-
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.3.4", "@babel/traverse@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.4.tgz#0776f038f6d78361860b6823887d4f3937133fe8"
- integrity sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.4.4"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/parser" "^7.4.4"
- "@babel/types" "^7.4.4"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.11"
-
-"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.3.4", "@babel/types@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0"
- integrity sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==
- dependencies:
- esutils "^2.0.2"
- lodash "^4.17.11"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.0.0 <7.4.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.4.tgz#bf482eaeaffb367a28abbf9357a94963235d90ed"
- integrity sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==
- dependencies:
- esutils "^2.0.2"
- lodash "^4.17.11"
- to-fast-properties "^2.0.0"
-
-"@iarna/toml@^2.2.0":
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab"
- integrity sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==
-
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@@ -714,85 +15,21 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
-"@parcel/fs@^1.11.0":
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-1.11.0.tgz#fb8a2be038c454ad46a50dc0554c1805f13535cd"
- integrity sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==
- dependencies:
- "@parcel/utils" "^1.11.0"
- mkdirp "^0.5.1"
- rimraf "^2.6.2"
-
-"@parcel/logger@^1.11.0":
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-1.11.0.tgz#91f39da14ba08dd85db247145698c62102960abb"
- integrity sha512-lIRfDg+junbFUUeU0QtHX00gKCgEsYHZydFKwrJ8dc0D+WE2SYT1FcVCgpPAfKYgtg0QQMns8E9vzT9UjH92PQ==
- dependencies:
- "@parcel/workers" "^1.11.0"
- chalk "^2.1.0"
- grapheme-breaker "^0.3.2"
- ora "^2.1.0"
- strip-ansi "^4.0.0"
-
-"@parcel/utils@^1.11.0":
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-1.11.0.tgz#539e08fff8af3b26eca11302be80b522674b51ea"
- integrity sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==
-
-"@parcel/watcher@^1.12.0":
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-1.12.0.tgz#769024b2a810b0c3b38c310f297d104c77df3660"
- integrity sha512-yijGiAqG7Tjf5WnFwOkiNWwerfZQDNABldiiqRDtr7vDWLO+F/DIncyB7tTcaD5Loevrr5mzzGo8Ntf3d2GIPg==
- dependencies:
- "@parcel/utils" "^1.11.0"
- chokidar "^2.0.3"
-
-"@parcel/workers@^1.11.0":
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-1.11.0.tgz#7b8dcf992806f4ad2b6cecf629839c41c2336c59"
- integrity sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==
- dependencies:
- "@parcel/utils" "^1.11.0"
- physical-cpu-count "^2.0.0"
-
"@types/q@^1.5.1":
version "1.5.2"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
-abab@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"
- integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==
-
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-acorn-globals@^4.1.0:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006"
- integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==
- dependencies:
- acorn "^6.0.1"
- acorn-walk "^6.0.1"
-
-acorn-walk@^6.0.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
- integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
-
-acorn@^5.0.0, acorn@^5.5.3:
+acorn@^5.0.0:
version "5.7.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
-acorn@^6.0.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
- integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
-
ajv@^6.5.5:
version "6.10.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
@@ -803,11 +40,16 @@ ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-alphanum-sort@^1.0.0:
+alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+ integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
+
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -831,9 +73,9 @@ ansi-styles@^3.2.1:
color-convert "^1.9.0"
ansi-to-html@^0.6.4:
- version "0.6.10"
- resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.10.tgz#412114353bac2589a034db7ec5b371b8ba771131"
- integrity sha512-znsY3gvsk4CiApWu1yVYF8Nx5Vy0FEe8B0YwyxdbCdErJu5lfKlRHB2twtUjR+dxR4WewTk2OP8XqTmWYnImOg==
+ version "0.6.11"
+ resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.11.tgz#5093fc4962186c0e9343dec572a4f71abdc93439"
+ integrity sha512-88XZtrcwrfkyn6fGstHnkaF1kl7hGtNCYh4vSmItgEV+6JnQHryDBf7udF4f2RhTRQmYvJvPcTtqgaqrxzc9oA==
dependencies:
entities "^1.1.1"
@@ -895,16 +137,16 @@ arr-union@^3.1.0:
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-array-equal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
- integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
-
array-filter@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
+
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
@@ -947,10 +189,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
assert@^1.1.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
- integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
+ integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
dependencies:
+ object-assign "^4.1.1"
util "0.10.3"
assign-symbols@^1.0.0:
@@ -963,6 +206,11 @@ async-each@^1.0.0, async-each@^1.0.1:
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+async-foreach@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
+ integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
+
async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
@@ -978,6 +226,18 @@ atob@^2.1.1:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+autoprefixer@^6.3.1:
+ version "6.7.7"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
+ integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=
+ dependencies:
+ browserslist "^1.7.6"
+ caniuse-db "^1.0.30000634"
+ normalize-range "^0.1.2"
+ num2fraction "^1.2.2"
+ postcss "^5.2.16"
+ postcss-value-parser "^3.2.3"
+
autoprefixer@^9.5.1:
version "9.5.1"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.1.tgz#243b1267b67e7e947f28919d786b50d3bb0fb357"
@@ -1000,7 +260,492 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
-babel-runtime@^6.11.6, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
+babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-core@^6.25.0, babel-core@^6.26.0:
+ version "6.26.3"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
+ integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-generator "^6.26.0"
+ babel-helpers "^6.24.1"
+ babel-messages "^6.23.0"
+ babel-register "^6.26.0"
+ babel-runtime "^6.26.0"
+ babel-template "^6.26.0"
+ babel-traverse "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ convert-source-map "^1.5.1"
+ debug "^2.6.9"
+ json5 "^0.5.1"
+ lodash "^4.17.4"
+ minimatch "^3.0.4"
+ path-is-absolute "^1.0.1"
+ private "^0.1.8"
+ slash "^1.0.0"
+ source-map "^0.5.7"
+
+babel-generator@^6.25.0, babel-generator@^6.26.0:
+ version "6.26.1"
+ resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
+ integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
+ dependencies:
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ detect-indent "^4.0.0"
+ jsesc "^1.3.0"
+ lodash "^4.17.4"
+ source-map "^0.5.7"
+ trim-right "^1.0.1"
+
+babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
+ integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=
+ dependencies:
+ babel-helper-explode-assignable-expression "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-builder-react-jsx@^6.24.1:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0"
+ integrity sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ esutils "^2.0.2"
+
+babel-helper-call-delegate@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
+ integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=
+ dependencies:
+ babel-helper-hoist-variables "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-define-map@^6.24.1:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
+ integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ lodash "^4.17.4"
+
+babel-helper-explode-assignable-expression@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
+ integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-function-name@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+ integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=
+ dependencies:
+ babel-helper-get-function-arity "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-get-function-arity@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+ integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-hoist-variables@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
+ integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-optimise-call-expression@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
+ integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-regex@^6.24.1:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
+ integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ lodash "^4.17.4"
+
+babel-helper-remap-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
+ integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-replace-supers@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
+ integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo=
+ dependencies:
+ babel-helper-optimise-call-expression "^6.24.1"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helpers@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-check-es2015-constants@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+ integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-syntax-async-functions@^6.8.0:
+ version "6.13.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
+ integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=
+
+babel-plugin-syntax-exponentiation-operator@^6.8.0:
+ version "6.13.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
+ integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=
+
+babel-plugin-syntax-jsx@^6.8.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
+ integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
+
+babel-plugin-syntax-trailing-function-commas@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
+ integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=
+
+babel-plugin-transform-async-to-generator@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
+ integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=
+ dependencies:
+ babel-helper-remap-async-to-generator "^6.24.1"
+ babel-plugin-syntax-async-functions "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-arrow-functions@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
+ integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
+ integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoping@^6.23.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
+ integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-template "^6.26.0"
+ babel-traverse "^6.26.0"
+ babel-types "^6.26.0"
+ lodash "^4.17.4"
+
+babel-plugin-transform-es2015-classes@^6.23.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
+ integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=
+ dependencies:
+ babel-helper-define-map "^6.24.1"
+ babel-helper-function-name "^6.24.1"
+ babel-helper-optimise-call-expression "^6.24.1"
+ babel-helper-replace-supers "^6.24.1"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-computed-properties@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
+ integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-destructuring@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+ integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
+ integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-for-of@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
+ integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-function-name@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
+ integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-literals@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
+ integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
+ integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=
+ dependencies:
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.0:
+ version "6.26.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
+ integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==
+ dependencies:
+ babel-plugin-transform-strict-mode "^6.24.1"
+ babel-runtime "^6.26.0"
+ babel-template "^6.26.0"
+ babel-types "^6.26.0"
+
+babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
+ integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=
+ dependencies:
+ babel-helper-hoist-variables "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-modules-umd@^6.23.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
+ integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg=
+ dependencies:
+ babel-plugin-transform-es2015-modules-amd "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-object-super@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
+ integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40=
+ dependencies:
+ babel-helper-replace-supers "^6.24.1"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-parameters@^6.23.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
+ integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=
+ dependencies:
+ babel-helper-call-delegate "^6.24.1"
+ babel-helper-get-function-arity "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
+ integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-spread@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+ integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-sticky-regex@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
+ integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw=
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-template-literals@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
+ integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
+ integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-unicode-regex@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
+ integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek=
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ regexpu-core "^2.0.0"
+
+babel-plugin-transform-exponentiation-operator@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
+ integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=
+ dependencies:
+ babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
+ babel-plugin-syntax-exponentiation-operator "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-react-jsx@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
+ integrity sha1-hAoCjn30YN/DotKfDA2R9jduZqM=
+ dependencies:
+ babel-helper-builder-react-jsx "^6.24.1"
+ babel-plugin-syntax-jsx "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-regenerator@^6.22.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
+ integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=
+ dependencies:
+ regenerator-transform "^0.10.0"
+
+babel-plugin-transform-strict-mode@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+ integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-preset-env@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a"
+ integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==
+ dependencies:
+ babel-plugin-check-es2015-constants "^6.22.0"
+ babel-plugin-syntax-trailing-function-commas "^6.22.0"
+ babel-plugin-transform-async-to-generator "^6.22.0"
+ babel-plugin-transform-es2015-arrow-functions "^6.22.0"
+ babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
+ babel-plugin-transform-es2015-block-scoping "^6.23.0"
+ babel-plugin-transform-es2015-classes "^6.23.0"
+ babel-plugin-transform-es2015-computed-properties "^6.22.0"
+ babel-plugin-transform-es2015-destructuring "^6.23.0"
+ babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
+ babel-plugin-transform-es2015-for-of "^6.23.0"
+ babel-plugin-transform-es2015-function-name "^6.22.0"
+ babel-plugin-transform-es2015-literals "^6.22.0"
+ babel-plugin-transform-es2015-modules-amd "^6.22.0"
+ babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
+ babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
+ babel-plugin-transform-es2015-modules-umd "^6.23.0"
+ babel-plugin-transform-es2015-object-super "^6.22.0"
+ babel-plugin-transform-es2015-parameters "^6.23.0"
+ babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
+ babel-plugin-transform-es2015-spread "^6.22.0"
+ babel-plugin-transform-es2015-sticky-regex "^6.22.0"
+ babel-plugin-transform-es2015-template-literals "^6.22.0"
+ babel-plugin-transform-es2015-typeof-symbol "^6.23.0"
+ babel-plugin-transform-es2015-unicode-regex "^6.22.0"
+ babel-plugin-transform-exponentiation-operator "^6.22.0"
+ babel-plugin-transform-regenerator "^6.22.0"
+ browserslist "^3.2.6"
+ invariant "^2.2.2"
+ semver "^5.3.0"
+
+babel-register@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
+ dependencies:
+ babel-core "^6.26.0"
+ babel-runtime "^6.26.0"
+ core-js "^2.5.0"
+ home-or-tmp "^2.0.0"
+ lodash "^4.17.4"
+ mkdirp "^0.5.1"
+ source-map-support "^0.4.15"
+
+babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
@@ -1008,7 +753,33 @@ babel-runtime@^6.11.6, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
-babel-types@^6.15.0:
+babel-template@^6.24.1, babel-template@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-traverse "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ lodash "^4.17.4"
+
+babel-traverse@^6.24.1, babel-traverse@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ debug "^2.6.8"
+ globals "^9.18.0"
+ invariant "^2.2.2"
+ lodash "^4.17.4"
+
+babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
@@ -1027,6 +798,16 @@ babylon-walk@^1.0.2:
babel-types "^6.15.0"
lodash.clone "^4.5.0"
+babylon@^6.17.4, babylon@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+ integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
+
+balanced-match@^0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+ integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=
+
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -1067,6 +848,13 @@ bindings@~1.2.1:
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11"
integrity sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=
+block-stream@*:
+ version "0.0.9"
+ resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+ integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
+ dependencies:
+ inherits "~2.0.0"
+
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
@@ -1125,11 +913,6 @@ brorand@^1.0.1:
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
-browser-process-hrtime@^0.1.2:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"
- integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==
-
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
@@ -1189,7 +972,32 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
-browserslist@^4.0.0, browserslist@^4.1.0, browserslist@^4.3.4, browserslist@^4.5.4:
+browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
+ version "1.7.7"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
+ integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=
+ dependencies:
+ caniuse-db "^1.0.30000639"
+ electron-to-chromium "^1.2.7"
+
+browserslist@^3.2.6:
+ version "3.2.8"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6"
+ integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==
+ dependencies:
+ caniuse-lite "^1.0.30000844"
+ electron-to-chromium "^1.3.47"
+
+browserslist@^4.0.0:
+ version "4.6.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.1.tgz#ee5059b1aec18cbec9d055d6cb5e24ae50343a9b"
+ integrity sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ==
+ dependencies:
+ caniuse-lite "^1.0.30000971"
+ electron-to-chromium "^1.3.137"
+ node-releases "^1.1.21"
+
+browserslist@^4.5.4:
version "4.5.6"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.6.tgz#ea42e8581ca2513fa7f371d4dd66da763938163d"
integrity sha512-o/hPOtbU9oX507lIqon+UvPYqpx3mHc8cV3QemSBTXwkG8gSQSK6UKvXcE/DcleU3+A59XTUHyCvZ5qGy8xVAg==
@@ -1266,11 +1074,39 @@ callsites@^2.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+
+camelcase@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+ integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
+
camelcase@^5.0.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+caniuse-api@^1.5.2:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
+ integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=
+ dependencies:
+ browserslist "^1.3.6"
+ caniuse-db "^1.0.30000529"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
+
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@@ -1281,22 +1117,32 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000963:
- version "1.0.30000963"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000963.tgz#5be481d5292f22aff5ee0db4a6c049b65b5798b1"
- integrity sha512-n4HUiullc7Lw0LyzpeLa2ffP8KxFBGdxqD/8G3bSL6oB758hZ2UE2CVK+tQN958tJIi0/tfpjAc67aAtoHgnrQ==
+caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
+ version "1.0.30000971"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000971.tgz#5530250a146a8fec0fae3014c94c2aae040c6cbe"
+ integrity sha512-ubSZfYXO2KMYtCVmDez82mjodeZa+mBYWAnBMAmFBPAn4C2PY4SD0eC/diYQD4Rj1K+WNdp0vr0JDtm0SQ6GNg==
+
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000971:
+ version "1.0.30000971"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz#d1000e4546486a6977756547352bc96a4cfd2b13"
+ integrity sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==
caniuse-lite@^1.0.30000957:
version "1.0.30000967"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz#a5039577806fccee80a04aaafb2c0890b1ee2f73"
integrity sha512-rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ==
+caniuse-lite@^1.0.30000963:
+ version "1.0.30000963"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000963.tgz#5be481d5292f22aff5ee0db4a6c049b65b5798b1"
+ integrity sha512-n4HUiullc7Lw0LyzpeLa2ffP8KxFBGdxqD/8G3bSL6oB758hZ2UE2CVK+tQN958tJIi0/tfpjAc67aAtoHgnrQ==
+
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-chalk@^1.1.3:
+chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
@@ -1307,7 +1153,7 @@ chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1332,7 +1178,7 @@ chokidar@^1.6.0:
optionalDependencies:
fsevents "^1.0.0"
-chokidar@^2.0.0, chokidar@^2.0.3:
+chokidar@^2.0.0:
version "2.1.5"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d"
integrity sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==
@@ -1351,6 +1197,25 @@ chokidar@^2.0.0, chokidar@^2.0.3:
optionalDependencies:
fsevents "^1.2.7"
+chokidar@^2.0.3:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
+ integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ glob-parent "^3.1.0"
+ inherits "^2.0.3"
+ is-binary-path "^1.0.0"
+ is-glob "^4.0.0"
+ normalize-path "^3.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.2.1"
+ upath "^1.1.1"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
chownr@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
@@ -1364,6 +1229,13 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1"
safe-buffer "^5.0.1"
+clap@^1.0.9:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51"
+ integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==
+ dependencies:
+ chalk "^1.1.3"
+
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -1386,6 +1258,15 @@ cli-spinners@^1.1.0:
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a"
integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
cliui@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
@@ -1419,6 +1300,13 @@ coa@^2.0.2:
chalk "^2.4.1"
q "^1.1.2"
+coa@~1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd"
+ integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=
+ dependencies:
+ q "^1.1.2"
+
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
@@ -1432,7 +1320,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^1.9.0, color-convert@^1.9.1:
+color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -1449,6 +1337,13 @@ color-name@^1.0.0:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+color-string@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
+ integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=
+ dependencies:
+ color-name "^1.0.0"
+
color-string@^1.5.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
@@ -1457,18 +1352,41 @@ color-string@^1.5.2:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
+color@^0.11.0:
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
+ integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=
+ dependencies:
+ clone "^1.0.2"
+ color-convert "^1.3.0"
+ color-string "^0.3.0"
+
color@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/color/-/color-3.1.1.tgz#7abf5c0d38e89378284e873c207ae2172dcc8a61"
- integrity sha512-PvUltIXRjehRKPSy89VnDWFKY58xyhTLyxIg21vwQBI6qLwZNPmC8k3C1uytIgFKEpOIzN4y32iPm8231zFHIg==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
+ integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
dependencies:
color-convert "^1.9.1"
color-string "^1.5.2"
+colormin@^1.0.5:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
+ integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=
+ dependencies:
+ color "^0.11.0"
+ css-color-names "0.0.4"
+ has "^1.0.1"
+
+colors@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
+ integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM=
+
combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
- integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
@@ -1477,7 +1395,7 @@ command-exists@^1.2.6:
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291"
integrity sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==
-commander@^2.11.0, commander@^2.19.0, commander@^2.9.0:
+commander@^2.11.0, commander@^2.19.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
@@ -1542,7 +1460,7 @@ constants-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
-convert-source-map@^1.1.0, convert-source-map@^1.5.1:
+convert-source-map@^1.5.1:
version "1.6.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
@@ -1559,19 +1477,24 @@ core-js@^2.4.0:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"
integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==
+core-js@^2.5.0:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
+ integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==
+
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
cosmiconfig@^5.0.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8"
- integrity sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
dependencies:
import-fresh "^2.0.0"
is-directory "^0.3.1"
- js-yaml "^3.13.0"
+ js-yaml "^3.13.1"
parse-json "^4.0.0"
cpx@^1.5.0:
@@ -1622,6 +1545,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
+cross-spawn@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
+ integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
+ dependencies:
+ lru-cache "^4.0.1"
+ which "^1.2.9"
+
cross-spawn@^6.0.0, cross-spawn@^6.0.4:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -1663,18 +1594,6 @@ css-declaration-sorter@^4.0.1:
postcss "^7.0.1"
timsort "^0.3.0"
-css-modules-loader-core@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16"
- integrity sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=
- dependencies:
- icss-replace-symbols "1.1.0"
- postcss "6.0.1"
- postcss-modules-extract-imports "1.1.0"
- postcss-modules-local-by-default "1.2.0"
- postcss-modules-scope "1.1.0"
- postcss-modules-values "1.3.0"
-
css-select-base-adapter@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
@@ -1690,15 +1609,6 @@ css-select@^2.0.0:
domutils "^1.7.0"
nth-check "^1.0.2"
-css-selector-tokenizer@^0.7.0:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d"
- integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==
- dependencies:
- cssesc "^0.1.0"
- fastparse "^1.1.1"
- regexpu-core "^1.0.0"
-
css-tree@1.0.0-alpha.28:
version "1.0.0-alpha.28"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
@@ -1730,11 +1640,6 @@ css-what@^2.1.2:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
-cssesc@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
- integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=
-
cssesc@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703"
@@ -1798,7 +1703,45 @@ cssnano-util-same-parent@^4.0.0:
resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
-cssnano@^4.0.0, cssnano@^4.1.9:
+cssnano@^3.4.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
+ integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=
+ dependencies:
+ autoprefixer "^6.3.1"
+ decamelize "^1.1.2"
+ defined "^1.0.0"
+ has "^1.0.1"
+ object-assign "^4.0.1"
+ postcss "^5.0.14"
+ postcss-calc "^5.2.0"
+ postcss-colormin "^2.1.8"
+ postcss-convert-values "^2.3.4"
+ postcss-discard-comments "^2.0.4"
+ postcss-discard-duplicates "^2.0.1"
+ postcss-discard-empty "^2.0.1"
+ postcss-discard-overridden "^0.1.1"
+ postcss-discard-unused "^2.2.1"
+ postcss-filter-plugins "^2.0.0"
+ postcss-merge-idents "^2.1.5"
+ postcss-merge-longhand "^2.0.1"
+ postcss-merge-rules "^2.0.3"
+ postcss-minify-font-values "^1.0.2"
+ postcss-minify-gradients "^1.0.1"
+ postcss-minify-params "^1.0.4"
+ postcss-minify-selectors "^2.0.4"
+ postcss-normalize-charset "^1.1.0"
+ postcss-normalize-url "^3.0.7"
+ postcss-ordered-values "^2.1.0"
+ postcss-reduce-idents "^2.2.2"
+ postcss-reduce-initial "^1.0.0"
+ postcss-reduce-transforms "^1.0.3"
+ postcss-svgo "^2.1.1"
+ postcss-unique-selectors "^2.0.2"
+ postcss-value-parser "^3.2.3"
+ postcss-zindex "^2.0.1"
+
+cssnano@^4.0.0:
version "4.1.10"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
@@ -1815,17 +1758,20 @@ csso@^3.5.1:
dependencies:
css-tree "1.0.0-alpha.29"
-cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad"
- integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==
-
-cssstyle@^1.0.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077"
- integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==
+csso@~2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
+ integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=
dependencies:
- cssom "0.3.x"
+ clap "^1.0.9"
+ source-map "^0.5.3"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
+ dependencies:
+ array-find-index "^1.0.1"
dashdash@^1.12.0:
version "1.14.1"
@@ -1834,15 +1780,6 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
-data-urls@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
- integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==
- dependencies:
- abab "^2.0.0"
- whatwg-mimetype "^2.2.0"
- whatwg-url "^7.0.0"
-
date-fns@^1.23.0:
version "1.30.1"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
@@ -1853,15 +1790,15 @@ date-now@^0.1.4:
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
-deasync@^0.1.14:
- version "0.1.14"
- resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.14.tgz#232ea2252b443948cad033d792eb3b24b0a3d828"
- integrity sha512-wN8sIuEqIwyQh72AG7oY6YQODCxIp1eXzEZlZznBuwDF8Q03Tdy9QNp1BNZXeadXoklNrw+Ip1fch+KXo/+ASw==
+deasync@^0.1.13:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.15.tgz#788c4bbe6d32521233b28d23936de1bbadd2e112"
+ integrity sha512-pxMaCYu8cQIbGkA4Y1R0PLSooPIpH1WgFBLeJ+zLxQgHfkZG86ViJSmZmONSjZJ/R3NjwkMcIWZAzpLB2G9/CA==
dependencies:
bindings "~1.2.1"
node-addon-api "^1.6.0"
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -1875,7 +1812,7 @@ debug@^4.1.0:
dependencies:
ms "^2.1.1"
-decamelize@^1.2.0:
+decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -1931,6 +1868,11 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
isobject "^3.0.1"
+defined@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+ integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
+
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -1959,6 +1901,13 @@ destroy@~1.0.4:
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+detect-indent@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
+ dependencies:
+ repeating "^2.0.0"
+
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
@@ -1991,13 +1940,6 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-domexception@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
- integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==
- dependencies:
- webidl-conversions "^4.0.2"
-
domhandler@^2.3.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
@@ -2020,11 +1962,6 @@ dot-prop@^4.1.1:
dependencies:
is-obj "^1.0.0"
-dotenv-expand@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"
- integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=
-
dotenv@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef"
@@ -2065,6 +2002,11 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.137, electron-to-chromium@^1.3.47:
+ version "1.3.143"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.143.tgz#8b2a631ab75157aa53d0c2933275643b99ef580b"
+ integrity sha512-J9jOpxIljQZlV6GIP2fwAWq0T69syawU0sH3EW3O2Bgxquiy+veeIT5mBDRz+i3oHUSL1tvVgRKH3/4QiQh9Pg==
+
electron-to-chromium@^1.3.127:
version "1.3.129"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.129.tgz#bff32e1840775554aafa301e9dc5002d565aae80"
@@ -2100,7 +2042,7 @@ entities@^1.1.1:
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
-error-ex@^1.3.1:
+error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
@@ -2138,7 +2080,7 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-escodegen@^1.8.1, escodegen@^1.9.1:
+escodegen@^1.8.1:
version "1.11.1"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510"
integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==
@@ -2162,6 +2104,11 @@ escodegen@~1.9.0:
optionalDependencies:
source-map "~0.6.1"
+esprima@^2.6.0:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+ integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
+
esprima@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -2177,7 +2124,7 @@ estraverse@^4.2.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
-esutils@^2.0.0, esutils@^2.0.2:
+esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
@@ -2307,9 +2254,9 @@ fast-deep-equal@^2.0.1:
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-glob@^2.2.2:
- version "2.2.6"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295"
- integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==
+ version "2.2.7"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
+ integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
dependencies:
"@mrmlnc/readdir-enhanced" "^2.2.1"
"@nodelib/fs.stat" "^1.1.2"
@@ -2328,11 +2275,6 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-fastparse@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
- integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
-
filename-regex@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
@@ -2369,6 +2311,14 @@ find-index@^0.1.1:
resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -2376,6 +2326,11 @@ find-up@^3.0.0:
dependencies:
locate-path "^3.0.0"
+flatten@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
+ integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=
+
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -2439,6 +2394,23 @@ fsevents@^1.0.0, fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
+fstream@^1.0.0, fstream@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
+ integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ inherits "~2.0.0"
+ mkdirp ">=0.5 0"
+ rimraf "2"
+
+fswatcher-child@^1.0.3:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/fswatcher-child/-/fswatcher-child-1.1.1.tgz#264dd95f9c4b5f8615327d7d7567884591846b9b"
+ integrity sha512-FVDjVhR71TkJ+ud6vnRwCHvCgK9drGRdimWcTLqw8iN88uL5tTX+/xrwigJdcuQGrWYo3TRw9gRzk9xqR0UPPQ==
+ dependencies:
+ chokidar "^2.0.3"
+
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
@@ -2458,6 +2430,13 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
+gaze@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
+ integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
+ dependencies:
+ globule "^1.0.0"
+
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
@@ -2468,6 +2447,11 @@ get-port@^3.2.0:
resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -2522,19 +2506,7 @@ glob2base@^0.0.12:
dependencies:
find-index "^0.1.1"
-glob@^7.0.3, glob@^7.1.3:
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
- integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.0.5:
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@~7.1.1:
version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -2546,12 +2518,33 @@ glob@^7.0.5:
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+glob@^7.1.3:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
+ integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
-graceful-fs@^4.1.11:
+globals@^9.18.0:
+ version "9.18.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+ integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+
+globule@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d"
+ integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==
+ dependencies:
+ glob "~7.1.1"
+ lodash "~4.17.10"
+ minimatch "~3.0.2"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
@@ -2677,6 +2670,14 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
+home-or-tmp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.1"
+
hosted-git-info@^2.1.4:
version "2.7.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
@@ -2697,31 +2698,17 @@ html-comment-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-html-encoding-sniffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
- integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==
+htmlnano@^0.1.9:
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.1.10.tgz#a0a548eb4c76ae2cf2423ec7a25c881734d3dea6"
+ integrity sha512-eTEUzz8VdWYp+w/KUdb99kwao4reR64epUySyZkQeepcyzPQ2n2EPWzibf6QDxmkGy10Kr+CKxYqI3izSbmhJQ==
dependencies:
- whatwg-encoding "^1.0.1"
-
-html-tags@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-1.2.0.tgz#c78de65b5663aa597989dd2b7ab49200d7e4db98"
- integrity sha1-x43mW1Zjqll5id0rerSSANfk25g=
-
-htmlnano@^0.2.2:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.2.3.tgz#ff654a641e8006c893bdd9ad4988ee4ab664449a"
- integrity sha512-iS6T3J5gk2wInodbtMUyAU8sLYJOhuWDnIEd8lFRoHTypVGgawPHFEx2ZIK/XTErtDfwHBsrXeCwHAP8bdoSWw==
- dependencies:
- cssnano "^4.1.9"
- normalize-html-whitespace "^0.2.0"
+ cssnano "^3.4.0"
object-assign "^4.0.1"
posthtml "^0.11.3"
posthtml-render "^1.1.4"
svgo "^1.0.5"
- terser "^3.16.1"
- uncss "^0.16.2"
+ terser "^3.8.1"
htmlparser2@^3.9.2:
version "3.10.1"
@@ -2735,15 +2722,16 @@ htmlparser2@^3.9.2:
inherits "^2.0.1"
readable-stream "^3.1.1"
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
- integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=
+http-errors@~1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
+ integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
http-signature@~1.2.0:
version "1.2.0"
@@ -2759,18 +2747,13 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-iconv-lite@0.4.24, iconv-lite@^0.4.4:
+iconv-lite@^0.4.4:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
-icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
- integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
-
ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@@ -2791,6 +2774,18 @@ import-fresh@^2.0.0:
caller-path "^2.0.0"
resolve-from "^3.0.0"
+in-publish@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
+ integrity sha1-4g/146KvwmkDILbcVSaCqcf631E=
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
+ dependencies:
+ repeating "^2.0.0"
+
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
@@ -2809,7 +2804,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
@@ -2831,6 +2826,11 @@ invariant@^2.2.2:
dependencies:
loose-envify "^1.0.0"
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+ integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
+
invert-kv@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
@@ -2970,6 +2970,13 @@ is-extglob@^2.1.0, is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
+ dependencies:
+ number-is-nan "^1.0.0"
+
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
@@ -3003,13 +3010,6 @@ is-glob@^4.0.0:
dependencies:
is-extglob "^2.1.1"
-is-html@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-html/-/is-html-1.1.0.tgz#e04f1c18d39485111396f9a0273eab51af218464"
- integrity sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=
- dependencies:
- html-tags "^1.0.0"
-
is-number@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
@@ -3034,6 +3034,11 @@ is-obj@^1.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+is-plain-obj@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -3068,6 +3073,13 @@ is-stream@^1.1.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+is-svg@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
+ integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=
+ dependencies:
+ html-comment-regex "^1.1.0"
+
is-svg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
@@ -3092,6 +3104,11 @@ is-url@^1.2.2:
resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -3117,7 +3134,7 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-isobject@^2.0.0, isobject@^2.1.0:
+isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
@@ -3134,6 +3151,11 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+js-base64@^2.1.8, js-base64@^2.1.9:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
+ integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
+
js-beautify@^1.8.9:
version "1.10.0"
resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.0.tgz#9753a13c858d96828658cd18ae3ca0e5783ea672"
@@ -3145,17 +3167,17 @@ js-beautify@^1.8.9:
mkdirp "~0.5.1"
nopt "~4.0.1"
-js-levenshtein@^1.1.3:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
- integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
-
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@^3.10.0, js-yaml@^3.13.0, js-yaml@^3.13.1:
+js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+
+js-yaml@^3.10.0, js-yaml@^3.13.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
@@ -3163,47 +3185,23 @@ js-yaml@^3.10.0, js-yaml@^3.13.0, js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
+js-yaml@~3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
+ integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^2.6.0"
+
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-jsdom@^11.3.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
- integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==
- dependencies:
- 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"
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+jsesc@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+ integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
jsesc@~0.5.0:
version "0.5.0"
@@ -3230,6 +3228,11 @@ json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+json5@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+ integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
+
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -3237,13 +3240,6 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
-json5@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
- integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
- dependencies:
- minimist "^1.2.0"
-
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
@@ -3283,6 +3279,13 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
+ dependencies:
+ invert-kv "^1.0.0"
+
lcid@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
@@ -3290,11 +3293,6 @@ lcid@^2.0.0:
dependencies:
invert-kv "^2.0.0"
-left-pad@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
- integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==
-
levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -3303,6 +3301,17 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -3321,17 +3330,12 @@ lodash.memoize@^4.1.2:
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
-lodash.sortby@^4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
- integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
-
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4:
+lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@~4.17.10:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
@@ -3350,7 +3354,15 @@ loose-envify@^1.0.0:
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
-lru-cache@^4.1.5:
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lru-cache@^4.0.1, lru-cache@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -3377,6 +3389,11 @@ map-cache@^0.2.2:
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -3389,6 +3406,11 @@ marked@^0.6.2:
resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.2.tgz#c574be8b545a8b48641456ca1dbe0e37b6dccc1a"
integrity sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==
+math-expression-evaluator@^1.2.14:
+ version "1.2.17"
+ resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
+ integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw=
+
math-random@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
@@ -3417,6 +3439,22 @@ mem@^4.0.0:
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
+meow@^3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
merge-source-map@1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f"
@@ -3487,10 +3525,10 @@ mime-types@^2.1.12, mime-types@~2.1.19:
dependencies:
mime-db "1.40.0"
-mime@1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
- integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
mimic-fn@^1.0.0:
version "1.2.0"
@@ -3512,7 +3550,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-minimatch@^3.0.2, minimatch@^3.0.4:
+minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
@@ -3552,7 +3590,7 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
+"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
@@ -3564,7 +3602,7 @@ ms@2.0.0:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-ms@^2.1.1:
+ms@2.1.1, ms@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
@@ -3574,6 +3612,11 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
+nan@^2.13.2:
+ version "2.14.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
+ integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
+
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -3615,6 +3658,24 @@ node-forge@^0.7.1:
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac"
integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==
+node-gyp@^3.8.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
+ integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
+ dependencies:
+ fstream "^1.0.0"
+ glob "^7.0.3"
+ graceful-fs "^4.1.2"
+ mkdirp "^0.5.0"
+ nopt "2 || 3"
+ npmlog "0 || 1 || 2 || 3 || 4"
+ osenv "0"
+ request "^2.87.0"
+ rimraf "2"
+ semver "~5.3.0"
+ tar "^2.0.0"
+ which "1"
+
node-libs-browser@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77"
@@ -3667,6 +3728,43 @@ node-releases@^1.1.17:
dependencies:
semver "^5.3.0"
+node-releases@^1.1.21:
+ version "1.1.22"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.22.tgz#d90cd5adc59ab9b0f377d4f532b09656399c88bf"
+ integrity sha512-O6XpteBuntW1j86mw6LlovBIwTe+sO2+7vi9avQffNeIW4upgnaCVm6xrBWH+KATz7mNNRNNeEpuWB7dT6Cr3w==
+ dependencies:
+ semver "^5.3.0"
+
+node-sass@^4.12.0:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017"
+ integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==
+ dependencies:
+ async-foreach "^0.1.3"
+ chalk "^1.1.1"
+ cross-spawn "^3.0.0"
+ gaze "^1.0.0"
+ get-stdin "^4.0.1"
+ glob "^7.0.3"
+ in-publish "^2.0.0"
+ lodash "^4.17.11"
+ meow "^3.7.0"
+ mkdirp "^0.5.1"
+ nan "^2.13.2"
+ node-gyp "^3.8.0"
+ npmlog "^4.0.0"
+ request "^2.88.0"
+ sass-graph "^2.2.4"
+ stdout-stream "^1.4.0"
+ "true-case-path" "^1.0.2"
+
+"nopt@2 || 3":
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
+ dependencies:
+ abbrev "1"
+
nopt@^4.0.1, nopt@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
@@ -3675,12 +3773,7 @@ nopt@^4.0.1, nopt@~4.0.1:
abbrev "1"
osenv "^0.1.4"
-normalize-html-whitespace@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz#101722f6423551c75cdb8f9d104ff850daf1e10e"
- integrity sha1-EBci9kI1Ucdc24+dEE/4UNrx4Q4=
-
-normalize-package-data@^2.3.2:
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -3707,6 +3800,16 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
+normalize-url@^1.4.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
+ integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
+ dependencies:
+ object-assign "^4.0.1"
+ prepend-http "^1.0.0"
+ query-string "^4.1.0"
+ sort-keys "^1.0.0"
+
normalize-url@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
@@ -3737,7 +3840,7 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-npmlog@^4.0.2:
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -3764,11 +3867,6 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-nwsapi@^2.0.7:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f"
- integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==
-
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
@@ -3900,6 +3998,13 @@ os-homedir@^1.0.0:
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+os-locale@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+ integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
+ dependencies:
+ lcid "^1.0.0"
+
os-locale@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
@@ -3909,12 +4014,12 @@ os-locale@^3.0.0:
lcid "^2.0.0"
mem "^4.0.0"
-os-tmpdir@^1.0.0:
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-osenv@^0.1.4:
+osenv@0, osenv@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
@@ -3971,46 +4076,38 @@ papaparse@^4.6.3:
resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-4.6.3.tgz#742e5eaaa97fa6c7e1358d2934d8f18f44aee781"
integrity sha512-LRq7BrHC2kHPBYSD50aKuw/B/dGcg29omyJbKWY3KsYUZU69RKwaBHu13jGmCYBtOc4odsLCrFyk6imfyNubJQ==
-parcel-bundler@^1.12.3:
- version "1.12.3"
- resolved "https://registry.yarnpkg.com/parcel-bundler/-/parcel-bundler-1.12.3.tgz#2bbf70bfa2d06097f071653285040bd125684d09"
- integrity sha512-8bq6lj0hhQeGxD9f9xEkFMXQ3d8TIlf2+isKxoi9bciB0KVEILRGllaPkUgp++5t0anToBh9+tG6ZyInXOC1/A==
+parcel-bundler@1.9.7:
+ version "1.9.7"
+ resolved "https://registry.yarnpkg.com/parcel-bundler/-/parcel-bundler-1.9.7.tgz#5cd00850dea0254d377005d55ab4bf60429ba2bc"
+ integrity sha512-x+RiXe/C+aOoFuw+acH/NKjKmUJ/2zbFWFUS/KE5jBk2ErsN0Dc3OxLpmEaeIMU4oMPWFeNm5mRXcXdeUwf7GA==
dependencies:
- "@babel/code-frame" "^7.0.0 <7.4.0"
- "@babel/core" "^7.0.0 <7.4.0"
- "@babel/generator" "^7.0.0 <7.4.0"
- "@babel/parser" "^7.0.0 <7.4.0"
- "@babel/plugin-transform-flow-strip-types" "^7.0.0 <7.4.0"
- "@babel/plugin-transform-modules-commonjs" "^7.0.0 <7.4.0"
- "@babel/plugin-transform-react-jsx" "^7.0.0 <7.4.0"
- "@babel/preset-env" "^7.0.0 <7.4.0"
- "@babel/runtime" "^7.0.0 <7.4.0"
- "@babel/template" "^7.0.0 <7.4.0"
- "@babel/traverse" "^7.0.0 <7.4.0"
- "@babel/types" "^7.0.0 <7.4.0"
- "@iarna/toml" "^2.2.0"
- "@parcel/fs" "^1.11.0"
- "@parcel/logger" "^1.11.0"
- "@parcel/utils" "^1.11.0"
- "@parcel/watcher" "^1.12.0"
- "@parcel/workers" "^1.11.0"
ansi-to-html "^0.6.4"
+ babel-code-frame "^6.26.0"
+ babel-core "^6.25.0"
+ babel-generator "^6.25.0"
+ babel-plugin-transform-es2015-modules-commonjs "^6.26.0"
+ babel-plugin-transform-react-jsx "^6.24.1"
+ babel-preset-env "^1.7.0"
+ babel-template "^6.26.0"
+ babel-traverse "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.17.4"
babylon-walk "^1.0.2"
- browserslist "^4.1.0"
+ browserslist "^3.2.6"
chalk "^2.1.0"
clone "^2.1.1"
command-exists "^1.2.6"
commander "^2.11.0"
cross-spawn "^6.0.4"
- css-modules-loader-core "^1.1.0"
cssnano "^4.0.0"
- deasync "^0.1.14"
+ deasync "^0.1.13"
dotenv "^5.0.0"
- dotenv-expand "^4.2.0"
fast-glob "^2.2.2"
filesize "^3.6.0"
+ fswatcher-child "^1.0.3"
get-port "^3.2.0"
- htmlnano "^0.2.2"
+ grapheme-breaker "^0.3.2"
+ htmlnano "^0.1.9"
is-glob "^4.0.0"
is-url "^1.2.2"
js-yaml "^3.10.0"
@@ -4020,8 +4117,10 @@ parcel-bundler@^1.12.3:
node-forge "^0.7.1"
node-libs-browser "^2.0.0"
opn "^5.1.0"
- postcss "^7.0.11"
- postcss-value-parser "^3.3.1"
+ ora "^2.1.0"
+ physical-cpu-count "^2.0.0"
+ postcss "^6.0.19"
+ postcss-value-parser "^3.3.0"
posthtml "^0.11.2"
posthtml-parser "^0.4.0"
posthtml-render "^1.1.3"
@@ -4030,7 +4129,10 @@ parcel-bundler@^1.12.3:
serialize-to-js "^1.1.1"
serve-static "^1.12.4"
source-map "0.6.1"
+ strip-ansi "^4.0.0"
terser "^3.7.3"
+ toml "^2.3.3"
+ tomlify-j0.4 "^3.0.0"
v8-compile-cache "^2.0.0"
ws "^5.1.1"
@@ -4056,6 +4158,13 @@ parse-glob@^3.0.4:
is-extglob "^1.0.0"
is-glob "^2.0.0"
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+ dependencies:
+ error-ex "^1.2.0"
+
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -4064,12 +4173,7 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
-parse5@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
- integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
-
-parseurl@~1.3.2:
+parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
@@ -4089,12 +4193,19 @@ path-dirname@^1.0.0:
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
+ dependencies:
+ pinkie-promise "^2.0.0"
+
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
-path-is-absolute@^1.0.0:
+path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
@@ -4109,6 +4220,15 @@ path-parse@^1.0.6:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
@@ -4130,21 +4250,42 @@ physical-cpu-count@^2.0.0:
resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660"
integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA=
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
-pn@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
- integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+postcss-calc@^5.2.0:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
+ integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14=
+ dependencies:
+ postcss "^5.0.2"
+ postcss-message-helpers "^2.0.0"
+ reduce-css-calc "^1.2.6"
+
postcss-calc@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436"
@@ -4155,6 +4296,15 @@ postcss-calc@^7.0.1:
postcss-selector-parser "^5.0.0-rc.4"
postcss-value-parser "^3.3.1"
+postcss-colormin@^2.1.8:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
+ integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=
+ dependencies:
+ colormin "^1.0.5"
+ postcss "^5.0.13"
+ postcss-value-parser "^3.2.3"
+
postcss-colormin@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
@@ -4166,6 +4316,14 @@ postcss-colormin@^4.0.3:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-convert-values@^2.3.4:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
+ integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=
+ dependencies:
+ postcss "^5.0.11"
+ postcss-value-parser "^3.1.2"
+
postcss-convert-values@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
@@ -4174,6 +4332,13 @@ postcss-convert-values@^4.0.1:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-discard-comments@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
+ integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=
+ dependencies:
+ postcss "^5.0.14"
+
postcss-discard-comments@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
@@ -4181,6 +4346,13 @@ postcss-discard-comments@^4.0.2:
dependencies:
postcss "^7.0.0"
+postcss-discard-duplicates@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
+ integrity sha1-uavye4isGIFYpesSq8riAmO5GTI=
+ dependencies:
+ postcss "^5.0.4"
+
postcss-discard-duplicates@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
@@ -4188,6 +4360,13 @@ postcss-discard-duplicates@^4.0.2:
dependencies:
postcss "^7.0.0"
+postcss-discard-empty@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
+ integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=
+ dependencies:
+ postcss "^5.0.14"
+
postcss-discard-empty@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
@@ -4195,6 +4374,13 @@ postcss-discard-empty@^4.0.1:
dependencies:
postcss "^7.0.0"
+postcss-discard-overridden@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
+ integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=
+ dependencies:
+ postcss "^5.0.16"
+
postcss-discard-overridden@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
@@ -4202,6 +4388,37 @@ postcss-discard-overridden@^4.0.1:
dependencies:
postcss "^7.0.0"
+postcss-discard-unused@^2.2.1:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
+ integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=
+ dependencies:
+ postcss "^5.0.14"
+ uniqs "^2.0.0"
+
+postcss-filter-plugins@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec"
+ integrity sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-merge-idents@^2.1.5:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
+ integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.10"
+ postcss-value-parser "^3.1.1"
+
+postcss-merge-longhand@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
+ integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=
+ dependencies:
+ postcss "^5.0.4"
+
postcss-merge-longhand@^4.0.11:
version "4.0.11"
resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
@@ -4212,6 +4429,17 @@ postcss-merge-longhand@^4.0.11:
postcss-value-parser "^3.0.0"
stylehacks "^4.0.0"
+postcss-merge-rules@^2.0.3:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
+ integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE=
+ dependencies:
+ browserslist "^1.5.2"
+ caniuse-api "^1.5.2"
+ postcss "^5.0.4"
+ postcss-selector-parser "^2.2.2"
+ vendors "^1.0.0"
+
postcss-merge-rules@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
@@ -4224,6 +4452,20 @@ postcss-merge-rules@^4.0.3:
postcss-selector-parser "^3.0.0"
vendors "^1.0.0"
+postcss-message-helpers@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
+ integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=
+
+postcss-minify-font-values@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
+ integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k=
+ dependencies:
+ object-assign "^4.0.1"
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.2"
+
postcss-minify-font-values@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
@@ -4232,6 +4474,14 @@ postcss-minify-font-values@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-minify-gradients@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
+ integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=
+ dependencies:
+ postcss "^5.0.12"
+ postcss-value-parser "^3.3.0"
+
postcss-minify-gradients@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
@@ -4242,6 +4492,16 @@ postcss-minify-gradients@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-minify-params@^1.0.4:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
+ integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=
+ dependencies:
+ alphanum-sort "^1.0.1"
+ postcss "^5.0.2"
+ postcss-value-parser "^3.0.2"
+ uniqs "^2.0.0"
+
postcss-minify-params@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
@@ -4254,6 +4514,16 @@ postcss-minify-params@^4.0.2:
postcss-value-parser "^3.0.0"
uniqs "^2.0.0"
+postcss-minify-selectors@^2.0.4:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
+ integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8=
+ dependencies:
+ alphanum-sort "^1.0.2"
+ has "^1.0.1"
+ postcss "^5.0.14"
+ postcss-selector-parser "^2.0.0"
+
postcss-minify-selectors@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
@@ -4264,36 +4534,12 @@ postcss-minify-selectors@^4.0.2:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
-postcss-modules-extract-imports@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb"
- integrity sha1-thTJcgvmgW6u41+zpfqh26agXds=
+postcss-normalize-charset@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
+ integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E=
dependencies:
- postcss "^6.0.1"
-
-postcss-modules-local-by-default@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
- integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=
- dependencies:
- css-selector-tokenizer "^0.7.0"
- postcss "^6.0.1"
-
-postcss-modules-scope@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
- integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A=
- dependencies:
- css-selector-tokenizer "^0.7.0"
- postcss "^6.0.1"
-
-postcss-modules-values@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
- integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=
- dependencies:
- icss-replace-symbols "^1.1.0"
- postcss "^6.0.1"
+ postcss "^5.0.5"
postcss-normalize-charset@^4.0.1:
version "4.0.1"
@@ -4358,6 +4604,16 @@ postcss-normalize-unicode@^4.0.1:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-normalize-url@^3.0.7:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
+ integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI=
+ dependencies:
+ is-absolute-url "^2.0.0"
+ normalize-url "^1.4.0"
+ postcss "^5.0.14"
+ postcss-value-parser "^3.2.3"
+
postcss-normalize-url@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
@@ -4376,6 +4632,14 @@ postcss-normalize-whitespace@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-ordered-values@^2.1.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
+ integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=
+ dependencies:
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.1"
+
postcss-ordered-values@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
@@ -4385,6 +4649,21 @@ postcss-ordered-values@^4.1.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
+postcss-reduce-idents@^2.2.2:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
+ integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=
+ dependencies:
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.2"
+
+postcss-reduce-initial@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
+ integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=
+ dependencies:
+ postcss "^5.0.4"
+
postcss-reduce-initial@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
@@ -4395,6 +4674,15 @@ postcss-reduce-initial@^4.0.3:
has "^1.0.0"
postcss "^7.0.0"
+postcss-reduce-transforms@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
+ integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.8"
+ postcss-value-parser "^3.0.1"
+
postcss-reduce-transforms@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
@@ -4405,7 +4693,16 @@ postcss-reduce-transforms@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-selector-parser@3.1.1, postcss-selector-parser@^3.0.0:
+postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
+ integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=
+ dependencies:
+ flatten "^1.0.2"
+ indexes-of "^1.0.1"
+ uniq "^1.0.1"
+
+postcss-selector-parser@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=
@@ -4423,6 +4720,16 @@ postcss-selector-parser@^5.0.0-rc.4:
indexes-of "^1.0.1"
uniq "^1.0.1"
+postcss-svgo@^2.1.1:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
+ integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=
+ dependencies:
+ is-svg "^2.0.0"
+ postcss "^5.0.14"
+ postcss-value-parser "^3.2.3"
+ svgo "^0.7.0"
+
postcss-svgo@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
@@ -4433,6 +4740,15 @@ postcss-svgo@^4.0.2:
postcss-value-parser "^3.0.0"
svgo "^1.0.0"
+postcss-unique-selectors@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
+ integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=
+ dependencies:
+ alphanum-sort "^1.0.1"
+ postcss "^5.0.4"
+ uniqs "^2.0.0"
+
postcss-unique-selectors@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
@@ -4442,21 +4758,31 @@ postcss-unique-selectors@^4.0.1:
postcss "^7.0.0"
uniqs "^2.0.0"
-postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1:
+postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-postcss@6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2"
- integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=
+postcss-zindex@^2.0.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
+ integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.4"
+ uniqs "^2.0.0"
+
+postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16:
+ version "5.2.18"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
+ integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
dependencies:
chalk "^1.1.3"
+ js-base64 "^2.1.9"
source-map "^0.5.6"
supports-color "^3.2.3"
-postcss@^6.0.1, postcss@^6.0.14:
+postcss@^6.0.19:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
@@ -4465,16 +4791,7 @@ postcss@^6.0.1, postcss@^6.0.14:
source-map "^0.6.1"
supports-color "^5.4.0"
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.5:
- version "7.0.14"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5"
- integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==
- dependencies:
- chalk "^2.4.2"
- source-map "^0.6.1"
- supports-color "^6.1.0"
-
-postcss@^7.0.14:
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5:
version "7.0.16"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.16.tgz#48f64f1b4b558cb8b52c88987724359acb010da2"
integrity sha512-MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==
@@ -4483,16 +4800,7 @@ postcss@^7.0.14:
source-map "^0.6.1"
supports-color "^6.1.0"
-posthtml-parser@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.3.3.tgz#3fe986fca9f00c0f109d731ba590b192f26e776d"
- integrity sha512-H/Z/yXGwl49A7hYQLV1iQ3h87NE0aZ/PMZhFwhw3lKeCAN+Ti4idrHvVvh4/GX10I7u77aQw+QB4vV5/Lzvv5A==
- dependencies:
- htmlparser2 "^3.9.2"
- isobject "^2.1.0"
- object-assign "^4.1.1"
-
-posthtml-parser@^0.4.0:
+posthtml-parser@^0.4.0, posthtml-parser@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.4.1.tgz#95b78fef766fbbe0a6f861b6e95582bc3d1ff933"
integrity sha512-h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ==
@@ -4500,31 +4808,35 @@ posthtml-parser@^0.4.0:
htmlparser2 "^3.9.2"
object-assign "^4.1.1"
-posthtml-render@^1.1.0, posthtml-render@^1.1.3, posthtml-render@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.1.4.tgz#95dac09892f4f183fad5ac823f08f42c0256551e"
- integrity sha512-jL6eFIzoN3xUEvbo33OAkSDE2VIKU4JQ1wENOows1DpfnrdapR/K3Q1/fB43Mq7wQlcSgRm23nFrvoioufM7eA==
+posthtml-render@^1.1.3, posthtml-render@^1.1.4, posthtml-render@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.1.5.tgz#387934e85438a3de77085fbc7d264efb00bd0e0f"
+ integrity sha512-yvt54j0zCBHQVEFAuR+yHld8CZrCa/E1Z/OcFNCV1IEWTLVxT8O7nYnM4IIw1CD4r8kaRd3lc42+0lgCKgm87w==
posthtml@^0.11.2, posthtml@^0.11.3:
- version "0.11.3"
- resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.11.3.tgz#17ea2921b0555b7455f33c977bd16d8b8cb74f27"
- integrity sha512-quMHnDckt2DQ9lRi6bYLnuyBDnVzK+McHa8+ar4kTdYbWEo/92hREOu3h70ZirudOOp/my2b3r0m5YtxY52yrA==
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.11.4.tgz#26784d005d57d7aea93ab06dda899d59bdf186c7"
+ integrity sha512-ezlzBkoPoRgh0jkmT1dsM8eT+lr2azyZ546kbda8oHnVnzvyaB3Ywo6UxUz8wPSOkFAAflCxZJhvvpQH1F6qcA==
dependencies:
- object-assign "^4.1.1"
- posthtml-parser "^0.3.3"
- posthtml-render "^1.1.0"
+ posthtml-parser "^0.4.1"
+ posthtml-render "^1.1.5"
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+prepend-http@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+
preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
-private@^0.1.6:
+private@^0.1.6, private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
@@ -4549,10 +4861,10 @@ pseudomap@^1.0.2:
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
-psl@^1.1.24, psl@^1.1.28:
- version "1.1.31"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184"
- integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==
+psl@^1.1.24:
+ version "1.1.32"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.32.tgz#3f132717cf2f9c169724b2b6caf373cf694198db"
+ integrity sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==
public-encrypt@^4.0.0:
version "4.0.3"
@@ -4584,7 +4896,7 @@ punycode@^1.2.4, punycode@^1.4.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
-punycode@^2.1.0, punycode@^2.1.1:
+punycode@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
@@ -4599,6 +4911,14 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+query-string@^4.1.0:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
+ integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
+ dependencies:
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
+
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -4642,10 +4962,10 @@ randomfill@^1.0.3:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
-range-parser@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
- integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
rc@^1.2.7:
version "1.2.8"
@@ -4657,6 +4977,23 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
read-pkg@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237"
@@ -4666,7 +5003,7 @@ read-pkg@^4.0.1:
parse-json "^4.0.0"
pify "^3.0.0"
-readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6:
+readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
@@ -4680,9 +5017,9 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable
util-deprecate "~1.0.1"
readable-stream@^3.1.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.3.0.tgz#cb8011aad002eb717bf040291feba8569c986fb9"
- integrity sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc"
+ integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==
dependencies:
inherits "^2.0.3"
string_decoder "^1.1.1"
@@ -4697,14 +5034,31 @@ readdirp@^2.0.0, readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"
-regenerate-unicode-properties@^8.0.2:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz#7b38faa296252376d363558cfbda90c9ce709662"
- integrity sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ==
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
dependencies:
- regenerate "^1.4.0"
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
-regenerate@^1.2.1, regenerate@^1.4.0:
+reduce-css-calc@^1.2.6:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
+ integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=
+ dependencies:
+ balanced-match "^0.4.2"
+ math-expression-evaluator "^1.2.14"
+ reduce-function-call "^1.0.1"
+
+reduce-function-call@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
+ integrity sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=
+ dependencies:
+ balanced-match "^0.4.2"
+
+regenerate@^1.2.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
@@ -4714,16 +5068,13 @@ regenerator-runtime@^0.11.0:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-regenerator-runtime@^0.12.0:
- version "0.12.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
- integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
-
-regenerator-transform@^0.13.4:
- version "0.13.4"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb"
- integrity sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==
+regenerator-transform@^0.10.0:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
+ integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==
dependencies:
+ babel-runtime "^6.18.0"
+ babel-types "^6.19.0"
private "^0.1.6"
regex-cache@^0.4.2:
@@ -4741,42 +5092,20 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexp-tree@^0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.6.tgz#84900fa12fdf428a2ac25f04300382a7c0148479"
- integrity sha512-LFrA98Dw/heXqDojz7qKFdygZmFoiVlvE1Zp7Cq2cvF+ZA+03Gmhy0k0PQlsC1jvHPiTUSs+pDHEuSWv6+6D7w==
-
-regexpu-core@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
- integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=
+regexpu-core@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+ integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=
dependencies:
regenerate "^1.2.1"
regjsgen "^0.2.0"
regjsparser "^0.1.4"
-regexpu-core@^4.5.4:
- version "4.5.4"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
- integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==
- dependencies:
- regenerate "^1.4.0"
- regenerate-unicode-properties "^8.0.2"
- regjsgen "^0.5.0"
- regjsparser "^0.6.0"
- unicode-match-property-ecmascript "^1.0.4"
- unicode-match-property-value-ecmascript "^1.1.0"
-
regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=
-regjsgen@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd"
- integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==
-
regjsparser@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
@@ -4784,13 +5113,6 @@ regjsparser@^0.1.4:
dependencies:
jsesc "~0.5.0"
-regjsparser@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c"
- integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==
- dependencies:
- jsesc "~0.5.0"
-
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -4806,23 +5128,14 @@ repeat-string@^1.5.2, repeat-string@^1.6.1:
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-request-promise-core@1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346"
- integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
dependencies:
- lodash "^4.17.11"
+ is-finite "^1.0.0"
-request-promise-native@^1.0.5:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59"
- integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==
- dependencies:
- request-promise-core "1.1.2"
- stealthy-require "^1.1.1"
- tough-cookie "^2.3.3"
-
-request@^2.72.0, request@^2.87.0:
+request@^2.87.0, request@^2.88.0:
version "2.88.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
@@ -4868,7 +5181,14 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-resolve@^1.1.5, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0:
+resolve@^1.1.5, resolve@^1.4.0:
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
+ integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
+ dependencies:
+ path-parse "^1.0.6"
+
+resolve@^1.1.7, resolve@^1.10.0:
version "1.10.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.1.tgz#664842ac960795bbe758221cdccda61fb64b5f18"
integrity sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==
@@ -4898,7 +5218,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
+rimraf@2, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@@ -4938,12 +5258,22 @@ safe-regex@^1.1.0:
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
safer-eval@^1.3.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/safer-eval/-/safer-eval-1.3.2.tgz#35f9658458cdfb5769d64fd6842866b53372d568"
- integrity sha512-mAkc9NX+ULPw4qX+lkFVuIhXQbjFaX97fWFj6atFXMG11lUX4rXfQY6Q0VFf1wfJfqCHYO7cxtC7cA8fIkWsLQ==
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/safer-eval/-/safer-eval-1.3.3.tgz#0309e9fcc0609e66c1b599fd0d4772132b260ca8"
+ integrity sha512-j/qb0rtnwTp5V1D7nR0Ns/14HU8OiHPaoZNJhM+Lfmv1nbXZCXG9LHaVW157agEocdSVAeeRNddK/yuWfalzGQ==
dependencies:
clones "^1.2.0"
+sass-graph@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
+ integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=
+ dependencies:
+ glob "^7.0.0"
+ lodash "^4.0.0"
+ scss-tokenizer "^0.2.3"
+ yargs "^7.0.0"
+
sass@^1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.19.0.tgz#5de82c713d4299fac57384ef5219534a37fe3e6c"
@@ -4951,20 +5281,33 @@ sass@^1.19.0:
dependencies:
chokidar "^2.0.0"
-sax@^1.2.4, sax@~1.2.4:
+sax@^1.2.4, sax@~1.2.1, sax@~1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+scss-tokenizer@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
+ integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
+ dependencies:
+ js-base64 "^2.1.8"
+ source-map "^0.4.2"
+
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
-send@0.16.2:
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
- integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==
+semver@~5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+ integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
+
+send@0.17.1:
+ version "0.17.1"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
+ integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
dependencies:
debug "2.6.9"
depd "~1.1.2"
@@ -4973,12 +5316,12 @@ send@0.16.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"
+ http-errors "~1.7.2"
+ mime "1.6.0"
+ ms "2.1.1"
on-finished "~2.3.0"
- range-parser "~1.2.0"
- statuses "~1.4.0"
+ range-parser "~1.2.1"
+ statuses "~1.5.0"
serialize-to-js@^1.1.1:
version "1.2.2"
@@ -4989,14 +5332,14 @@ serialize-to-js@^1.1.1:
safer-eval "^1.3.0"
serve-static@^1.12.4:
- version "1.13.2"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
- integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
+ integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
- parseurl "~1.3.2"
- send "0.16.2"
+ parseurl "~1.3.3"
+ send "0.17.1"
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
@@ -5028,10 +5371,10 @@ setimmediate@^1.0.4:
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-setprototypeof@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
- integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
+setprototypeof@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+ integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
sha.js@^2.4.0, sha.js@^2.4.8:
version "2.4.11"
@@ -5085,6 +5428,11 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -5115,6 +5463,13 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
+sort-keys@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+ integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
+ dependencies:
+ is-plain-obj "^1.0.0"
+
source-map-resolve@^0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
@@ -5126,6 +5481,13 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
+source-map-support@^0.4.15:
+ version "0.4.18"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+ integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
+ dependencies:
+ source-map "^0.5.6"
+
source-map-support@~0.5.10:
version "0.5.12"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
@@ -5144,7 +5506,14 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6:
+source-map@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -5247,20 +5616,17 @@ static-module@^2.2.0:
static-eval "^2.0.0"
through2 "~2.0.3"
-"statuses@>= 1.4.0 < 2":
+"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-statuses@~1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
- integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==
-
-stealthy-require@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
- integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+stdout-stream@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
+ integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
+ dependencies:
+ readable-stream "^2.0.1"
stream-browserify@^2.0.1:
version "2.0.2"
@@ -5281,7 +5647,12 @@ stream-http@^2.7.2:
to-arraybuffer "^1.0.0"
xtend "^4.0.0"
-string-width@^1.0.1:
+strict-uri-encode@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+ integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+
+string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
@@ -5326,11 +5697,25 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
+ dependencies:
+ get-stdin "^4.0.1"
+
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -5385,6 +5770,19 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
+svgo@^0.7.0:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
+ integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=
+ dependencies:
+ coa "~1.0.1"
+ colors "~1.1.2"
+ csso "~2.3.1"
+ js-yaml "~3.7.0"
+ mkdirp "~0.5.1"
+ sax "~1.2.1"
+ whet.extend "~0.9.9"
+
svgo@^1.0.0, svgo@^1.0.5:
version "1.2.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316"
@@ -5405,10 +5803,14 @@ svgo@^1.0.0, svgo@^1.0.5:
unquote "~1.1.1"
util.promisify "~1.0.0"
-symbol-tree@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
- integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=
+tar@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
+ integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
+ dependencies:
+ block-stream "*"
+ fstream "^1.0.12"
+ inherits "2"
tar@^4:
version "4.4.8"
@@ -5423,7 +5825,7 @@ tar@^4:
safe-buffer "^5.1.2"
yallist "^3.0.2"
-terser@^3.16.1, terser@^3.7.3:
+terser@^3.7.3, terser@^3.8.1:
version "3.17.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2"
integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==
@@ -5467,11 +5869,6 @@ to-fast-properties@^1.0.3:
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
-
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -5497,13 +5894,20 @@ to-regex@^3.0.1, to-regex@^3.0.2:
regex-not "^1.0.2"
safe-regex "^1.1.0"
-tough-cookie@^2.3.3, tough-cookie@^2.3.4:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
+toidentifier@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+ integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+
+toml@^2.3.3:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.6.tgz#25b0866483a9722474895559088b436fd11f861b"
+ integrity sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==
+
+tomlify-j0.4@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz#99414d45268c3a3b8bf38be82145b7bba34b7473"
+ integrity sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==
tough-cookie@~2.4.3:
version "2.4.3"
@@ -5513,23 +5917,28 @@ tough-cookie@~2.4.3:
psl "^1.1.24"
punycode "^1.4.1"
-tr46@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
- integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
- dependencies:
- punycode "^2.1.0"
-
tree-kill@^1.1.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a"
integrity sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+ integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
+
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
+"true-case-path@^1.0.2":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
+ integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
+ dependencies:
+ glob "^7.1.2"
+
tslib@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
@@ -5564,44 +5973,6 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
-uncss@^0.16.2:
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/uncss/-/uncss-0.16.2.tgz#3b2269c59012da7c66cbe98fbedddeef94f0649c"
- integrity sha1-OyJpxZAS2nxmy+mPvt3e75TwZJw=
- dependencies:
- commander "^2.9.0"
- glob "^7.0.3"
- is-absolute-url "^2.0.0"
- is-html "^1.0.0"
- jsdom "^11.3.0"
- lodash "^4.13.1"
- postcss "^6.0.14"
- postcss-selector-parser "3.1.1"
- request "^2.72.0"
-
-unicode-canonical-property-names-ecmascript@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
- integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
-
-unicode-match-property-ecmascript@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
- integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
- dependencies:
- unicode-canonical-property-names-ecmascript "^1.0.4"
- unicode-property-aliases-ecmascript "^1.0.4"
-
-unicode-match-property-value-ecmascript@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277"
- integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==
-
-unicode-property-aliases-ecmascript@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
- integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
-
unicode-trie@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085"
@@ -5706,9 +6077,9 @@ uuid@^3.3.2:
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
v8-compile-cache@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c"
- integrity sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
+ integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==
validate-npm-package-license@^3.0.1:
version "3.0.4"
@@ -5719,9 +6090,9 @@ validate-npm-package-license@^3.0.1:
spdx-expression-parse "^3.0.0"
vendors@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801"
- integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0"
+ integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==
verror@1.10.0:
version "1.10.0"
@@ -5744,13 +6115,6 @@ vm-browserify@0.0.4:
dependencies:
indexof "0.0.1"
-w3c-hr-time@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
- integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=
- dependencies:
- browser-process-hrtime "^0.1.2"
-
wcwidth@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -5758,47 +6122,22 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
-webidl-conversions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
- integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+whet.extend@~0.9.9:
+ version "0.9.9"
+ resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
+ integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=
-whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
- integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
- dependencies:
- iconv-lite "0.4.24"
-
-whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
- integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
-
-whatwg-url@^6.4.1:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
- integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==
- dependencies:
- lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
-
-whatwg-url@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd"
- integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==
- dependencies:
- lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
+which-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+ integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-which@^1.2.9:
+which@1, which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -5830,23 +6169,23 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-ws@^5.1.1, ws@^5.2.0:
+ws@^5.1.1:
version "5.2.2"
resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
dependencies:
async-limiter "~1.0.0"
-xml-name-validator@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
- integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
-
xtend@^4.0.0, xtend@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
+y18n@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+ integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
+
"y18n@^3.2.1 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
@@ -5870,6 +6209,13 @@ yargs-parser@^11.1.1:
camelcase "^5.0.0"
decamelize "^1.2.0"
+yargs-parser@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
+ integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
+ dependencies:
+ camelcase "^3.0.0"
+
yargs@^12.0.1:
version "12.0.5"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
@@ -5887,3 +6233,22 @@ yargs@^12.0.1:
which-module "^2.0.0"
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
+
+yargs@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
+ integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=
+ dependencies:
+ camelcase "^3.0.0"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ os-locale "^1.4.0"
+ read-pkg-up "^1.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^1.0.2"
+ which-module "^1.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^5.0.0"
From 3795eceed77028657c0812f77bdd9689a2ff61cb Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Mon, 3 Jun 2019 14:29:58 -0600
Subject: [PATCH 043/134] Fix header#top suddenly having a margin
---
src/main.scss | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/main.scss b/src/main.scss
index db34c39..75f5eaf 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -21,6 +21,7 @@
@import 'scss/themes/grape';
html, body {
+ margin: 0;
font-family: $font;
* {
From 5d7d0e319ed00ef92f7f16c6fab41bfb4bdfaa11 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Mon, 3 Jun 2019 16:38:31 -0600
Subject: [PATCH 044/134] Add logo and favicon; style logo for each theme
---
advertising.html | 22 +++++-
index.html | 20 +++++-
src/images/favicon.png | Bin 0 -> 673 bytes
src/images/favicon.svg | 80 +++++++++++++++++++++
src/images/logo.svg | 31 ++++++++
src/images/logo_text-data.svg | 132 ++++++++++++++++++++++++++++++++++
src/scss/_structure.scss | 3 +
src/scss/themes/_blue.scss | 8 ++-
src/scss/themes/_dark.scss | 8 ++-
src/scss/themes/_default.scss | 8 ++-
src/scss/themes/_grape.scss | 8 ++-
src/scss/themes/_green.scss | 8 ++-
src/scss/themes/_light.scss | 8 ++-
src/scss/themes/_mint.scss | 8 ++-
src/scss/themes/_red.scss | 8 ++-
src/scss/themes/_royal.scss | 8 ++-
src/scss/themes/_yellow.scss | 8 ++-
view.html | 27 ++++++-
18 files changed, 370 insertions(+), 25 deletions(-)
create mode 100644 src/images/favicon.png
create mode 100644 src/images/favicon.svg
create mode 100644 src/images/logo.svg
create mode 100644 src/images/logo_text-data.svg
diff --git a/advertising.html b/advertising.html
index f380810..0def824 100644
--- a/advertising.html
+++ b/advertising.html
@@ -10,13 +10,29 @@
+
diff --git a/index.html b/index.html
index f6195b8..03d33cb 100644
--- a/index.html
+++ b/index.html
@@ -5,12 +5,30 @@
Lexiconga
+
- Lexiconga
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/favicon.png b/src/images/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..00b068e10fef31cbc34f5d459794a641db4d8a83
GIT binary patch
literal 673
zcmV;S0$%-zP)vUoEzkfSW*@|%&X7$QTIbGUD7j%L)eT!8aJN
z(+Ii}!r@Ao@-Az0?FeF7FP>;pnwyMS75#yjB`82VWe>&@!xt3|H-bYU5)|FT-h}WK
zoDB~wHWL;MxQzaUaDvfL@hp$Dh*yH+Nex7Ed8JLe;Z{cxheWrMel-}uwOrCjP&OlN
z9;~1@PaYHkQPnwoOlY8h@pxKC9-;8aCk$&+vzv?#Rb#Qq-LjU1q2j6Nc0vQtr|e=Q
zL5;iEr`0YmrR@jH3Jz!WgPJl7vzBp&`km`9qt%MZc%puX-Ea?tiUrZ7ga)9~cBAz+
zvS-4QspL~pbaMSvlzkJnxIpdv_RkTF#d7VOnQ0(QS`rPhIzA_gHjKye?=in&F9_3K
z;ATPt&@H;U#%QLFJ&M}RN&7mgqB~T~|M$mf?h$OOp65RSrJadJZHmJ<00000NkvXX
Hu0mjff@dle
literal 0
HcmV?d00001
diff --git a/src/images/favicon.svg b/src/images/favicon.svg
new file mode 100644
index 0000000..4fce3b8
--- /dev/null
+++ b/src/images/favicon.svg
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/logo.svg b/src/images/logo.svg
new file mode 100644
index 0000000..cb3c991
--- /dev/null
+++ b/src/images/logo.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/logo_text-data.svg b/src/images/logo_text-data.svg
new file mode 100644
index 0000000..09a0ef0
--- /dev/null
+++ b/src/images/logo_text-data.svg
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dictionary Builder
+
+
diff --git a/src/scss/_structure.scss b/src/scss/_structure.scss
index b42b8ed..dad5600 100644
--- a/src/scss/_structure.scss
+++ b/src/scss/_structure.scss
@@ -2,6 +2,9 @@
#title {
display: inline-block;
margin: 3px $general-padding 3px 0;
+ width: auto;
+ max-height: $header-height - $general-padding;
+ vertical-align: middle;
}
#openSearchModal {
diff --git a/src/scss/themes/_blue.scss b/src/scss/themes/_blue.scss
index 4d2e6d3..fe6d836 100644
--- a/src/scss/themes/_blue.scss
+++ b/src/scss/themes/_blue.scss
@@ -132,8 +132,12 @@
box-shadow: 0px 4px 5px 0px #000000;
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: lighten($background-color, 25);
+ }
+ #conga {
+ fill: lighten($footer-color, 25);
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_dark.scss b/src/scss/themes/_dark.scss
index b390cf8..0e1c4c1 100644
--- a/src/scss/themes/_dark.scss
+++ b/src/scss/themes/_dark.scss
@@ -132,8 +132,12 @@
box-shadow: 0px 4px 5px 0px $dark;
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: $mid;
+ }
+ #conga {
+ fill: $dark;
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_default.scss b/src/scss/themes/_default.scss
index 56eb94d..6a6512e 100644
--- a/src/scss/themes/_default.scss
+++ b/src/scss/themes/_default.scss
@@ -131,8 +131,12 @@
box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: #ff5500;
+ }
+ #conga {
+ fill: #d70000;
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_grape.scss b/src/scss/themes/_grape.scss
index 760a9b3..ae122bf 100644
--- a/src/scss/themes/_grape.scss
+++ b/src/scss/themes/_grape.scss
@@ -131,8 +131,12 @@
box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: darken($background-color, 25);
+ }
+ #conga {
+ fill: darken($footer-color, 25);
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_green.scss b/src/scss/themes/_green.scss
index 52c8791..73b129b 100644
--- a/src/scss/themes/_green.scss
+++ b/src/scss/themes/_green.scss
@@ -132,8 +132,12 @@
box-shadow: 0px 4px 5px 0px #000000;
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: lighten($background-color, 25);
+ }
+ #conga {
+ fill: darken($footer-color, 10);
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_light.scss b/src/scss/themes/_light.scss
index 4063e3e..bc0ea14 100644
--- a/src/scss/themes/_light.scss
+++ b/src/scss/themes/_light.scss
@@ -131,8 +131,12 @@
box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: darken($dark, 15);
+ }
+ #conga {
+ fill: darken($dark, 50);
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_mint.scss b/src/scss/themes/_mint.scss
index fcb95d7..5d902b0 100644
--- a/src/scss/themes/_mint.scss
+++ b/src/scss/themes/_mint.scss
@@ -131,8 +131,12 @@
box-shadow: 0px 4px 5px 0px rgba(50, 50, 50, 0.75);
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: darken($background-color, 35);
+ }
+ #conga {
+ fill: darken($footer-color, 25);
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_red.scss b/src/scss/themes/_red.scss
index 38688bd..3fed93d 100644
--- a/src/scss/themes/_red.scss
+++ b/src/scss/themes/_red.scss
@@ -132,8 +132,12 @@
box-shadow: 0px 4px 5px 0px #000000;
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: lighten($background-color, 25);
+ }
+ #conga {
+ fill: darken($footer-color, 10);
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_royal.scss b/src/scss/themes/_royal.scss
index a2c09f0..6cf3623 100644
--- a/src/scss/themes/_royal.scss
+++ b/src/scss/themes/_royal.scss
@@ -132,8 +132,12 @@
box-shadow: 0px 4px 5px 0px #000000;
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: lighten($background-color, 25);
+ }
+ #conga {
+ fill: darken($footer-color, 20);
+ }
}
#openSearchModal {
diff --git a/src/scss/themes/_yellow.scss b/src/scss/themes/_yellow.scss
index 7b90a7d..4609e70 100644
--- a/src/scss/themes/_yellow.scss
+++ b/src/scss/themes/_yellow.scss
@@ -132,8 +132,12 @@
box-shadow: 0px 4px 5px 0px #000000;
#title {
- display: inline-block;
- margin: 3px $general-padding 3px 0;
+ #lexi {
+ fill: lighten($background-color, 25);
+ }
+ #conga {
+ fill: darken($footer-color, 25);
+ }
}
#openSearchModal {
diff --git a/view.html b/view.html
index 34db5bf..4ed1b30 100644
--- a/view.html
+++ b/view.html
@@ -11,12 +11,37 @@
+
- Lexiconga
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 3c75fae3a8a2cc461586fde877edac5f455bef78 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 4 Jun 2019 11:11:58 -0600
Subject: [PATCH 045/134] Add simple text ads shuffled into words
---
ads.json | 29 +++++++++++++++++++++++++++++
src/constants.js | 2 ++
src/index.js | 5 +++--
src/js/ads.js | 37 +++++++++++++++++++++++++++++++++++++
src/js/render.js | 13 ++++++-------
src/js/view/index.js | 3 ++-
src/js/view/render.js | 10 ++++++----
7 files changed, 85 insertions(+), 14 deletions(-)
create mode 100644 ads.json
create mode 100644 src/js/ads.js
diff --git a/ads.json b/ads.json
new file mode 100644
index 0000000..8313a79
--- /dev/null
+++ b/ads.json
@@ -0,0 +1,29 @@
+[
+ {
+ "header": "Do You Like Lexiconga?",
+ "body": "If you enjoy Lexiconga, you can help contribute to keeping it online and adding new features. Your donations are much appreciated!",
+ "cta": "Buy Me a Coffee!",
+ "link": "https://buymeacoffee.com/robbieantenesse",
+ "start": "June 1, 2019",
+ "end": "August 1, 2099",
+ "isPriority": false
+ },
+ {
+ "header": "Support Lexiconga",
+ "body": "If you enjoy Lexiconga, you can help contribute to keeping it online and adding new features. Your donations are much appreciated!",
+ "cta": "Buy Me a Coffee!",
+ "link": "https://buymeacoffee.com/robbieantenesse",
+ "start": "June 1, 2019",
+ "end": "August 1, 2099",
+ "isPriority": false
+ },
+ {
+ "header": "A New Way to Role-Play",
+ "body": "The GUTS+ System is a tabletop role-playing game system that aims to be approachable enough for newcomers and flexible enough for any setting.",
+ "cta": "Learn to Play for Free!",
+ "link": "https://guts.plus",
+ "start": "June 1, 2019",
+ "end": "January 1, 2020",
+ "isPriority": false
+ }
+]
\ No newline at end of file
diff --git a/src/constants.js b/src/constants.js
index 617e2a6..4ab6656 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -60,6 +60,8 @@ export const DEFAULT_SETTINGS = {
defaultTheme: 'default',
};
+export const DISPLAY_AD_EVERY = 10;
+
export const DEFAULT_PAGE_SIZE = 50;
export const LOCAL_STORAGE_KEY = 'dictionary';
diff --git a/src/index.js b/src/index.js
index b83d7b9..d7800aa 100644
--- a/src/index.js
+++ b/src/index.js
@@ -3,6 +3,7 @@ import { renderAll } from './js/render';
import { hasToken } from './js/utilities';
import { loadDictionary } from './js/dictionaryManagement';
import { loadSettings } from './js/settings';
+import { setupAds } from './js/ads';
function initialize() {
loadDictionary();
@@ -14,8 +15,8 @@ function initialize() {
account.loginWithToken();
});
}
-
- renderAll();
+
+ setupAds().then(() => renderAll());
}
window.onload = (function (oldLoad) {
diff --git a/src/js/ads.js b/src/js/ads.js
new file mode 100644
index 0000000..66de56a
--- /dev/null
+++ b/src/js/ads.js
@@ -0,0 +1,37 @@
+import { DISPLAY_AD_EVERY } from '../constants.js';
+
+export function setupAds() {
+ return import('../../ads.json').then(ads => {
+ const shuffle = (a, b) => Math.random() > 0.5 ? 1 : -1;
+ const priority = ads.filter(ad => isActive(ad) && ad.isPriority).sort(shuffle);
+ const regular = ads.filter(ad => isActive(ad) && !ad.isPriority).sort(shuffle);
+ window.ads = [...priority, ...regular];
+ });
+}
+
+function isActive(ad) {
+ const date = new Date();
+ return date >= new Date(ad.start) && date < new Date(ad.end);
+}
+
+export function renderAd(wordPosition) {
+ if (window.hasOwnProperty('ads') && window.ads) {
+ if (wordPosition % DISPLAY_AD_EVERY === 3) {
+ const adIndex = Math.floor(wordPosition / DISPLAY_AD_EVERY) % window.ads.length;
+ const ad = window.ads[adIndex];
+ return `
+
+
+ ${ad.body}
+
+ ${ad.cta}
+
+
+ `;
+ }
+ }
+
+ return '';
+}
\ No newline at end of file
diff --git a/src/js/render.js b/src/js/render.js
index d6ab919..5395ca2 100644
--- a/src/js/render.js
+++ b/src/js/render.js
@@ -16,6 +16,7 @@ import {
} from './setupListeners';
import { getPaginationData } from './pagination';
import { getOpenEditForms, parseReferences } from './wordManagement';
+import { renderAd } from './ads';
export function renderAll() {
renderTheme();
@@ -181,23 +182,21 @@ export function renderWords() {
// const { pageStart, pageEnd } = getPaginationData(words);
// words.slice(pageStart, pageEnd).forEach(originalWord => {
- words.forEach(originalWord => {
- let detailsMarkdown = removeTags(originalWord.details);
- const references = detailsMarkdown.match(/\{\{.+?\}\}/g);
- if (references && Array.isArray(references)) {
- detailsMarkdown = parseReferences(detailsMarkdown, references);
- }
+ words.forEach((originalWord, displayIndex) => {
const word = highlightSearchTerm({
name: removeTags(originalWord.name),
pronunciation: removeTags(originalWord.pronunciation),
partOfSpeech: removeTags(originalWord.partOfSpeech),
definition: removeTags(originalWord.definition),
- details: detailsMarkdown,
+ details: parseReferences(removeTags(originalWord.details)),
wordId: originalWord.wordId,
});
const homonymnNumber = getHomonymnNumber(originalWord);
const shareLink = window.currentDictionary.hasOwnProperty('externalID')
? window.location.pathname + window.currentDictionary.externalID + '/' + word.wordId : '';
+
+ wordsHTML += renderAd(displayIndex);
+
wordsHTML += `
${word.name}${homonymnNumber > 0 ? ' ' + homonymnNumber.toString() + ' ' : ''}
diff --git a/src/js/view/index.js b/src/js/view/index.js
index 2fec08a..4cacb87 100644
--- a/src/js/view/index.js
+++ b/src/js/view/index.js
@@ -1,5 +1,6 @@
import { renderAll } from './render';
import setupListeners from './setupListeners';
+import { setupAds } from '../ads';
// import setupListeners, { setupSearchFilters } from './js/setupListeners';
// import { renderAll } from './js/render';
@@ -8,7 +9,7 @@ import setupListeners from './setupListeners';
// import { loadSettings } from './js/settings';
function initialize() {
- renderAll();
+ setupAds().then(() => renderAll());
setupListeners();
}
diff --git a/src/js/view/render.js b/src/js/view/render.js
index e17c3c6..3dcbabc 100644
--- a/src/js/view/render.js
+++ b/src/js/view/render.js
@@ -6,6 +6,7 @@ import { showSection } from '../displayToggles';
import { setupSearchFilters, setupInfoModal } from './setupListeners';
import { parseReferences } from '../wordManagement';
import { renderTheme } from '../render';
+import { renderAd } from '../ads';
export function renderAll() {
renderTheme();
@@ -139,18 +140,19 @@ export function renderWords() {
`;
}
- words.forEach(originalWord => {
- let detailsMarkdown = originalWord.details;
- detailsMarkdown = parseReferences(detailsMarkdown);
+ words.forEach((originalWord, displayIndex) => {
const word = highlightSearchTerm({
name: removeTags(originalWord.name),
pronunciation: removeTags(originalWord.pronunciation),
partOfSpeech: removeTags(originalWord.partOfSpeech),
definition: removeTags(originalWord.definition),
- details: detailsMarkdown,
+ details: parseReferences(removeTags(originalWord.details)),
wordId: originalWord.wordId,
});
const shareLink = window.location.pathname + (window.location.pathname.match(new RegExp(word.wordId + '$')) ? '' : '/' + word.wordId);
+
+ wordsHTML += renderAd(displayIndex);
+
wordsHTML += `
${word.name}
From c6ae72ec1b7b6ee2a3c7785bdf1289fcd94618a1 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 4 Jun 2019 11:34:16 -0600
Subject: [PATCH 046/134] Re-upgrade parcel-bundler, use no-hmr as workaround
---
package.json | 5 +-
yarn.lock | 2806 ++++++++++++++++++++++----------------------------
2 files changed, 1240 insertions(+), 1571 deletions(-)
diff --git a/package.json b/package.json
index 462b499..8bdd3d8 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"license": "UNLICENCED",
"scripts": {
"start": "concurrently \"npm run watch-js\" \"npm run watch-php\"",
- "watch-js": "parcel watch index.html view.html --public-url ./",
+ "watch-js": "parcel watch index.html view.html --no-hmr --public-url ./",
"watch-php": "cpx \"src/php/**/{*,.*}\" dist -v -w",
"bundle": "parcel build index.html && cpx \"src/php/**/{*,.*}\" dist",
"serve-frontend-only": "parcel index.html",
@@ -20,8 +20,7 @@
"autoprefixer": "^9.5.1",
"concurrently": "^4.1.0",
"cpx": "^1.5.0",
- "node-sass": "^4.12.0",
- "parcel-bundler": "1.9.7",
+ "parcel-bundler": "^1.12.3",
"rimraf": "^2.6.3",
"sass": "^1.19.0"
},
diff --git a/yarn.lock b/yarn.lock
index 5e49918..d31ca97 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,705 @@
# yarn lockfile v1
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0 <7.4.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
+ integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
+ dependencies:
+ "@babel/highlight" "^7.0.0"
+
+"@babel/core@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b"
+ integrity sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.3.4"
+ "@babel/helpers" "^7.2.0"
+ "@babel/parser" "^7.3.4"
+ "@babel/template" "^7.2.2"
+ "@babel/traverse" "^7.3.4"
+ "@babel/types" "^7.3.4"
+ convert-source-map "^1.1.0"
+ debug "^4.1.0"
+ json5 "^2.1.0"
+ lodash "^4.17.11"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.4.tgz#9aa48c1989257877a9d971296e5b73bfe72e446e"
+ integrity sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==
+ dependencies:
+ "@babel/types" "^7.3.4"
+ jsesc "^2.5.1"
+ lodash "^4.17.11"
+ source-map "^0.5.0"
+ trim-right "^1.0.1"
+
+"@babel/generator@^7.3.4", "@babel/generator@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041"
+ integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==
+ dependencies:
+ "@babel/types" "^7.4.4"
+ jsesc "^2.5.1"
+ lodash "^4.17.11"
+ source-map "^0.5.0"
+ trim-right "^1.0.1"
+
+"@babel/helper-annotate-as-pure@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
+ integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
+ integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==
+ dependencies:
+ "@babel/helper-explode-assignable-expression" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-builder-react-jsx@^7.3.0":
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4"
+ integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==
+ dependencies:
+ "@babel/types" "^7.3.0"
+ esutils "^2.0.0"
+
+"@babel/helper-call-delegate@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43"
+ integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.4.4"
+ "@babel/traverse" "^7.4.4"
+ "@babel/types" "^7.4.4"
+
+"@babel/helper-define-map@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a"
+ integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==
+ dependencies:
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/types" "^7.4.4"
+ lodash "^4.17.11"
+
+"@babel/helper-explode-assignable-expression@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
+ integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==
+ dependencies:
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-function-name@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
+ integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-get-function-arity@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
+ integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-hoist-variables@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a"
+ integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==
+ dependencies:
+ "@babel/types" "^7.4.4"
+
+"@babel/helper-member-expression-to-functions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
+ integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-module-imports@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
+ integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8"
+ integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-simple-access" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.4.4"
+ "@babel/template" "^7.4.4"
+ "@babel/types" "^7.4.4"
+ lodash "^4.17.11"
+
+"@babel/helper-optimise-call-expression@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
+ integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-plugin-utils@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
+ integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
+
+"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2"
+ integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==
+ dependencies:
+ lodash "^4.17.11"
+
+"@babel/helper-remap-async-to-generator@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
+ integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-wrap-function" "^7.1.0"
+ "@babel/template" "^7.1.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27"
+ integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/traverse" "^7.4.4"
+ "@babel/types" "^7.4.4"
+
+"@babel/helper-simple-access@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
+ integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==
+ dependencies:
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677"
+ integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==
+ dependencies:
+ "@babel/types" "^7.4.4"
+
+"@babel/helper-wrap-function@^7.1.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa"
+ integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==
+ dependencies:
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/template" "^7.1.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.2.0"
+
+"@babel/helpers@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5"
+ integrity sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==
+ dependencies:
+ "@babel/template" "^7.4.4"
+ "@babel/traverse" "^7.4.4"
+ "@babel/types" "^7.4.4"
+
+"@babel/highlight@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
+ integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^4.0.0"
+
+"@babel/parser@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.4.tgz#a43357e4bbf4b92a437fb9e465c192848287f27c"
+ integrity sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==
+
+"@babel/parser@^7.2.2", "@babel/parser@^7.3.4", "@babel/parser@^7.4.4", "@babel/parser@^7.4.5":
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872"
+ integrity sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==
+
+"@babel/plugin-proposal-async-generator-functions@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e"
+ integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
+ "@babel/plugin-syntax-async-generators" "^7.2.0"
+
+"@babel/plugin-proposal-json-strings@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317"
+ integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-json-strings" "^7.2.0"
+
+"@babel/plugin-proposal-object-rest-spread@^7.3.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005"
+ integrity sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5"
+ integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78"
+ integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.4.4"
+ regexpu-core "^4.5.4"
+
+"@babel/plugin-syntax-async-generators@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"
+ integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-flow@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c"
+ integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-json-strings@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470"
+ integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-jsx@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7"
+ integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-object-rest-spread@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
+ integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c"
+ integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-arrow-functions@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550"
+ integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-async-to-generator@^7.3.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894"
+ integrity sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
+
+"@babel/plugin-transform-block-scoped-functions@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"
+ integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-block-scoping@^7.3.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d"
+ integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ lodash "^4.17.11"
+
+"@babel/plugin-transform-classes@^7.3.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6"
+ integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-define-map" "^7.4.4"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.4.4"
+ "@babel/helper-split-export-declaration" "^7.4.4"
+ globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da"
+ integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-destructuring@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f"
+ integrity sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-dotall-regex@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
+ integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.4.4"
+ regexpu-core "^4.5.4"
+
+"@babel/plugin-transform-duplicate-keys@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3"
+ integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-exponentiation-operator@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008"
+ integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-flow-strip-types@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz#00156236defb7dedddc2d3c9477dcc01a4494327"
+ integrity sha512-PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.2.0"
+
+"@babel/plugin-transform-for-of@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556"
+ integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-function-name@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad"
+ integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==
+ dependencies:
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-literals@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1"
+ integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-modules-amd@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6"
+ integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-modules-commonjs@^7.0.0 <7.4.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404"
+ integrity sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-simple-access" "^7.1.0"
+
+"@babel/plugin-transform-modules-commonjs@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e"
+ integrity sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.4.4"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-simple-access" "^7.1.0"
+
+"@babel/plugin-transform-modules-systemjs@^7.3.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405"
+ integrity sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.4.4"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-modules-umd@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae"
+ integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0":
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106"
+ integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==
+ dependencies:
+ regexp-tree "^0.1.6"
+
+"@babel/plugin-transform-new-target@^7.0.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5"
+ integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-object-super@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598"
+ integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.1.0"
+
+"@babel/plugin-transform-parameters@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16"
+ integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==
+ dependencies:
+ "@babel/helper-call-delegate" "^7.4.4"
+ "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-react-jsx@^7.0.0 <7.4.0":
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290"
+ integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==
+ dependencies:
+ "@babel/helper-builder-react-jsx" "^7.3.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@babel/plugin-transform-regenerator@^7.3.4":
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f"
+ integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==
+ dependencies:
+ regenerator-transform "^0.14.0"
+
+"@babel/plugin-transform-shorthand-properties@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0"
+ integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-spread@^7.2.0":
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406"
+ integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-sticky-regex@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1"
+ integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
+
+"@babel/plugin-transform-template-literals@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0"
+ integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-typeof-symbol@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2"
+ integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-unicode-regex@^7.2.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f"
+ integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.4.4"
+ regexpu-core "^4.5.4"
+
+"@babel/preset-env@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.4.tgz#887cf38b6d23c82f19b5135298bdb160062e33e1"
+ integrity sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-proposal-async-generator-functions" "^7.2.0"
+ "@babel/plugin-proposal-json-strings" "^7.2.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.3.4"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.2.0"
+ "@babel/plugin-syntax-async-generators" "^7.2.0"
+ "@babel/plugin-syntax-json-strings" "^7.2.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
+ "@babel/plugin-transform-arrow-functions" "^7.2.0"
+ "@babel/plugin-transform-async-to-generator" "^7.3.4"
+ "@babel/plugin-transform-block-scoped-functions" "^7.2.0"
+ "@babel/plugin-transform-block-scoping" "^7.3.4"
+ "@babel/plugin-transform-classes" "^7.3.4"
+ "@babel/plugin-transform-computed-properties" "^7.2.0"
+ "@babel/plugin-transform-destructuring" "^7.2.0"
+ "@babel/plugin-transform-dotall-regex" "^7.2.0"
+ "@babel/plugin-transform-duplicate-keys" "^7.2.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.2.0"
+ "@babel/plugin-transform-for-of" "^7.2.0"
+ "@babel/plugin-transform-function-name" "^7.2.0"
+ "@babel/plugin-transform-literals" "^7.2.0"
+ "@babel/plugin-transform-modules-amd" "^7.2.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.2.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.3.4"
+ "@babel/plugin-transform-modules-umd" "^7.2.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0"
+ "@babel/plugin-transform-new-target" "^7.0.0"
+ "@babel/plugin-transform-object-super" "^7.2.0"
+ "@babel/plugin-transform-parameters" "^7.2.0"
+ "@babel/plugin-transform-regenerator" "^7.3.4"
+ "@babel/plugin-transform-shorthand-properties" "^7.2.0"
+ "@babel/plugin-transform-spread" "^7.2.0"
+ "@babel/plugin-transform-sticky-regex" "^7.2.0"
+ "@babel/plugin-transform-template-literals" "^7.2.0"
+ "@babel/plugin-transform-typeof-symbol" "^7.2.0"
+ "@babel/plugin-transform-unicode-regex" "^7.2.0"
+ browserslist "^4.3.4"
+ invariant "^2.2.2"
+ js-levenshtein "^1.1.3"
+ semver "^5.3.0"
+
+"@babel/runtime@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83"
+ integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==
+ dependencies:
+ regenerator-runtime "^0.12.0"
+
+"@babel/template@^7.0.0 <7.4.0":
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907"
+ integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.2.2"
+ "@babel/types" "^7.2.2"
+
+"@babel/template@^7.1.0", "@babel/template@^7.2.2", "@babel/template@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237"
+ integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.4.4"
+ "@babel/types" "^7.4.4"
+
+"@babel/traverse@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.3.4.tgz#1330aab72234f8dea091b08c4f8b9d05c7119e06"
+ integrity sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.3.4"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/parser" "^7.3.4"
+ "@babel/types" "^7.3.4"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.11"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.3.4", "@babel/traverse@^7.4.4":
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216"
+ integrity sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.4.4"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.4.4"
+ "@babel/parser" "^7.4.5"
+ "@babel/types" "^7.4.4"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.11"
+
+"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.3.4", "@babel/types@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0"
+ integrity sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==
+ dependencies:
+ esutils "^2.0.2"
+ lodash "^4.17.11"
+ to-fast-properties "^2.0.0"
+
+"@babel/types@^7.0.0 <7.4.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.4.tgz#bf482eaeaffb367a28abbf9357a94963235d90ed"
+ integrity sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==
+ dependencies:
+ esutils "^2.0.2"
+ lodash "^4.17.11"
+ to-fast-properties "^2.0.0"
+
+"@iarna/toml@^2.2.0":
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab"
+ integrity sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==
+
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@@ -15,21 +714,85 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+"@parcel/fs@^1.11.0":
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-1.11.0.tgz#fb8a2be038c454ad46a50dc0554c1805f13535cd"
+ integrity sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==
+ dependencies:
+ "@parcel/utils" "^1.11.0"
+ mkdirp "^0.5.1"
+ rimraf "^2.6.2"
+
+"@parcel/logger@^1.11.0":
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-1.11.0.tgz#91f39da14ba08dd85db247145698c62102960abb"
+ integrity sha512-lIRfDg+junbFUUeU0QtHX00gKCgEsYHZydFKwrJ8dc0D+WE2SYT1FcVCgpPAfKYgtg0QQMns8E9vzT9UjH92PQ==
+ dependencies:
+ "@parcel/workers" "^1.11.0"
+ chalk "^2.1.0"
+ grapheme-breaker "^0.3.2"
+ ora "^2.1.0"
+ strip-ansi "^4.0.0"
+
+"@parcel/utils@^1.11.0":
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-1.11.0.tgz#539e08fff8af3b26eca11302be80b522674b51ea"
+ integrity sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==
+
+"@parcel/watcher@^1.12.0":
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-1.12.0.tgz#769024b2a810b0c3b38c310f297d104c77df3660"
+ integrity sha512-yijGiAqG7Tjf5WnFwOkiNWwerfZQDNABldiiqRDtr7vDWLO+F/DIncyB7tTcaD5Loevrr5mzzGo8Ntf3d2GIPg==
+ dependencies:
+ "@parcel/utils" "^1.11.0"
+ chokidar "^2.0.3"
+
+"@parcel/workers@^1.11.0":
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-1.11.0.tgz#7b8dcf992806f4ad2b6cecf629839c41c2336c59"
+ integrity sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==
+ dependencies:
+ "@parcel/utils" "^1.11.0"
+ physical-cpu-count "^2.0.0"
+
"@types/q@^1.5.1":
version "1.5.2"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
+abab@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"
+ integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==
+
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-acorn@^5.0.0:
+acorn-globals@^4.1.0:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006"
+ integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==
+ dependencies:
+ acorn "^6.0.1"
+ acorn-walk "^6.0.1"
+
+acorn-walk@^6.0.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
+ integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
+
+acorn@^5.0.0, acorn@^5.5.3:
version "5.7.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
+acorn@^6.0.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
+ integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+
ajv@^6.5.5:
version "6.10.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
@@ -40,16 +803,11 @@ ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
+alphanum-sort@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
-amdefine@>=0.0.4:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
- integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
-
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -137,16 +895,16 @@ arr-union@^3.1.0:
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+array-equal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
+ integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
+
array-filter@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
-array-find-index@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
- integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
-
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
@@ -206,11 +964,6 @@ async-each@^1.0.0, async-each@^1.0.1:
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
-async-foreach@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
- integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
-
async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
@@ -226,18 +979,6 @@ atob@^2.1.1:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-autoprefixer@^6.3.1:
- version "6.7.7"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
- integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=
- dependencies:
- browserslist "^1.7.6"
- caniuse-db "^1.0.30000634"
- normalize-range "^0.1.2"
- num2fraction "^1.2.2"
- postcss "^5.2.16"
- postcss-value-parser "^3.2.3"
-
autoprefixer@^9.5.1:
version "9.5.1"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.1.tgz#243b1267b67e7e947f28919d786b50d3bb0fb357"
@@ -260,492 +1001,7 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
-babel-code-frame@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
- integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
- dependencies:
- chalk "^1.1.3"
- esutils "^2.0.2"
- js-tokens "^3.0.2"
-
-babel-core@^6.25.0, babel-core@^6.26.0:
- version "6.26.3"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
- integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
- dependencies:
- babel-code-frame "^6.26.0"
- babel-generator "^6.26.0"
- babel-helpers "^6.24.1"
- babel-messages "^6.23.0"
- babel-register "^6.26.0"
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- convert-source-map "^1.5.1"
- debug "^2.6.9"
- json5 "^0.5.1"
- lodash "^4.17.4"
- minimatch "^3.0.4"
- path-is-absolute "^1.0.1"
- private "^0.1.8"
- slash "^1.0.0"
- source-map "^0.5.7"
-
-babel-generator@^6.25.0, babel-generator@^6.26.0:
- version "6.26.1"
- resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
- integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
- dependencies:
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- detect-indent "^4.0.0"
- jsesc "^1.3.0"
- lodash "^4.17.4"
- source-map "^0.5.7"
- trim-right "^1.0.1"
-
-babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
- integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=
- dependencies:
- babel-helper-explode-assignable-expression "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-builder-react-jsx@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0"
- integrity sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=
- dependencies:
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- esutils "^2.0.2"
-
-babel-helper-call-delegate@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
- integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=
- dependencies:
- babel-helper-hoist-variables "^6.24.1"
- babel-runtime "^6.22.0"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-define-map@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
- integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-helper-explode-assignable-expression@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
- integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo=
- dependencies:
- babel-runtime "^6.22.0"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-function-name@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
- integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=
- dependencies:
- babel-helper-get-function-arity "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-get-function-arity@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
- integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-hoist-variables@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
- integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY=
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-optimise-call-expression@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
- integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-regex@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
- integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=
- dependencies:
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-helper-remap-async-to-generator@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
- integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-replace-supers@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
- integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo=
- dependencies:
- babel-helper-optimise-call-expression "^6.24.1"
- babel-messages "^6.23.0"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helpers@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
- integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
- dependencies:
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-messages@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
- integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-check-es2015-constants@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
- integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-syntax-async-functions@^6.8.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
- integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=
-
-babel-plugin-syntax-exponentiation-operator@^6.8.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
- integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=
-
-babel-plugin-syntax-jsx@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
- integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
-
-babel-plugin-syntax-trailing-function-commas@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
- integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=
-
-babel-plugin-transform-async-to-generator@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
- integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=
- dependencies:
- babel-helper-remap-async-to-generator "^6.24.1"
- babel-plugin-syntax-async-functions "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-arrow-functions@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
- integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
- integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoping@^6.23.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
- integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=
- dependencies:
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-plugin-transform-es2015-classes@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
- integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=
- dependencies:
- babel-helper-define-map "^6.24.1"
- babel-helper-function-name "^6.24.1"
- babel-helper-optimise-call-expression "^6.24.1"
- babel-helper-replace-supers "^6.24.1"
- babel-messages "^6.23.0"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-computed-properties@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
- integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=
- dependencies:
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-destructuring@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
- integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
- integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4=
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-for-of@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
- integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-function-name@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
- integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-literals@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
- integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
- integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=
- dependencies:
- babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.0:
- version "6.26.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
- integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==
- dependencies:
- babel-plugin-transform-strict-mode "^6.24.1"
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-types "^6.26.0"
-
-babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
- integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=
- dependencies:
- babel-helper-hoist-variables "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-modules-umd@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
- integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg=
- dependencies:
- babel-plugin-transform-es2015-modules-amd "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-object-super@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
- integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40=
- dependencies:
- babel-helper-replace-supers "^6.24.1"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-parameters@^6.23.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
- integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=
- dependencies:
- babel-helper-call-delegate "^6.24.1"
- babel-helper-get-function-arity "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
- integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-spread@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
- integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-sticky-regex@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
- integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw=
- dependencies:
- babel-helper-regex "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-template-literals@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
- integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
- integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-unicode-regex@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
- integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek=
- dependencies:
- babel-helper-regex "^6.24.1"
- babel-runtime "^6.22.0"
- regexpu-core "^2.0.0"
-
-babel-plugin-transform-exponentiation-operator@^6.22.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
- integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=
- dependencies:
- babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
- babel-plugin-syntax-exponentiation-operator "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-react-jsx@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
- integrity sha1-hAoCjn30YN/DotKfDA2R9jduZqM=
- dependencies:
- babel-helper-builder-react-jsx "^6.24.1"
- babel-plugin-syntax-jsx "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-regenerator@^6.22.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
- integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=
- dependencies:
- regenerator-transform "^0.10.0"
-
-babel-plugin-transform-strict-mode@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
- integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-preset-env@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a"
- integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==
- dependencies:
- babel-plugin-check-es2015-constants "^6.22.0"
- babel-plugin-syntax-trailing-function-commas "^6.22.0"
- babel-plugin-transform-async-to-generator "^6.22.0"
- babel-plugin-transform-es2015-arrow-functions "^6.22.0"
- babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
- babel-plugin-transform-es2015-block-scoping "^6.23.0"
- babel-plugin-transform-es2015-classes "^6.23.0"
- babel-plugin-transform-es2015-computed-properties "^6.22.0"
- babel-plugin-transform-es2015-destructuring "^6.23.0"
- babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
- babel-plugin-transform-es2015-for-of "^6.23.0"
- babel-plugin-transform-es2015-function-name "^6.22.0"
- babel-plugin-transform-es2015-literals "^6.22.0"
- babel-plugin-transform-es2015-modules-amd "^6.22.0"
- babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
- babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
- babel-plugin-transform-es2015-modules-umd "^6.23.0"
- babel-plugin-transform-es2015-object-super "^6.22.0"
- babel-plugin-transform-es2015-parameters "^6.23.0"
- babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
- babel-plugin-transform-es2015-spread "^6.22.0"
- babel-plugin-transform-es2015-sticky-regex "^6.22.0"
- babel-plugin-transform-es2015-template-literals "^6.22.0"
- babel-plugin-transform-es2015-typeof-symbol "^6.23.0"
- babel-plugin-transform-es2015-unicode-regex "^6.22.0"
- babel-plugin-transform-exponentiation-operator "^6.22.0"
- babel-plugin-transform-regenerator "^6.22.0"
- browserslist "^3.2.6"
- invariant "^2.2.2"
- semver "^5.3.0"
-
-babel-register@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
- integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
- dependencies:
- babel-core "^6.26.0"
- babel-runtime "^6.26.0"
- core-js "^2.5.0"
- home-or-tmp "^2.0.0"
- lodash "^4.17.4"
- mkdirp "^0.5.1"
- source-map-support "^0.4.15"
-
-babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
+babel-runtime@^6.11.6, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
@@ -753,33 +1009,7 @@ babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runti
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
-babel-template@^6.24.1, babel-template@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
- integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
- dependencies:
- babel-runtime "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- lodash "^4.17.4"
-
-babel-traverse@^6.24.1, babel-traverse@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
- integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
- dependencies:
- babel-code-frame "^6.26.0"
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- debug "^2.6.8"
- globals "^9.18.0"
- invariant "^2.2.2"
- lodash "^4.17.4"
-
-babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
+babel-types@^6.15.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
@@ -798,16 +1028,6 @@ babylon-walk@^1.0.2:
babel-types "^6.15.0"
lodash.clone "^4.5.0"
-babylon@^6.17.4, babylon@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
- integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
-
-balanced-match@^0.4.2:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
- integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=
-
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -848,13 +1068,6 @@ bindings@~1.2.1:
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11"
integrity sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=
-block-stream@*:
- version "0.0.9"
- resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
- integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
- dependencies:
- inherits "~2.0.0"
-
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
@@ -913,6 +1126,11 @@ brorand@^1.0.1:
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+browser-process-hrtime@^0.1.2:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"
+ integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==
+
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
@@ -972,23 +1190,7 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
-browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
- version "1.7.7"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
- integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=
- dependencies:
- caniuse-db "^1.0.30000639"
- electron-to-chromium "^1.2.7"
-
-browserslist@^3.2.6:
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6"
- integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==
- dependencies:
- caniuse-lite "^1.0.30000844"
- electron-to-chromium "^1.3.47"
-
-browserslist@^4.0.0:
+browserslist@^4.0.0, browserslist@^4.1.0, browserslist@^4.3.4:
version "4.6.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.1.tgz#ee5059b1aec18cbec9d055d6cb5e24ae50343a9b"
integrity sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ==
@@ -1074,39 +1276,11 @@ callsites@^2.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
-camelcase-keys@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
- integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
- dependencies:
- camelcase "^2.0.0"
- map-obj "^1.0.0"
-
-camelcase@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
- integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
-
-camelcase@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
- integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
-
camelcase@^5.0.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-caniuse-api@^1.5.2:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
- integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=
- dependencies:
- browserslist "^1.3.6"
- caniuse-db "^1.0.30000529"
- lodash.memoize "^4.1.2"
- lodash.uniq "^4.5.0"
-
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@@ -1117,15 +1291,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
- version "1.0.30000971"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000971.tgz#5530250a146a8fec0fae3014c94c2aae040c6cbe"
- integrity sha512-ubSZfYXO2KMYtCVmDez82mjodeZa+mBYWAnBMAmFBPAn4C2PY4SD0eC/diYQD4Rj1K+WNdp0vr0JDtm0SQ6GNg==
-
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000971:
- version "1.0.30000971"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz#d1000e4546486a6977756547352bc96a4cfd2b13"
- integrity sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000971:
+ version "1.0.30000973"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000973.tgz#2f8e8e54f9e6c5b7a631c9e69bfa1093d8cfd360"
+ integrity sha512-/F3t/Yo8LEdRSEPCmI15fLu5vepVh9UCg/9inJXF5AAfW7xRRJkbaM2ut52iRMQMnGCLQouLbFdbOA+VEFOIsg==
caniuse-lite@^1.0.30000957:
version "1.0.30000967"
@@ -1142,7 +1311,7 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
@@ -1153,7 +1322,7 @@ chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1229,13 +1398,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1"
safe-buffer "^5.0.1"
-clap@^1.0.9:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51"
- integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==
- dependencies:
- chalk "^1.1.3"
-
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -1258,15 +1420,6 @@ cli-spinners@^1.1.0:
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a"
integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==
-cliui@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
- integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wrap-ansi "^2.0.0"
-
cliui@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
@@ -1300,13 +1453,6 @@ coa@^2.0.2:
chalk "^2.4.1"
q "^1.1.2"
-coa@~1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd"
- integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=
- dependencies:
- q "^1.1.2"
-
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
@@ -1320,7 +1466,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1:
+color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -1337,13 +1483,6 @@ color-name@^1.0.0:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-color-string@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
- integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=
- dependencies:
- color-name "^1.0.0"
-
color-string@^1.5.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
@@ -1352,15 +1491,6 @@ color-string@^1.5.2:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
-color@^0.11.0:
- version "0.11.4"
- resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
- integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=
- dependencies:
- clone "^1.0.2"
- color-convert "^1.3.0"
- color-string "^0.3.0"
-
color@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
@@ -1369,20 +1499,6 @@ color@^3.0.0:
color-convert "^1.9.1"
color-string "^1.5.2"
-colormin@^1.0.5:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
- integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=
- dependencies:
- color "^0.11.0"
- css-color-names "0.0.4"
- has "^1.0.1"
-
-colors@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
- integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM=
-
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -1395,7 +1511,7 @@ command-exists@^1.2.6:
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291"
integrity sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==
-commander@^2.11.0, commander@^2.19.0:
+commander@^2.11.0, commander@^2.19.0, commander@^2.9.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
@@ -1460,7 +1576,7 @@ constants-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
-convert-source-map@^1.5.1:
+convert-source-map@^1.1.0, convert-source-map@^1.5.1:
version "1.6.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
@@ -1477,11 +1593,6 @@ core-js@^2.4.0:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"
integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==
-core-js@^2.5.0:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
- integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==
-
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -1545,14 +1656,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-cross-spawn@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
- integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
- dependencies:
- lru-cache "^4.0.1"
- which "^1.2.9"
-
cross-spawn@^6.0.0, cross-spawn@^6.0.4:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -1594,6 +1697,18 @@ css-declaration-sorter@^4.0.1:
postcss "^7.0.1"
timsort "^0.3.0"
+css-modules-loader-core@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16"
+ integrity sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=
+ dependencies:
+ icss-replace-symbols "1.1.0"
+ postcss "6.0.1"
+ postcss-modules-extract-imports "1.1.0"
+ postcss-modules-local-by-default "1.2.0"
+ postcss-modules-scope "1.1.0"
+ postcss-modules-values "1.3.0"
+
css-select-base-adapter@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
@@ -1609,6 +1724,15 @@ css-select@^2.0.0:
domutils "^1.7.0"
nth-check "^1.0.2"
+css-selector-tokenizer@^0.7.0:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d"
+ integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==
+ dependencies:
+ cssesc "^0.1.0"
+ fastparse "^1.1.1"
+ regexpu-core "^1.0.0"
+
css-tree@1.0.0-alpha.28:
version "1.0.0-alpha.28"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
@@ -1640,6 +1764,11 @@ css-what@^2.1.2:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
+cssesc@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
+ integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=
+
cssesc@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703"
@@ -1703,45 +1832,7 @@ cssnano-util-same-parent@^4.0.0:
resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
-cssnano@^3.4.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
- integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=
- dependencies:
- autoprefixer "^6.3.1"
- decamelize "^1.1.2"
- defined "^1.0.0"
- has "^1.0.1"
- object-assign "^4.0.1"
- postcss "^5.0.14"
- postcss-calc "^5.2.0"
- postcss-colormin "^2.1.8"
- postcss-convert-values "^2.3.4"
- postcss-discard-comments "^2.0.4"
- postcss-discard-duplicates "^2.0.1"
- postcss-discard-empty "^2.0.1"
- postcss-discard-overridden "^0.1.1"
- postcss-discard-unused "^2.2.1"
- postcss-filter-plugins "^2.0.0"
- postcss-merge-idents "^2.1.5"
- postcss-merge-longhand "^2.0.1"
- postcss-merge-rules "^2.0.3"
- postcss-minify-font-values "^1.0.2"
- postcss-minify-gradients "^1.0.1"
- postcss-minify-params "^1.0.4"
- postcss-minify-selectors "^2.0.4"
- postcss-normalize-charset "^1.1.0"
- postcss-normalize-url "^3.0.7"
- postcss-ordered-values "^2.1.0"
- postcss-reduce-idents "^2.2.2"
- postcss-reduce-initial "^1.0.0"
- postcss-reduce-transforms "^1.0.3"
- postcss-svgo "^2.1.1"
- postcss-unique-selectors "^2.0.2"
- postcss-value-parser "^3.2.3"
- postcss-zindex "^2.0.1"
-
-cssnano@^4.0.0:
+cssnano@^4.0.0, cssnano@^4.1.9:
version "4.1.10"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
@@ -1758,20 +1849,17 @@ csso@^3.5.1:
dependencies:
css-tree "1.0.0-alpha.29"
-csso@~2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
- integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=
- dependencies:
- clap "^1.0.9"
- source-map "^0.5.3"
+cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad"
+ integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==
-currently-unhandled@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
- integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
+cssstyle@^1.0.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077"
+ integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==
dependencies:
- array-find-index "^1.0.1"
+ cssom "0.3.x"
dashdash@^1.12.0:
version "1.14.1"
@@ -1780,6 +1868,15 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
+data-urls@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
+ integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==
+ dependencies:
+ abab "^2.0.0"
+ whatwg-mimetype "^2.2.0"
+ whatwg-url "^7.0.0"
+
date-fns@^1.23.0:
version "1.30.1"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
@@ -1790,7 +1887,7 @@ date-now@^0.1.4:
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
-deasync@^0.1.13:
+deasync@^0.1.14:
version "0.1.15"
resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.15.tgz#788c4bbe6d32521233b28d23936de1bbadd2e112"
integrity sha512-pxMaCYu8cQIbGkA4Y1R0PLSooPIpH1WgFBLeJ+zLxQgHfkZG86ViJSmZmONSjZJ/R3NjwkMcIWZAzpLB2G9/CA==
@@ -1798,7 +1895,7 @@ deasync@^0.1.13:
bindings "~1.2.1"
node-addon-api "^1.6.0"
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -1812,7 +1909,7 @@ debug@^4.1.0:
dependencies:
ms "^2.1.1"
-decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
+decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -1868,11 +1965,6 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
isobject "^3.0.1"
-defined@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
- integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
-
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -1901,13 +1993,6 @@ destroy@~1.0.4:
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
-detect-indent@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
- integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
- dependencies:
- repeating "^2.0.0"
-
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
@@ -1940,6 +2025,13 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
+domexception@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
+ integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==
+ dependencies:
+ webidl-conversions "^4.0.2"
+
domhandler@^2.3.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
@@ -1962,6 +2054,11 @@ dot-prop@^4.1.1:
dependencies:
is-obj "^1.0.0"
+dotenv-expand@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"
+ integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=
+
dotenv@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef"
@@ -2002,16 +2099,16 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.137, electron-to-chromium@^1.3.47:
- version "1.3.143"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.143.tgz#8b2a631ab75157aa53d0c2933275643b99ef580b"
- integrity sha512-J9jOpxIljQZlV6GIP2fwAWq0T69syawU0sH3EW3O2Bgxquiy+veeIT5mBDRz+i3oHUSL1tvVgRKH3/4QiQh9Pg==
-
electron-to-chromium@^1.3.127:
version "1.3.129"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.129.tgz#bff32e1840775554aafa301e9dc5002d565aae80"
integrity sha512-puirJsgZnedlFEmRa7WEUIaS8ZgHHn7d7inph+RiapCc0x80hdoDyEEpR9z3aRUSZy4fGxOTOFcxnGmySlrmhA==
+electron-to-chromium@^1.3.137:
+ version "1.3.144"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.144.tgz#d742d2c451090798303a4a5eea4f33f5e60f5d94"
+ integrity sha512-jNRFJpfNrYm5uJ4x0q9oYMOfbL0JPOlkNli8GS/5zEmCjnE5jAtoCo4BYajHiqSPqEeAjtTdItL4p7EZw+jSfg==
+
elliptic@^6.0.0:
version "6.4.1"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a"
@@ -2042,7 +2139,7 @@ entities@^1.1.1:
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
-error-ex@^1.2.0, error-ex@^1.3.1:
+error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
@@ -2080,7 +2177,7 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-escodegen@^1.8.1:
+escodegen@^1.8.1, escodegen@^1.9.1:
version "1.11.1"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510"
integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==
@@ -2104,11 +2201,6 @@ escodegen@~1.9.0:
optionalDependencies:
source-map "~0.6.1"
-esprima@^2.6.0:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
- integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
-
esprima@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -2124,7 +2216,7 @@ estraverse@^4.2.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
-esutils@^2.0.2:
+esutils@^2.0.0, esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
@@ -2275,6 +2367,11 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+fastparse@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
+ integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
+
filename-regex@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
@@ -2311,14 +2408,6 @@ find-index@^0.1.1:
resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=
-find-up@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
- integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
- dependencies:
- path-exists "^2.0.0"
- pinkie-promise "^2.0.0"
-
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -2326,11 +2415,6 @@ find-up@^3.0.0:
dependencies:
locate-path "^3.0.0"
-flatten@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
- integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=
-
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -2394,23 +2478,6 @@ fsevents@^1.0.0, fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
-fstream@^1.0.0, fstream@^1.0.12:
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
- integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
- dependencies:
- graceful-fs "^4.1.2"
- inherits "~2.0.0"
- mkdirp ">=0.5 0"
- rimraf "2"
-
-fswatcher-child@^1.0.3:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/fswatcher-child/-/fswatcher-child-1.1.1.tgz#264dd95f9c4b5f8615327d7d7567884591846b9b"
- integrity sha512-FVDjVhR71TkJ+ud6vnRwCHvCgK9drGRdimWcTLqw8iN88uL5tTX+/xrwigJdcuQGrWYo3TRw9gRzk9xqR0UPPQ==
- dependencies:
- chokidar "^2.0.3"
-
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
@@ -2430,13 +2497,6 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
-gaze@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
- integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
- dependencies:
- globule "^1.0.0"
-
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
@@ -2447,11 +2507,6 @@ get-port@^3.2.0:
resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=
-get-stdin@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
- integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
-
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -2506,7 +2561,7 @@ glob2base@^0.0.12:
dependencies:
find-index "^0.1.1"
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@~7.1.1:
+glob@^7.0.3, glob@^7.0.5:
version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -2530,21 +2585,12 @@ glob@^7.1.3:
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^9.18.0:
- version "9.18.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
- integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globule@^1.0.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d"
- integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==
- dependencies:
- glob "~7.1.1"
- lodash "~4.17.10"
- minimatch "~3.0.2"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.2:
+graceful-fs@^4.1.11:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
@@ -2670,14 +2716,6 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-home-or-tmp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
- integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.1"
-
hosted-git-info@^2.1.4:
version "2.7.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
@@ -2698,17 +2736,31 @@ html-comment-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-htmlnano@^0.1.9:
- version "0.1.10"
- resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.1.10.tgz#a0a548eb4c76ae2cf2423ec7a25c881734d3dea6"
- integrity sha512-eTEUzz8VdWYp+w/KUdb99kwao4reR64epUySyZkQeepcyzPQ2n2EPWzibf6QDxmkGy10Kr+CKxYqI3izSbmhJQ==
+html-encoding-sniffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
+ integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==
dependencies:
- cssnano "^3.4.0"
+ whatwg-encoding "^1.0.1"
+
+html-tags@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-1.2.0.tgz#c78de65b5663aa597989dd2b7ab49200d7e4db98"
+ integrity sha1-x43mW1Zjqll5id0rerSSANfk25g=
+
+htmlnano@^0.2.2:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.2.3.tgz#ff654a641e8006c893bdd9ad4988ee4ab664449a"
+ integrity sha512-iS6T3J5gk2wInodbtMUyAU8sLYJOhuWDnIEd8lFRoHTypVGgawPHFEx2ZIK/XTErtDfwHBsrXeCwHAP8bdoSWw==
+ dependencies:
+ cssnano "^4.1.9"
+ normalize-html-whitespace "^0.2.0"
object-assign "^4.0.1"
posthtml "^0.11.3"
posthtml-render "^1.1.4"
svgo "^1.0.5"
- terser "^3.8.1"
+ terser "^3.16.1"
+ uncss "^0.16.2"
htmlparser2@^3.9.2:
version "3.10.1"
@@ -2747,13 +2799,18 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-iconv-lite@^0.4.4:
+iconv-lite@0.4.24, iconv-lite@^0.4.4:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
+icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
+ integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
+
ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@@ -2774,18 +2831,6 @@ import-fresh@^2.0.0:
caller-path "^2.0.0"
resolve-from "^3.0.0"
-in-publish@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
- integrity sha1-4g/146KvwmkDILbcVSaCqcf631E=
-
-indent-string@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
- integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
- dependencies:
- repeating "^2.0.0"
-
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
@@ -2804,7 +2849,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
@@ -2826,11 +2871,6 @@ invariant@^2.2.2:
dependencies:
loose-envify "^1.0.0"
-invert-kv@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
- integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
-
invert-kv@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
@@ -2970,13 +3010,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-is-finite@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
- integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
- dependencies:
- number-is-nan "^1.0.0"
-
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
@@ -3010,6 +3043,13 @@ is-glob@^4.0.0:
dependencies:
is-extglob "^2.1.1"
+is-html@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-html/-/is-html-1.1.0.tgz#e04f1c18d39485111396f9a0273eab51af218464"
+ integrity sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=
+ dependencies:
+ html-tags "^1.0.0"
+
is-number@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
@@ -3034,11 +3074,6 @@ is-obj@^1.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
-is-plain-obj@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
- integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -3073,13 +3108,6 @@ is-stream@^1.1.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
-is-svg@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
- integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=
- dependencies:
- html-comment-regex "^1.1.0"
-
is-svg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
@@ -3104,11 +3132,6 @@ is-url@^1.2.2:
resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==
-is-utf8@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
- integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
-
is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -3151,11 +3174,6 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-js-base64@^2.1.8, js-base64@^2.1.9:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
- integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
-
js-beautify@^1.8.9:
version "1.10.0"
resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.0.tgz#9753a13c858d96828658cd18ae3ca0e5783ea672"
@@ -3167,16 +3185,16 @@ js-beautify@^1.8.9:
mkdirp "~0.5.1"
nopt "~4.0.1"
-"js-tokens@^3.0.0 || ^4.0.0":
+js-levenshtein@^1.1.3:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
+ integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-tokens@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
- integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-
js-yaml@^3.10.0, js-yaml@^3.13.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
@@ -3185,23 +3203,47 @@ js-yaml@^3.10.0, js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@~3.7.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
- integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=
- dependencies:
- argparse "^1.0.7"
- esprima "^2.6.0"
-
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-jsesc@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
- integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
+jsdom@^11.3.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
+ integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==
+ dependencies:
+ 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"
+
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
jsesc@~0.5.0:
version "0.5.0"
@@ -3228,11 +3270,6 @@ json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-json5@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
- integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
-
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -3240,6 +3277,13 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
+json5@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
+ integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
+ dependencies:
+ minimist "^1.2.0"
+
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
@@ -3279,13 +3323,6 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
-lcid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
- integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
- dependencies:
- invert-kv "^1.0.0"
-
lcid@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
@@ -3293,6 +3330,11 @@ lcid@^2.0.0:
dependencies:
invert-kv "^2.0.0"
+left-pad@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
+ integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==
+
levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -3301,17 +3343,6 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-load-json-file@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
- integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
- strip-bom "^2.0.0"
-
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -3330,12 +3361,17 @@ lodash.memoize@^4.1.2:
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+ integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
+
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@~4.17.10:
+lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
@@ -3354,15 +3390,7 @@ loose-envify@^1.0.0:
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
-loud-rejection@^1.0.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
- integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
- dependencies:
- currently-unhandled "^0.4.1"
- signal-exit "^3.0.0"
-
-lru-cache@^4.0.1, lru-cache@^4.1.5:
+lru-cache@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -3389,11 +3417,6 @@ map-cache@^0.2.2:
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
-map-obj@^1.0.0, map-obj@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
- integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
-
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -3406,11 +3429,6 @@ marked@^0.6.2:
resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.2.tgz#c574be8b545a8b48641456ca1dbe0e37b6dccc1a"
integrity sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==
-math-expression-evaluator@^1.2.14:
- version "1.2.17"
- resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
- integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw=
-
math-random@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
@@ -3439,22 +3457,6 @@ mem@^4.0.0:
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
-meow@^3.7.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
- integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
- dependencies:
- camelcase-keys "^2.0.0"
- decamelize "^1.1.2"
- loud-rejection "^1.0.0"
- map-obj "^1.0.1"
- minimist "^1.1.3"
- normalize-package-data "^2.3.4"
- object-assign "^4.0.1"
- read-pkg-up "^1.0.1"
- redent "^1.0.0"
- trim-newlines "^1.0.0"
-
merge-source-map@1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f"
@@ -3550,7 +3552,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:
+minimatch@^3.0.2, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
@@ -3590,7 +3592,7 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
+mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
@@ -3612,11 +3614,6 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
-nan@^2.13.2:
- version "2.14.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
- integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
-
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -3658,24 +3655,6 @@ node-forge@^0.7.1:
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac"
integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==
-node-gyp@^3.8.0:
- version "3.8.0"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
- integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
- dependencies:
- fstream "^1.0.0"
- glob "^7.0.3"
- graceful-fs "^4.1.2"
- mkdirp "^0.5.0"
- nopt "2 || 3"
- npmlog "0 || 1 || 2 || 3 || 4"
- osenv "0"
- request "^2.87.0"
- rimraf "2"
- semver "~5.3.0"
- tar "^2.0.0"
- which "1"
-
node-libs-browser@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77"
@@ -3735,36 +3714,6 @@ node-releases@^1.1.21:
dependencies:
semver "^5.3.0"
-node-sass@^4.12.0:
- version "4.12.0"
- resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017"
- integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==
- dependencies:
- async-foreach "^0.1.3"
- chalk "^1.1.1"
- cross-spawn "^3.0.0"
- gaze "^1.0.0"
- get-stdin "^4.0.1"
- glob "^7.0.3"
- in-publish "^2.0.0"
- lodash "^4.17.11"
- meow "^3.7.0"
- mkdirp "^0.5.1"
- nan "^2.13.2"
- node-gyp "^3.8.0"
- npmlog "^4.0.0"
- request "^2.88.0"
- sass-graph "^2.2.4"
- stdout-stream "^1.4.0"
- "true-case-path" "^1.0.2"
-
-"nopt@2 || 3":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
- integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
- dependencies:
- abbrev "1"
-
nopt@^4.0.1, nopt@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
@@ -3773,7 +3722,12 @@ nopt@^4.0.1, nopt@~4.0.1:
abbrev "1"
osenv "^0.1.4"
-normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
+normalize-html-whitespace@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz#101722f6423551c75cdb8f9d104ff850daf1e10e"
+ integrity sha1-EBci9kI1Ucdc24+dEE/4UNrx4Q4=
+
+normalize-package-data@^2.3.2:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -3800,16 +3754,6 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
-normalize-url@^1.4.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
- integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
- dependencies:
- object-assign "^4.0.1"
- prepend-http "^1.0.0"
- query-string "^4.1.0"
- sort-keys "^1.0.0"
-
normalize-url@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
@@ -3840,7 +3784,7 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
+npmlog@^4.0.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -3867,6 +3811,11 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+nwsapi@^2.0.7:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f"
+ integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==
+
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
@@ -3998,13 +3947,6 @@ os-homedir@^1.0.0:
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-os-locale@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
- integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
- dependencies:
- lcid "^1.0.0"
-
os-locale@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
@@ -4014,12 +3956,12 @@ os-locale@^3.0.0:
lcid "^2.0.0"
mem "^4.0.0"
-os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
+os-tmpdir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-osenv@0, osenv@^0.1.4:
+osenv@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
@@ -4076,38 +4018,46 @@ papaparse@^4.6.3:
resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-4.6.3.tgz#742e5eaaa97fa6c7e1358d2934d8f18f44aee781"
integrity sha512-LRq7BrHC2kHPBYSD50aKuw/B/dGcg29omyJbKWY3KsYUZU69RKwaBHu13jGmCYBtOc4odsLCrFyk6imfyNubJQ==
-parcel-bundler@1.9.7:
- version "1.9.7"
- resolved "https://registry.yarnpkg.com/parcel-bundler/-/parcel-bundler-1.9.7.tgz#5cd00850dea0254d377005d55ab4bf60429ba2bc"
- integrity sha512-x+RiXe/C+aOoFuw+acH/NKjKmUJ/2zbFWFUS/KE5jBk2ErsN0Dc3OxLpmEaeIMU4oMPWFeNm5mRXcXdeUwf7GA==
+parcel-bundler@^1.12.3:
+ version "1.12.3"
+ resolved "https://registry.yarnpkg.com/parcel-bundler/-/parcel-bundler-1.12.3.tgz#2bbf70bfa2d06097f071653285040bd125684d09"
+ integrity sha512-8bq6lj0hhQeGxD9f9xEkFMXQ3d8TIlf2+isKxoi9bciB0KVEILRGllaPkUgp++5t0anToBh9+tG6ZyInXOC1/A==
dependencies:
+ "@babel/code-frame" "^7.0.0 <7.4.0"
+ "@babel/core" "^7.0.0 <7.4.0"
+ "@babel/generator" "^7.0.0 <7.4.0"
+ "@babel/parser" "^7.0.0 <7.4.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0 <7.4.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0 <7.4.0"
+ "@babel/plugin-transform-react-jsx" "^7.0.0 <7.4.0"
+ "@babel/preset-env" "^7.0.0 <7.4.0"
+ "@babel/runtime" "^7.0.0 <7.4.0"
+ "@babel/template" "^7.0.0 <7.4.0"
+ "@babel/traverse" "^7.0.0 <7.4.0"
+ "@babel/types" "^7.0.0 <7.4.0"
+ "@iarna/toml" "^2.2.0"
+ "@parcel/fs" "^1.11.0"
+ "@parcel/logger" "^1.11.0"
+ "@parcel/utils" "^1.11.0"
+ "@parcel/watcher" "^1.12.0"
+ "@parcel/workers" "^1.11.0"
ansi-to-html "^0.6.4"
- babel-code-frame "^6.26.0"
- babel-core "^6.25.0"
- babel-generator "^6.25.0"
- babel-plugin-transform-es2015-modules-commonjs "^6.26.0"
- babel-plugin-transform-react-jsx "^6.24.1"
- babel-preset-env "^1.7.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.17.4"
babylon-walk "^1.0.2"
- browserslist "^3.2.6"
+ browserslist "^4.1.0"
chalk "^2.1.0"
clone "^2.1.1"
command-exists "^1.2.6"
commander "^2.11.0"
cross-spawn "^6.0.4"
+ css-modules-loader-core "^1.1.0"
cssnano "^4.0.0"
- deasync "^0.1.13"
+ deasync "^0.1.14"
dotenv "^5.0.0"
+ dotenv-expand "^4.2.0"
fast-glob "^2.2.2"
filesize "^3.6.0"
- fswatcher-child "^1.0.3"
get-port "^3.2.0"
- grapheme-breaker "^0.3.2"
- htmlnano "^0.1.9"
+ htmlnano "^0.2.2"
is-glob "^4.0.0"
is-url "^1.2.2"
js-yaml "^3.10.0"
@@ -4117,10 +4067,8 @@ parcel-bundler@1.9.7:
node-forge "^0.7.1"
node-libs-browser "^2.0.0"
opn "^5.1.0"
- ora "^2.1.0"
- physical-cpu-count "^2.0.0"
- postcss "^6.0.19"
- postcss-value-parser "^3.3.0"
+ postcss "^7.0.11"
+ postcss-value-parser "^3.3.1"
posthtml "^0.11.2"
posthtml-parser "^0.4.0"
posthtml-render "^1.1.3"
@@ -4129,10 +4077,7 @@ parcel-bundler@1.9.7:
serialize-to-js "^1.1.1"
serve-static "^1.12.4"
source-map "0.6.1"
- strip-ansi "^4.0.0"
terser "^3.7.3"
- toml "^2.3.3"
- tomlify-j0.4 "^3.0.0"
v8-compile-cache "^2.0.0"
ws "^5.1.1"
@@ -4158,13 +4103,6 @@ parse-glob@^3.0.4:
is-extglob "^1.0.0"
is-glob "^2.0.0"
-parse-json@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
- integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
- dependencies:
- error-ex "^1.2.0"
-
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -4173,6 +4111,11 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
+parse5@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
+ integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
+
parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@@ -4193,19 +4136,12 @@ path-dirname@^1.0.0:
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
-path-exists@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
- integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
- dependencies:
- pinkie-promise "^2.0.0"
-
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
-path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
+path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
@@ -4220,15 +4156,6 @@ path-parse@^1.0.6:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
-path-type@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
- integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
- dependencies:
- graceful-fs "^4.1.2"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
-
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
@@ -4250,42 +4177,21 @@ physical-cpu-count@^2.0.0:
resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660"
integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA=
-pify@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
-
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
-pinkie-promise@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
- integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
- dependencies:
- pinkie "^2.0.0"
-
-pinkie@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
- integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+pn@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
+ integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-postcss-calc@^5.2.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
- integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14=
- dependencies:
- postcss "^5.0.2"
- postcss-message-helpers "^2.0.0"
- reduce-css-calc "^1.2.6"
-
postcss-calc@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436"
@@ -4296,15 +4202,6 @@ postcss-calc@^7.0.1:
postcss-selector-parser "^5.0.0-rc.4"
postcss-value-parser "^3.3.1"
-postcss-colormin@^2.1.8:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
- integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=
- dependencies:
- colormin "^1.0.5"
- postcss "^5.0.13"
- postcss-value-parser "^3.2.3"
-
postcss-colormin@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
@@ -4316,14 +4213,6 @@ postcss-colormin@^4.0.3:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-convert-values@^2.3.4:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
- integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=
- dependencies:
- postcss "^5.0.11"
- postcss-value-parser "^3.1.2"
-
postcss-convert-values@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
@@ -4332,13 +4221,6 @@ postcss-convert-values@^4.0.1:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-discard-comments@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
- integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=
- dependencies:
- postcss "^5.0.14"
-
postcss-discard-comments@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
@@ -4346,13 +4228,6 @@ postcss-discard-comments@^4.0.2:
dependencies:
postcss "^7.0.0"
-postcss-discard-duplicates@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
- integrity sha1-uavye4isGIFYpesSq8riAmO5GTI=
- dependencies:
- postcss "^5.0.4"
-
postcss-discard-duplicates@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
@@ -4360,13 +4235,6 @@ postcss-discard-duplicates@^4.0.2:
dependencies:
postcss "^7.0.0"
-postcss-discard-empty@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
- integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=
- dependencies:
- postcss "^5.0.14"
-
postcss-discard-empty@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
@@ -4374,13 +4242,6 @@ postcss-discard-empty@^4.0.1:
dependencies:
postcss "^7.0.0"
-postcss-discard-overridden@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
- integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=
- dependencies:
- postcss "^5.0.16"
-
postcss-discard-overridden@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
@@ -4388,37 +4249,6 @@ postcss-discard-overridden@^4.0.1:
dependencies:
postcss "^7.0.0"
-postcss-discard-unused@^2.2.1:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
- integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=
- dependencies:
- postcss "^5.0.14"
- uniqs "^2.0.0"
-
-postcss-filter-plugins@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec"
- integrity sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==
- dependencies:
- postcss "^5.0.4"
-
-postcss-merge-idents@^2.1.5:
- version "2.1.7"
- resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
- integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=
- dependencies:
- has "^1.0.1"
- postcss "^5.0.10"
- postcss-value-parser "^3.1.1"
-
-postcss-merge-longhand@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
- integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=
- dependencies:
- postcss "^5.0.4"
-
postcss-merge-longhand@^4.0.11:
version "4.0.11"
resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
@@ -4429,17 +4259,6 @@ postcss-merge-longhand@^4.0.11:
postcss-value-parser "^3.0.0"
stylehacks "^4.0.0"
-postcss-merge-rules@^2.0.3:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
- integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE=
- dependencies:
- browserslist "^1.5.2"
- caniuse-api "^1.5.2"
- postcss "^5.0.4"
- postcss-selector-parser "^2.2.2"
- vendors "^1.0.0"
-
postcss-merge-rules@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
@@ -4452,20 +4271,6 @@ postcss-merge-rules@^4.0.3:
postcss-selector-parser "^3.0.0"
vendors "^1.0.0"
-postcss-message-helpers@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
- integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=
-
-postcss-minify-font-values@^1.0.2:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
- integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k=
- dependencies:
- object-assign "^4.0.1"
- postcss "^5.0.4"
- postcss-value-parser "^3.0.2"
-
postcss-minify-font-values@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
@@ -4474,14 +4279,6 @@ postcss-minify-font-values@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-minify-gradients@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
- integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=
- dependencies:
- postcss "^5.0.12"
- postcss-value-parser "^3.3.0"
-
postcss-minify-gradients@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
@@ -4492,16 +4289,6 @@ postcss-minify-gradients@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-minify-params@^1.0.4:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
- integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=
- dependencies:
- alphanum-sort "^1.0.1"
- postcss "^5.0.2"
- postcss-value-parser "^3.0.2"
- uniqs "^2.0.0"
-
postcss-minify-params@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
@@ -4514,16 +4301,6 @@ postcss-minify-params@^4.0.2:
postcss-value-parser "^3.0.0"
uniqs "^2.0.0"
-postcss-minify-selectors@^2.0.4:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
- integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8=
- dependencies:
- alphanum-sort "^1.0.2"
- has "^1.0.1"
- postcss "^5.0.14"
- postcss-selector-parser "^2.0.0"
-
postcss-minify-selectors@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
@@ -4534,12 +4311,36 @@ postcss-minify-selectors@^4.0.2:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
-postcss-normalize-charset@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
- integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E=
+postcss-modules-extract-imports@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb"
+ integrity sha1-thTJcgvmgW6u41+zpfqh26agXds=
dependencies:
- postcss "^5.0.5"
+ postcss "^6.0.1"
+
+postcss-modules-local-by-default@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
+ integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=
+ dependencies:
+ css-selector-tokenizer "^0.7.0"
+ postcss "^6.0.1"
+
+postcss-modules-scope@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
+ integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A=
+ dependencies:
+ css-selector-tokenizer "^0.7.0"
+ postcss "^6.0.1"
+
+postcss-modules-values@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
+ integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=
+ dependencies:
+ icss-replace-symbols "^1.1.0"
+ postcss "^6.0.1"
postcss-normalize-charset@^4.0.1:
version "4.0.1"
@@ -4604,16 +4405,6 @@ postcss-normalize-unicode@^4.0.1:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-normalize-url@^3.0.7:
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
- integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI=
- dependencies:
- is-absolute-url "^2.0.0"
- normalize-url "^1.4.0"
- postcss "^5.0.14"
- postcss-value-parser "^3.2.3"
-
postcss-normalize-url@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
@@ -4632,14 +4423,6 @@ postcss-normalize-whitespace@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-ordered-values@^2.1.0:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
- integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=
- dependencies:
- postcss "^5.0.4"
- postcss-value-parser "^3.0.1"
-
postcss-ordered-values@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
@@ -4649,21 +4432,6 @@ postcss-ordered-values@^4.1.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-reduce-idents@^2.2.2:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
- integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=
- dependencies:
- postcss "^5.0.4"
- postcss-value-parser "^3.0.2"
-
-postcss-reduce-initial@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
- integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=
- dependencies:
- postcss "^5.0.4"
-
postcss-reduce-initial@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
@@ -4674,15 +4442,6 @@ postcss-reduce-initial@^4.0.3:
has "^1.0.0"
postcss "^7.0.0"
-postcss-reduce-transforms@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
- integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=
- dependencies:
- has "^1.0.1"
- postcss "^5.0.8"
- postcss-value-parser "^3.0.1"
-
postcss-reduce-transforms@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
@@ -4693,16 +4452,7 @@ postcss-reduce-transforms@^4.0.2:
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
-postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
- integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=
- dependencies:
- flatten "^1.0.2"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss-selector-parser@^3.0.0:
+postcss-selector-parser@3.1.1, postcss-selector-parser@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=
@@ -4720,16 +4470,6 @@ postcss-selector-parser@^5.0.0-rc.4:
indexes-of "^1.0.1"
uniq "^1.0.1"
-postcss-svgo@^2.1.1:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
- integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=
- dependencies:
- is-svg "^2.0.0"
- postcss "^5.0.14"
- postcss-value-parser "^3.2.3"
- svgo "^0.7.0"
-
postcss-svgo@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
@@ -4740,15 +4480,6 @@ postcss-svgo@^4.0.2:
postcss-value-parser "^3.0.0"
svgo "^1.0.0"
-postcss-unique-selectors@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
- integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=
- dependencies:
- alphanum-sort "^1.0.1"
- postcss "^5.0.4"
- uniqs "^2.0.0"
-
postcss-unique-selectors@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
@@ -4758,31 +4489,21 @@ postcss-unique-selectors@^4.0.1:
postcss "^7.0.0"
uniqs "^2.0.0"
-postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1:
+postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-postcss-zindex@^2.0.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
- integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=
- dependencies:
- has "^1.0.1"
- postcss "^5.0.4"
- uniqs "^2.0.0"
-
-postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16:
- version "5.2.18"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
- integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
+postcss@6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2"
+ integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=
dependencies:
chalk "^1.1.3"
- js-base64 "^2.1.9"
source-map "^0.5.6"
supports-color "^3.2.3"
-postcss@^6.0.19:
+postcss@^6.0.1, postcss@^6.0.14:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
@@ -4791,7 +4512,7 @@ postcss@^6.0.19:
source-map "^0.6.1"
supports-color "^5.4.0"
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5:
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.14, postcss@^7.0.5:
version "7.0.16"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.16.tgz#48f64f1b4b558cb8b52c88987724359acb010da2"
integrity sha512-MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==
@@ -4826,17 +4547,12 @@ prelude-ls@~1.1.2:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
-prepend-http@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
- integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
-
preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
-private@^0.1.6, private@^0.1.8:
+private@^0.1.6:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
@@ -4861,7 +4577,7 @@ pseudomap@^1.0.2:
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
-psl@^1.1.24:
+psl@^1.1.24, psl@^1.1.28:
version "1.1.32"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.32.tgz#3f132717cf2f9c169724b2b6caf373cf694198db"
integrity sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==
@@ -4896,7 +4612,7 @@ punycode@^1.2.4, punycode@^1.4.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
-punycode@^2.1.0:
+punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
@@ -4911,14 +4627,6 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-query-string@^4.1.0:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
- integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
- dependencies:
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -4977,23 +4685,6 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-read-pkg-up@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
- integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
- dependencies:
- find-up "^1.0.0"
- read-pkg "^1.0.0"
-
-read-pkg@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
- integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
- dependencies:
- load-json-file "^1.0.0"
- normalize-package-data "^2.3.2"
- path-type "^1.0.0"
-
read-pkg@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237"
@@ -5003,7 +4694,7 @@ read-pkg@^4.0.1:
parse-json "^4.0.0"
pify "^3.0.0"
-readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6:
+readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
@@ -5034,31 +4725,14 @@ readdirp@^2.0.0, readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"
-redent@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
- integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
+regenerate-unicode-properties@^8.0.2:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e"
+ integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==
dependencies:
- indent-string "^2.1.0"
- strip-indent "^1.0.1"
+ regenerate "^1.4.0"
-reduce-css-calc@^1.2.6:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
- integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=
- dependencies:
- balanced-match "^0.4.2"
- math-expression-evaluator "^1.2.14"
- reduce-function-call "^1.0.1"
-
-reduce-function-call@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
- integrity sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=
- dependencies:
- balanced-match "^0.4.2"
-
-regenerate@^1.2.1:
+regenerate@^1.2.1, regenerate@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
@@ -5068,13 +4742,16 @@ regenerator-runtime@^0.11.0:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-regenerator-transform@^0.10.0:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
- integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==
+regenerator-runtime@^0.12.0:
+ version "0.12.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
+ integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
+
+regenerator-transform@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf"
+ integrity sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==
dependencies:
- babel-runtime "^6.18.0"
- babel-types "^6.19.0"
private "^0.1.6"
regex-cache@^0.4.2:
@@ -5092,20 +4769,42 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexpu-core@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
- integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=
+regexp-tree@^0.1.6:
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc"
+ integrity sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ==
+
+regexpu-core@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
+ integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=
dependencies:
regenerate "^1.2.1"
regjsgen "^0.2.0"
regjsparser "^0.1.4"
+regexpu-core@^4.5.4:
+ version "4.5.4"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
+ integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==
+ dependencies:
+ regenerate "^1.4.0"
+ regenerate-unicode-properties "^8.0.2"
+ regjsgen "^0.5.0"
+ regjsparser "^0.6.0"
+ unicode-match-property-ecmascript "^1.0.4"
+ unicode-match-property-value-ecmascript "^1.1.0"
+
regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=
+regjsgen@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd"
+ integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==
+
regjsparser@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
@@ -5113,6 +4812,13 @@ regjsparser@^0.1.4:
dependencies:
jsesc "~0.5.0"
+regjsparser@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c"
+ integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==
+ dependencies:
+ jsesc "~0.5.0"
+
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -5128,14 +4834,23 @@ repeat-string@^1.5.2, repeat-string@^1.6.1:
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-repeating@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
- integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+request-promise-core@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346"
+ integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==
dependencies:
- is-finite "^1.0.0"
+ lodash "^4.17.11"
-request@^2.87.0, request@^2.88.0:
+request-promise-native@^1.0.5:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59"
+ integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==
+ dependencies:
+ request-promise-core "1.1.2"
+ stealthy-require "^1.1.1"
+ tough-cookie "^2.3.3"
+
+request@^2.72.0, request@^2.87.0:
version "2.88.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
@@ -5181,7 +4896,7 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-resolve@^1.1.5, resolve@^1.4.0:
+resolve@^1.1.5, resolve@^1.3.2, resolve@^1.4.0:
version "1.11.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
@@ -5218,7 +4933,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@2, rimraf@^2.6.1, rimraf@^2.6.3:
+rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@@ -5264,16 +4979,6 @@ safer-eval@^1.3.0:
dependencies:
clones "^1.2.0"
-sass-graph@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
- integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=
- dependencies:
- glob "^7.0.0"
- lodash "^4.0.0"
- scss-tokenizer "^0.2.3"
- yargs "^7.0.0"
-
sass@^1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.19.0.tgz#5de82c713d4299fac57384ef5219534a37fe3e6c"
@@ -5281,29 +4986,16 @@ sass@^1.19.0:
dependencies:
chokidar "^2.0.0"
-sax@^1.2.4, sax@~1.2.1, sax@~1.2.4:
+sax@^1.2.4, sax@~1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-scss-tokenizer@^0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
- integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
- dependencies:
- js-base64 "^2.1.8"
- source-map "^0.4.2"
-
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
-semver@~5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
- integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
-
send@0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
@@ -5428,11 +5120,6 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
-slash@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
- integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
-
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -5463,13 +5150,6 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
-sort-keys@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
- integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
- dependencies:
- is-plain-obj "^1.0.0"
-
source-map-resolve@^0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
@@ -5481,13 +5161,6 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
-source-map-support@^0.4.15:
- version "0.4.18"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
- integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
- dependencies:
- source-map "^0.5.6"
-
source-map-support@~0.5.10:
version "0.5.12"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
@@ -5506,14 +5179,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@^0.4.2:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
- integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
- dependencies:
- amdefine ">=0.0.4"
-
-source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -5621,12 +5287,10 @@ static-module@^2.2.0:
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-stdout-stream@^1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
- integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
- dependencies:
- readable-stream "^2.0.1"
+stealthy-require@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
+ integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
stream-browserify@^2.0.1:
version "2.0.2"
@@ -5647,12 +5311,7 @@ stream-http@^2.7.2:
to-arraybuffer "^1.0.0"
xtend "^4.0.0"
-strict-uri-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
- integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
-
-string-width@^1.0.1, string-width@^1.0.2:
+string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
@@ -5697,25 +5356,11 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
-strip-bom@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
- integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
- dependencies:
- is-utf8 "^0.2.0"
-
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
-strip-indent@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
- integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
- dependencies:
- get-stdin "^4.0.1"
-
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -5770,19 +5415,6 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
-svgo@^0.7.0:
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
- integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=
- dependencies:
- coa "~1.0.1"
- colors "~1.1.2"
- csso "~2.3.1"
- js-yaml "~3.7.0"
- mkdirp "~0.5.1"
- sax "~1.2.1"
- whet.extend "~0.9.9"
-
svgo@^1.0.0, svgo@^1.0.5:
version "1.2.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316"
@@ -5803,14 +5435,10 @@ svgo@^1.0.0, svgo@^1.0.5:
unquote "~1.1.1"
util.promisify "~1.0.0"
-tar@^2.0.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
- integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
- dependencies:
- block-stream "*"
- fstream "^1.0.12"
- inherits "2"
+symbol-tree@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
+ integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=
tar@^4:
version "4.4.8"
@@ -5825,7 +5453,7 @@ tar@^4:
safe-buffer "^5.1.2"
yallist "^3.0.2"
-terser@^3.7.3, terser@^3.8.1:
+terser@^3.16.1, terser@^3.7.3:
version "3.17.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2"
integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==
@@ -5869,6 +5497,11 @@ to-fast-properties@^1.0.3:
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -5899,15 +5532,13 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-toml@^2.3.3:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.6.tgz#25b0866483a9722474895559088b436fd11f861b"
- integrity sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==
-
-tomlify-j0.4@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz#99414d45268c3a3b8bf38be82145b7bba34b7473"
- integrity sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==
+tough-cookie@^2.3.3, tough-cookie@^2.3.4:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
tough-cookie@~2.4.3:
version "2.4.3"
@@ -5917,28 +5548,23 @@ tough-cookie@~2.4.3:
psl "^1.1.24"
punycode "^1.4.1"
+tr46@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
+ integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
+ dependencies:
+ punycode "^2.1.0"
+
tree-kill@^1.1.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a"
integrity sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==
-trim-newlines@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
- integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
-
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
-"true-case-path@^1.0.2":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
- integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
- dependencies:
- glob "^7.1.2"
-
tslib@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
@@ -5973,6 +5599,44 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+uncss@^0.16.2:
+ version "0.16.2"
+ resolved "https://registry.yarnpkg.com/uncss/-/uncss-0.16.2.tgz#3b2269c59012da7c66cbe98fbedddeef94f0649c"
+ integrity sha1-OyJpxZAS2nxmy+mPvt3e75TwZJw=
+ dependencies:
+ commander "^2.9.0"
+ glob "^7.0.3"
+ is-absolute-url "^2.0.0"
+ is-html "^1.0.0"
+ jsdom "^11.3.0"
+ lodash "^4.13.1"
+ postcss "^6.0.14"
+ postcss-selector-parser "3.1.1"
+ request "^2.72.0"
+
+unicode-canonical-property-names-ecmascript@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
+ integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
+
+unicode-match-property-ecmascript@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
+ integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^1.0.4"
+ unicode-property-aliases-ecmascript "^1.0.4"
+
+unicode-match-property-value-ecmascript@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277"
+ integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==
+
+unicode-property-aliases-ecmascript@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
+ integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
+
unicode-trie@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085"
@@ -6115,6 +5779,13 @@ vm-browserify@0.0.4:
dependencies:
indexof "0.0.1"
+w3c-hr-time@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
+ integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=
+ dependencies:
+ browser-process-hrtime "^0.1.2"
+
wcwidth@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -6122,22 +5793,47 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
-whet.extend@~0.9.9:
- version "0.9.9"
- resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
- integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=
+webidl-conversions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
+ integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
-which-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
- integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
+whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
+ integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
+ dependencies:
+ iconv-lite "0.4.24"
+
+whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
+ integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
+
+whatwg-url@^6.4.1:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
+ integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==
+ dependencies:
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
+
+whatwg-url@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd"
+ integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==
+ dependencies:
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-which@1, which@^1.2.9:
+which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -6169,23 +5865,23 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-ws@^5.1.1:
+ws@^5.1.1, ws@^5.2.0:
version "5.2.2"
resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
dependencies:
async-limiter "~1.0.0"
+xml-name-validator@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
+ integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+
xtend@^4.0.0, xtend@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
-y18n@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
- integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
-
"y18n@^3.2.1 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
@@ -6209,13 +5905,6 @@ yargs-parser@^11.1.1:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs-parser@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
- integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
- dependencies:
- camelcase "^3.0.0"
-
yargs@^12.0.1:
version "12.0.5"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
@@ -6233,22 +5922,3 @@ yargs@^12.0.1:
which-module "^2.0.0"
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
-
-yargs@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
- integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=
- dependencies:
- camelcase "^3.0.0"
- cliui "^3.2.0"
- decamelize "^1.1.1"
- get-caller-file "^1.0.1"
- os-locale "^1.4.0"
- read-pkg-up "^1.0.1"
- require-directory "^2.1.1"
- require-main-filename "^1.0.1"
- set-blocking "^2.0.0"
- string-width "^1.0.2"
- which-module "^1.0.0"
- y18n "^3.2.1"
- yargs-parser "^5.0.0"
From 559d6a698fd81481e6e803a5d997ac26da79627c Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 4 Jun 2019 15:39:48 -0600
Subject: [PATCH 047/134] Update ads
---
ads.json | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/ads.json b/ads.json
index 8313a79..4ff056b 100644
--- a/ads.json
+++ b/ads.json
@@ -23,6 +23,24 @@
"cta": "Learn to Play for Free!",
"link": "https://guts.plus",
"start": "June 1, 2019",
+ "end": "March 1, 2020",
+ "isPriority": false
+ },
+ {
+ "header": "Get Theonite: Planet Adyn free!",
+ "body": "\"This book is the superhero fantasy you didn't know you needed. Magic, Afrofuturism, and heart-pumping suspense - this book has it all!\" - WeReadFantasy.com",
+ "cta": "Read Free Now",
+ "link": "https://mailchi.mp/ce525124aec3/theonite-planet-adyn-free-copy",
+ "start": "June 1, 2019",
+ "end": "January 1, 2020",
+ "isPriority": false
+ },
+ {
+ "header": "The Sword of Kaigen: A Theonite War Story",
+ "body": "\"Fantasy and martial arts aficionados alike should enjoy this emotionally supercharged novel... which pierces readers' hearts with the precision of a samurai's razor-sharp blade.\" - Blue Ink Review",
+ "cta": "Buy Now",
+ "link": "https://www.amazon.com/Sword-Kaigen-Theonite-War-Story/dp/172019386X/",
+ "start": "June 1, 2019",
"end": "January 1, 2020",
"isPriority": false
}
From c44d4eee3e67d7afca736765a3e5caf4d8761709 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Tue, 4 Jun 2019 16:47:37 -0600
Subject: [PATCH 048/134] Transition all style changes with a fade
---
src/main.scss | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/main.scss b/src/main.scss
index 75f5eaf..e3e012c 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -23,8 +23,10 @@
html, body {
margin: 0;
font-family: $font;
-
+ transition: all 0.2s ease-in;
+
* {
+ transition: all 0.2s ease-in;
box-sizing: border-box;
}
}
From ffdd008344ef3cafe1ab0639ba851147a2f6f10f Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 11:42:00 -0600
Subject: [PATCH 049/134] Make sure php files can be used anywhere
---
src/php/api/Db.php | 2 +-
src/php/api/Dictionary.php | 4 ++--
src/php/api/Token.php | 2 +-
src/php/api/User.php | 6 +++---
src/php/api/index.php | 30 ++++++++++++++++++++++++++++--
5 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/src/php/api/Db.php b/src/php/api/Db.php
index f29dd9d..1f9696a 100644
--- a/src/php/api/Db.php
+++ b/src/php/api/Db.php
@@ -1,5 +1,5 @@
true,
), 400);
}
+ case 'password-reset': {
+ if (isset($request['code']) && isset($request['password'])) {
+ $user = new User();
+ $password_reset = $user->setPasswordReset($request['email']);
+ if ($password_reset === true) {
+ return Response::json(array(
+ 'data' => $password_reset,
+ 'error' => false,
+ ), 200);
+ }
+ if (isset($password_reset['error'])) {
+ return Response::json(array(
+ 'data' => $password_reset['error'],
+ 'error' => true,
+ ), 500);
+ }
+ return Response::json(array(
+ 'data' => 'Could not send password reset key: email not found',
+ 'error' => true,
+ ), 401);
+ }
+ return Response::json(array(
+ 'data' => 'Could not send password reset key: required data missing',
+ 'error' => true,
+ ), 400);
+ }
default: {
return Response::html('Hi!');
From 9e993be50335b5a62d1bb471c8f5d31f5098bf3e Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 12:42:39 -0600
Subject: [PATCH 050/134] Rename view.html for the router to template-view.html
---
src/php/api/router.php | 4 ++--
view.html => template-view.html | 0
2 files changed, 2 insertions(+), 2 deletions(-)
rename view.html => template-view.html (100%)
diff --git a/src/php/api/router.php b/src/php/api/router.php
index 4c5e3c9..4a7e6d5 100644
--- a/src/php/api/router.php
+++ b/src/php/api/router.php
@@ -3,7 +3,7 @@ $view = isset($_GET['view']) ? $_GET['view'] : false;
switch ($view) {
case 'dictionary': {
- $html = file_get_contents('../view.html');
+ $html = file_get_contents('../template-view.html');
$dict = isset($_GET['dict']) ? $_GET['dict'] : false;
if ($dict !== false) {
require_once('./Dictionary.php');
@@ -27,7 +27,7 @@ switch ($view) {
break;
}
case 'word': {
- $html = file_get_contents('../view.html');
+ $html = file_get_contents('../template-view.html');
$dict = isset($_GET['dict']) ? $_GET['dict'] : false;
$word = isset($_GET['word']) ? $_GET['word'] : false;
if ($dict !== false && $word !== false) {
diff --git a/view.html b/template-view.html
similarity index 100%
rename from view.html
rename to template-view.html
From 8c39d05c131dc2a64ecba963947df16afc89c928 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 12:45:05 -0600
Subject: [PATCH 051/134] Finish up password reset
---
package.json | 4 +--
src/js/account/passwordReset.js | 51 ++++++++++++++++++++++++++--
src/php/api/User.php | 9 ++---
src/php/api/index.php | 4 +--
src/php/passwordreset.php | 26 ++++++++++++++
src/structure.sql | 2 +-
template-passwordreset.html | 60 +++++++++++++++++++++++++++++++++
7 files changed, 144 insertions(+), 12 deletions(-)
create mode 100644 src/php/passwordreset.php
create mode 100644 template-passwordreset.html
diff --git a/package.json b/package.json
index 8bdd3d8..d3929a8 100644
--- a/package.json
+++ b/package.json
@@ -8,9 +8,9 @@
"license": "UNLICENCED",
"scripts": {
"start": "concurrently \"npm run watch-js\" \"npm run watch-php\"",
- "watch-js": "parcel watch index.html view.html --no-hmr --public-url ./",
+ "watch-js": "parcel watch index.html template-view.html template-passwordreset.html --no-hmr --public-url ./",
"watch-php": "cpx \"src/php/**/{*,.*}\" dist -v -w",
- "bundle": "parcel build index.html && cpx \"src/php/**/{*,.*}\" dist",
+ "bundle": "parcel build index.html template-view.html template-passwordreset.html && cpx \"src/php/**/{*,.*}\" dist",
"serve-frontend-only": "parcel index.html",
"clear": "npm run clear-dist && npm run clear-cache",
"clear-dist": "rimraf dist/*",
diff --git a/src/js/account/passwordReset.js b/src/js/account/passwordReset.js
index 3b5b730..2d7eb4c 100644
--- a/src/js/account/passwordReset.js
+++ b/src/js/account/passwordReset.js
@@ -25,10 +25,10 @@ export function renderForgotPasswordForm() {
}
function setupStartResetForm() {
- document.getElementById('forgotPasswordSubmit').addEventListener('click', sendPasswordReset);
+ document.getElementById('forgotPasswordSubmit').addEventListener('click', startPasswordReset);
}
-function sendPasswordReset() {
+function startPasswordReset() {
const email = document.getElementById('forgotPasswordEmailField').value.trim();
const errorMessageElement = document.getElementById('forgotPasswordErrorMessages');
let errorMessage = '';
@@ -56,4 +56,49 @@ function sendPasswordReset() {
}
});
}
-}
\ No newline at end of file
+}
+
+function setupPasswordResetForm() {
+ document.getElementById('newPasswordSubmit').addEventListener('click', submitPasswordReset);
+}
+
+function submitPasswordReset() {
+ const password = document.getElementById('newPassword').value;
+ const confirm = document.getElementById('newConfirm').value;
+ const account = document.getElementById('account').value;
+ const errorMessageElement = document.getElementById('newPasswordErrorMessages');
+ let errorMessage = '';
+
+ if (password === '') {
+ errorMessage += 'Please enter a password.
';
+ } else if (password !== confirm) {
+ errorMessage += 'The passwords do not match.
';
+ }
+
+ errorMessageElement.innerHTML = errorMessage;
+
+ if (errorMessage === '') {
+ request({
+ action: 'password-reset',
+ account,
+ password,
+ }, success => {
+ console.log(success);
+ }, error => {
+ errorMessage += '' + error + '
';
+ }).then(() => {
+ errorMessageElement.innerHTML = errorMessage;
+ if (errorMessage === '') {
+ document.getElementById('detailsPanel').innerHTML = `Your password has been reset
+ You can now Return to Lexiconga and log in using your new password.
`;
+ }
+ });
+ }
+}
+
+window.onload = (function (oldLoad) {
+ return function () {
+ oldLoad && oldLoad();
+ setupPasswordResetForm();
+ }
+})(window.onload);
\ No newline at end of file
diff --git a/src/php/api/User.php b/src/php/api/User.php
index 0f5857e..ad2ed94 100644
--- a/src/php/api/User.php
+++ b/src/php/api/User.php
@@ -284,7 +284,7 @@ VALUES (?, ?, ?, ?, ?)';
$to = $email;
$subject = "Here's your Lexiconga password reset link";
$message = "Hello " . $user_data['public_name'] . "\r\n\r\nSomeone has requested a password reset link for your Lexiconga account. If it was you, you can reset your password by going to the link below and entering a new password for yourself:\r\n";
- $message .= "http://lexicon.ga/passwordreset?account=" . $user_data['id'] . "&code=" . $reset_code_hash . "\r\n\r\n";
+ $message .= "https://lexicon.ga/passwordreset.php?account=" . $user_data['id'] . "&code=" . $reset_code_hash . "\r\n\r\n";
$message .= "If it wasn't you who requested the link, you can ignore this email since it was only sent to you, but you might want to consider changing your password when you have a chance.\r\n\r\n";
$message .= "The password link will only be valid for today until you use it.\r\n\r\n";
$message .= "Thanks!\r\nThe Lexiconga Admins";
@@ -326,12 +326,13 @@ VALUES (?, ?, ?, ?, ?)';
}
}
- public function resetPassword($password, $email) {
+ public function resetPassword($password, $id) {
+ $id = intval($id);
$password_hash = password_hash($password, PASSWORD_DEFAULT);
- $query = "UPDATE `users` SET `password`=?, `password_reset_date`='0000-00-00 00:00:00' WHERE `email`=?;";
+ $query = "UPDATE `users` SET `password`=?, `old_password`=null, `password_reset_code`=null WHERE `id`=?;";
return $this->db->execute($query, array(
$password_hash,
- $email,
+ $id,
));
}
diff --git a/src/php/api/index.php b/src/php/api/index.php
index f58d8b0..80d6e7a 100644
--- a/src/php/api/index.php
+++ b/src/php/api/index.php
@@ -445,9 +445,9 @@ switch ($action) {
), 400);
}
case 'password-reset': {
- if (isset($request['code']) && isset($request['password'])) {
+ if (isset($request['account']) && isset($request['password'])) {
$user = new User();
- $password_reset = $user->setPasswordReset($request['email']);
+ $password_reset = $user->resetPassword($request['password'], $request['account']);
if ($password_reset === true) {
return Response::json(array(
'data' => $password_reset,
diff --git a/src/php/passwordreset.php b/src/php/passwordreset.php
new file mode 100644
index 0000000..4317a7e
--- /dev/null
+++ b/src/php/passwordreset.php
@@ -0,0 +1,26 @@
+Sorry, this password reset link is not valid.';
+
+if (isset($_GET['account']) && isset($_GET['code'])) {
+ $user = new User();
+ if ($user->checkPasswordReset($_GET['account'], $_GET['code'])) {
+ $content = 'New Password
+
+
+ Confirm Password
+
+
+
+
+ Update Password ';
+ }
+}
+
+$html = str_replace('{{content}}', $content, $html);
+return Response::html($html);
diff --git a/src/structure.sql b/src/structure.sql
index bf722a3..41301a1 100644
--- a/src/structure.sql
+++ b/src/structure.sql
@@ -64,7 +64,7 @@ CREATE TABLE IF NOT EXISTS `users` (
`allow_email` tinyint(1) NOT NULL DEFAULT 1,
`last_login` int(11) DEFAULT NULL,
`password_reset_code` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
- `password_reset_date` int(11) DEFAULT NULL,
+ `password_reset_date` datetime DEFAULT NULL,
`created_on` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
diff --git a/template-passwordreset.html b/template-passwordreset.html
new file mode 100644
index 0000000..625f338
--- /dev/null
+++ b/template-passwordreset.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+ Password Reset | Lexiconga
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset your Password
+
+ {{content}}
+
+
+
+
+
+
+
\ No newline at end of file
From fa559afb8bb430d853cb303b867bf60427d75cb9 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 15:12:28 -0600
Subject: [PATCH 052/134] Fully update Help file
---
src/markdown/help.md | 221 ++++++++++++++++++++++++-------------------
1 file changed, 126 insertions(+), 95 deletions(-)
diff --git a/src/markdown/help.md b/src/markdown/help.md
index 96f6a27..b4d7c7e 100644
--- a/src/markdown/help.md
+++ b/src/markdown/help.md
@@ -1,50 +1,51 @@
# Lexiconga Help
## Table of Contents
-* [What is Lexiconga?](#what-is-lexiconga-dictionary-builder-)
-* [How do I use Lexiconga?](#how-do-i-use-lexiconga-)
+
+* [What is Lexiconga?](#what-is-lexiconga)
+* [How do I use Lexiconga?](#how-do-i-use-lexiconga)
* [Getting Started](#getting-started)
- * [Viewing your Dictionary's Details](#viewing-your-dictionary-s-details)
+ * [Viewing your Dictionary's Details](#viewing-your-dictionarys-details)
* [Referencing Other Words](#referencing-other-words)
* [Maximizing Large Text Boxes](#maximizing-large-text-boxes)
+ * [IPA Auto-Fill Fields](#ipa-auto-fill-fields)
* [Entry Management](#entry-management)
- * [Search/Filter](#search-filter)
- * [The Dictionary Settings Menu](#the-dictionary-settings-menu)
+ * [Search/Filter](#searchfilter)
+ * [The Settings Window](#the-settings-window)
+ * [The Dictionary Settings Window](#the-dictionary-settings-window)
* [Keyboard Shortcuts](#keyboard-shortcuts)
- * [Importing and Exporting](#importing-and-exporting)
* [Accounts](#accounts)
* [Creating An Account](#creating-an-account)
* [Logging In](#logging-in)
* [Differences](#differences)
- * [Account Settings](#account-settings)
- * [Dictionary Settings](#dictionary-settings)
+ * [Settings](#settings)
* [Public Dictionaries](#public-dictionaries)
- * [Forgot Your Password?](#forgot-your-password-)
+ * [Forgot Your Password?](#forgot-your-password)
* [Lockout](#lockout)
* [Problems or Requests](#problems-or-requests)
* [Update Log](#update-log)
-* [Future Plans](#future-plans)
+* [Open Source](#open-source)
* [Thanks](#thanks-)
-* [Libraries Used](#libraries-used)
## What is Lexiconga?
+
Lexiconga is a tool intended to help you build constructed language (conlang) dictionaries/lexicons.
-You can enter words and definitions, and they will appear nicely formatted and in alphabetical order by name under your dictionary's title, where you can also sort them by definition. If the default parts of speech are not adequate for your conlang, you can change them to whatever you might need. You can even enter a description and full set of language rules that you can toggle on and off below the dictionary's title!
+You can enter words and definitions, and they will appear nicely formatted and in alphabetical order by name under your dictionary's title and details. You can also set your dicitonary to display your words by definition if you prefer that view. If the default parts of speech are not adequate for your conlang, you can change them to whatever you might need. You can also enter a description and full set of language rules that you can toggle on and off below the dictionary's title!
-It accepts Unicode characters so you can utilize whatever typable characters you might need and [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) for formatting long text entries, and if you want to share or even just make a backup of your dictionary, you can export it to a single convenient file that can be easily re-imported. Your dictionary is saved to your browser's localStorage every time you make a change, which means as long as you use the same browser and don't deliberately delete it (by clearing your cache), your dictionary will always be there when you come back.
+Lexiconga accepts Unicode characters so you can utilize whatever typable characters you might need and [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) for formatting long text entries, and if you want to share or even just make a backup of your dictionary, you can export it to a single convenient file that can be easily re-imported. Your dictionary is saved to your browser's [localStorage](https://www.w3schools.com/html/html5_webstorage.asp) every time you make a change, which means as long as you use the same browser and don't deliberately delete it by clearing your cache, your dictionary will always be there when you come back.
-If you would like an added layer of accessibility and security (in case you clear your browser cache frequently), you can create an account, where you can store and switch between as many dictionaries as you need. Having an account will also allow you to access your dictionaries from any browser by logging in. (Just be careful you don't overwrite dictionaries by logging in and saving from separate locations!)
+If you would like an added layer of accessibility and security (in case you clear your browser cache frequently), you can create an account, where you can store and switch between as many dictionaries as you need. Having an account will also allow you to access your dictionaries from any browser by logging in.
## How do I use Lexiconga?
### Getting Started
-When you have a brand new, empty dictionary, the first thing you'll probably want to do is change the title to whatever your conlang is called and add at least a little description of what your language is like or how to use it. You can do this by clicking on the **Edit** button, which will open up the Dictionary Settings screen. Here, you will find all the fields you need to update your dictionary's Name, Specification, and Description. The Description text area uses [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to format any text you include, so brush up on how to do basic things in Markdown before you get started _(NOTE: a line break is done by adding 2 or more spaces to the end of the line and then going to the next line!)_.
+When you have a brand new, empty dictionary, the first thing you'll probably want to do is change the title to whatever your conlang is called and add at least a little description of what your language is like or how to use it. You can do this by clicking on the **Edit** button, which will open up the Dictionary Settings screen. Here, you will find all the fields you need to update your dictionary's Name, Specification, and Description. The Description text area uses [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to format any text you include, so brush up on how to do basic things in Markdown before you get started _(NOTE: a line break is created by adding 2 or more spaces to the end of the line and then going to the next line!)_.
After this, go to the **Details** tab and make sure that the Parts of Speech are adequate for your language _(see below for more information about this)_, and add phonology information if you'd like _(learning to use the [International Phonetic Alphabet](https://en.wikipedia.org/wiki/International_Phonetic_Alphabet) can be very helpful here)_. Update these fields how you want them and click the "Save" button to keep the Dictionary Settings menu open, or the "Save & Close" button to close the menu and start adding words!
To add words, use the form on the top left side of the window _(in mobile, click the **+** button to show the form)_. Hopefully the form is self-explanatory, but if not, here's a little guide:
-Enter the word in your language in the "Word" field, the pronunciation of the word in the "Pronunciation" field, choose a Part of Speech, enter an definition/equivalent word in the "Definition" field and/or a longer definition or fuller explanation of the word using [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) in the "Details" text area, and click "Add Word". Your word will instantly appear in your dictionary under the dictionary's name! You can add as many words as you want this way.
+Enter the word in your constructed language in the "Word" field, the pronunciation of the word in the "Pronunciation" field, choose a Part of Speech, enter an definition/equivalent word in the "Definition" field and/or a longer definition or fuller explanation of the word using [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) in the "Details" text area, and click "Add Word". Your word will instantly appear in your dictionary under the dictionary's name! You can add as many words as you want this way.
The only things to remember while adding new words is that the minimum information that you can enter is the Word itself and either the Definition OR the Details. You can have both of these or just one, but you need at least one. If you do not want to use the Pronunciation or Parts of Speech then you do not need to, though if you leave out Part of Speech, you will miss out on the handy Search Filter feature.
And that's all you need to get started! Everything else should be pretty self-explanatory, but a full explanation of Lexiconga and all of its functions continues below.
@@ -60,6 +61,14 @@ If you have more than one word with the same spelling, the duplicate words will
### Maximizing Large Text Boxes
If you need more space to see what you are entering into a word's Details field or any other long text field with a "Maximize" button, clicking "Maximize" will give you a larger view of the text box to enter text in. When you're done writing, click either the "Done" or × button or any of the darker space outside of the larger view, and your text will be in the original text area. It will even preserve your cursor position or highlighted text so you don't lose your place moving from the larger view back to the small (and vice-versa)!
+### IPA Auto-Fill Fields
+
+You may notice some buttons around the Pronunciation field in the main word form and some other fields in the Details tab of your Dictionary Settings menu. This indicates that the field is using a special feature that generates [International Phonetic Alphabet](https://en.wikipedia.org/wiki/International_Phonetic_Alphabet) (IPA) characters when typing certain combinations of characters. Click the "Field Help" button below the field for instructions on how to use those fields.
+
+You can also click the "IPA Table" button to display a maximized table that shows all of the characters in the IPA. Clicking them will add it to the pronunciation field wherever you position the cursor in the field. If you hover over the button for an IPA character that is not on a standard keyboard, you can what character combinations will produce that character when you type it in the field.
+
+If you do not want to use the IPA field feaure, you can turn it off in the Settings. Click the "Settings" button in the top right side of the website, uncheck "Use IPA Auto-Fill", and click "Save" or "Save & Close". The "IPA Table" and "Field Help" buttons will be removed from all fields they were around, and you can use those fields as normal.
+
### Entry Management
After adding some words to your dictionary, you'll see an "Options" button on each entry. Clicking the button reveals Edit and Delete buttons.
@@ -67,130 +76,152 @@ The **Edit** button will cause a form with the current details of the word you e
The **Delete** button will ask you to confirm that you want to delete the entry, and if you say yes, the word will be _permanently deleted and **cannot be retrieved**_.
+Note that to use these fields, your browser will need to allow "confirm" and "prompt" popups. Preventing these fuctions will prevent words from being edited or deleted.
+
### Search/Filter
-You can search entries or filter by part of speech by clicking the "Search/Filter Options" button to expand the search panel.
+You can search entries or filter by part of speech by clicking the "Search" button at the top of the screen. This will open a small panel that will stick to the top of your screen as you scroll.
From there, you can enter any text you want in the search box and either press Enter or click anywhere outside the search box, and Lexiconga will display any and every entry including your entry. To display the entire dictionary again, you must clear the search box.
-You can refine your search by using the checkboxes below the search box:
+You can refine your search by clicking the "Toggle Options" button and using the checkboxes below the search box. There are 3 sections that can help you filter your search:
-* **Word**: When checked, Lexiconga searches your dictionary's "Word" entries for the entered text. When unchecked, it ignores it.
-* **Definition**: When checked, Lexiconga searches your dictionary's "Definition/Equivalent Word(s)" entries for the entered text. When unchecked, it ignores it.
-* **Explanation**: When checked, Lexiconga searches your dictionary's "Explanation/Long Definition" entries for the entered text. When unchecked, it ignores it.
-* **Search Case-Sensitive**: When checked, Lexiconga finds entries matching the letter case in the entered text. When unchecked, it will find any case as long as the letters match.
-* **Ignore Diacritics/Accents**: When checked, Lexiconga will ignore accented letters and diacritics and identify them as their equivalent unaccented letter and vice-versa, in case you want to find a word with a diacritic without entering the diacritic in the search box. When unchecked, it will only find diacritics and accented letters if they are specifically entered in the search box.
+- **Search For**
+ - **Case-Sensitive:** When checked, Lexiconga finds entries matching the letter case in the entered text. When unchecked, it will find any case as long as the letters match.
+ - **Ignore Diacritics/Accents:** When checked, Lexiconga will ignore accented letters and diacritics and identify them as their equivalent unaccented letter and vice-versa, in case you want to find a word with a diacritic without entering the diacritic in the search box. When unchecked, it will only find diacritics and accented letters if they are specifically entered in the search box.
+ - **Exact Words:** When checked, the search term will find entries with _exact matches_ in only the Word or Definition field. If Word or Definition has _any_ text aside from exactly what was entered in the search bar, it will not be displayed.
+- **Include in Search**
+ - **Word**: When checked, Lexiconga searches your dictionary's "Word" entries for the entered text. When unchecked, it ignores it.
+ - **Definition**: When checked, Lexiconga searches your dictionary's "Definition/Equivalent Word(s)" entries for the entered text. When unchecked, it ignores it.
+ - **Explanation**: When checked, Lexiconga searches your dictionary's "Explanation/Long Definition" entries for the entered text. When unchecked, it ignores it.
+- **Include Only:** Lists all parts of speech and "Unclassified" with a checkbox next to each. If you uncheck any of the parts of speech, any entries in your dictionary with that part of speech will not be shown. Use the "Check All" and "Uncheck All" buttons to quickly select/unselect all of them.
+ - **Unclassified:** Checking this box will show entries that do not have a part of speech.
-The "Filter Words" drop-down box allows you to filter your dictionary by part of speech. To display the whole dictionary again after setting a filter, reset the filter option to "All".
+When you have a search term or filter applied, you can see the number of results and "(Filtered)" next to the search button. To close the search panel, click the × button or the darker space on either side of it.
-### The Dictionary Settings Menu
-While you were in the settings menu when you were getting started, you probably noticed the other tabs.
+To display _all_ of your words again, clear your search bar and ensure all the "Include Only" checkboxes are checked.
-The **Parts of Speech** field is where you can add custom parts of speech for your language if you need to! Just list your parts of speech in a comma-separated list the same way as the default parts of speech are listed, and your options in the word form and filters will update as soon as you save!
->_Please note that if you have other parts of speech added to existing words, those words will not update and will keep the old parts of speech. You will need to manually update any words with incorrect parts of speech after the fact, which is why I recommend you update the available parts of speech as one of the first things you do if you need to change them at all!_
+### The Settings Window
-The **Allow Duplicates** checkbox allows you to control whether or not Lexiconga will allow you to add the same word multiple times. If you leave Allow Duplicates unchecked and you try to add a word that is already in the dictionary, Lexiconga will tell you that the word already exists and will ask if you want to update it with the newly entered word.
+Clicking the "Settings" button in the top-right side of Lexiconga will show the Settings window with some options.
-The **Case-Sensitive** checkbox allows you to control Lexiconga's duplicate detection. If you leave Case-Sensitive unchecked, you will be alerted when you are trying to add a word with the same letters to your dictionary a second time. For example, "dog" is identified as the same word as "DOG" or "doG". The dictionary will keep whatever capitalization you save but it will identify words with the same spelling as duplicates. If Case-Sensitive is checked, then it will not identify "dog" and "DOG" as the same word.
-If Allow Duplicates is checked, this checkbox becomes unavailable.
+- **Use IPA Auto-Fill:** Check this to use character combinations to input International Phonetic Alphabet characters into Pronunciation fields. Use the "Field Help" button for instructions on how to use it and the "IPA Table" to display available characters. Uncheck it to disable the feature and hide the buttons.
+- **Use Hotkeys:** Check this to enable keyboard combinations to perform different helpful actions (see [Keyboard Shortcuts](#keyboard-shortcuts) below). Unchecking this disables the feature.
+ - Note: If your browser does not support required features, this will be disabled automatically.
+- **Default Theme:** Choose what color theme new dictionaries will use when they are created.
-The **Dictionary is Complete** checkbox will make the word add/edit form go away so you can view or share it more easily/safely. Plus when you export your dictionary, all of the options to change anything about your dictionary will be excluded when it is re-imported! Your dictionary will become static, and will not be able to be changed or updated without a password.
+After making changes, click the "Save" or "Save & Close" button to save your changes.
-The **Export...** and **Import...** buttons are discussed in the [Importing and Exporting](#importing-and-exporting) section below.
+### The Dictionary Settings Window
-The **Empty Current Dictionary** should only be used if you want to completely start over from scratch. It will ask you to confirm that you want to delete, and if you confirm, your dictionary will be gone forever. If you have not exported your dictionary before emptying it, there will be absolutely no way to get it back. Please be careful with this!
+Clicking the "Edit" button under your dictionary's name will display a window with tabs that each contain different fields and options.
+
+#### Description
+
+ - **Name:** Your dictionary's name. Displays above the entries.
+ - **Specification:** How your dictionary is referred to. For example, you can change this to something like "Word List" or "Lexicon" if you prefer. Displays above the entries after Name.
+ - **Description:** Any information you want to enter about your dictionary. Uses [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) formatting.
+
+#### Details
+
+ - **Parts of Speech:** The parts of speech available in the dropdown box on word forms. Separate each individual part of speech with a comma.
+ - **Alphabetical Order:** This feature has not been implemented yet.
+ - **Phonology**
+ - **Consonants:** The IPA characters representing the consonants present in your language. Uses the IPA Auto-Fill feature unless it is turned off. Separate each consonant with a _space_ so they will be displayed correctly under the Details section of your dictionary.
+ - **Vowels:** The IPA characters representing the vowels present in your language. Uses the IPA Auto-Fill feature unless it is turned off. Separate each vowel with a _space_ so they will be displayed correctly under the Details section of your dictionary.
+ - **Polyphthongs/Blends:** The IPA characters representing the polyphthongs or blends present in your language. Uses the IPA Auto-Fill feature unless it is turned off. Separate each one with a _space_ so they will be displayed correctly under the Details section of your dictionary.
+ - **Phonotactics**
+ - **Onset:** What phonological characters can appear at the beginning of a syllable. Separate each with a comma.
+ - **Nucleus:** What phonological characters can appear in the middle of a syllable. Separate each with a comma.
+ - **Coda:** What phonological characters can appear at the end of a syllable. Separate each with a comma.
+ - **Exceptions:** Any exceptions to the phonotactical rules laid out above. This is a Markdown-enable text area that you can use however you'd like.
+ - **Orthography**
+ - **Notes:** Any notes about your constructed language's writing system that you want to share. Uses Markdown.
+ - **Grammar**
+ - **Notes:** Any notes about your constructed language's grammar that you want to share. Uses Markdown.
+
+#### Settings
+ - **Prevent Duplicate Words:** Checking this box will prevent the creation of words with the exact same spelling.
+ - **Words are Case-Sensitive:** Only available when "Prevent Duplicate Words" is checked. Checking this box will allow the creation of words with the exact same spelling if their capitalization is different.
+ - **Sort by Definition:** Checking this box will sort the words in alphabetical order based on the Definition instead of the Word.
+ - **Theme:** Set the color theme for the current dictionary.
+ - **Make Public:** Only visible if logged in with a Lexiconga account. Checking this box will make your dictionary public via a link you can share with others. The link will appear below this checkbox after it is checked.
+
+#### Actions
+ - **Import JSON:** Choose a previously exported JSON file or older `.dict` file to import. If you are logged in, this will upload the dictionary to your account and display it. If you are not logged in, it will _replace_ your current dictionary with the imported one.
+ - Again, please note that if you are not logged in, this import process will _**permanently overwrite your current dictionary**_, so please be sure to export your dictionary _before_ you import a new one!
+ - **Import Words:** Choose a properly-formatted `.csv` file of words to add to your dictionary. This will add all of the words from the file to your current dictionary _even if the list includes duplicate words_. Use the "Download an example file with the correct formatting" link below this field to save a file that you can open with any program that processes CSVs like Microsoft Excel or some other spreadsheet program.
+ - Please note that when importing words, you must make sure that the parts of speech specified in the parts of speech column are written _exactly as they are in your dictionary settings_ (capitalized, spelled correctly, or any other details). If they are not the same, then you will not be able to use the filters to find the words! So if you import a word with the part of speech set to "adj" or "adjective", but the part of speech in your dictionary's settings is "Adjective", then you will not be able to find the word using the filters!
+ - If you import a word _without_ a part of speech, you _can_ use the filter's "Blanks" option to find any words with empty parts of speech to help you clean up after the import.
+ - **Export JSON:** Start a download of a file with your dictionary's name in a `.json` format. _Please note that this may not work as expected on mobile platforms._ This export can be a personal backup for your own uses, to work on multiple dictionaries at a time (i.e. export one dictionary and import the other to work on the one you'd like), or you can share it with friends to view it. The file contains your whole dictionary in a JSON format and is mainly only useful for importing back into Lexiconga.
+ - **Export Words:** Start a download of all of the words in the currently loaded dictionary into a convenient CSV file format that you can use to re-import into another Lexiconga dictionary or otherwise use as you need it! All of the data is wrapped in double quotes (`"`) to comply with standard CSV format.
+ - **Delete Dictionary:** Clicking this button will confirm that you want to delete your dictionary. If you confirm, it will permanently destroy your dictionary and all of its data. If you are logged in, this also removes the dictionary from your account.
+
+After making any changes, be sure to click "Save" or "Save & Close" to ensure that your changes are saved!
### Keyboard Shortcuts
-**Esc** : Exits a window (i.e. Dictionary Settings, Account Settings, this about page, etc.) without saving.
+**Esc** : Closes any open window (i.e. Dictionary Settings, Settings, this help page, etc.) without saving.
**Ctrl/Control +**
-* **Enter/Return** : Submit Word (when typing in Word or Edit Form)
-* **D** : Toggle Dictionary Description visibility.
-* **H** : Open this help window.
-* **M** : Maximize/Minimize Full Screen textbox when typing in the boxes that have the Maximize button.
-* **S** : Jump to Search box.
-* **U** : Toggle Word Form lock.
-
-**Alt/Option +**
-
-* **A** : Toggle Account Settings window (if logged in).
-* **S** : Toggle Dicitonary Settings window. Saves & Closes if it's already open.
-
-### Importing and Exporting
-In the Settings screen, you may notice the buttons labeled "**Export...**" and "**Import...**". If you click on either of these, the respective Export and Import page will appear.
-
-#### Exporting
-Clicking the **"Export Words"** button will start a download of all of the words in the currently loaded dictionary into a convenient CSV file format that you can use to re-import into another Lexiconga dictionary or otherwise use as you need it! All of the data is wrapped in double quotes (`"`) to comply with standard CSV format.
-
-Clicking the **"Export Dictionary"** button will start a download of a file with your dictionary's name in a ".dict" format. _Please note that this may not work as expected on mobile platforms._ This export can be a personal backup for your own uses, to work on multiple dictionaries at a time (i.e. export one dictionary and import the other to work on the one you'd like), or you can share it with friends to view it. The .dict file contains your whole dictionary in a JSON format, and is mainly only useful for importing back into Lexiconga.
-
-#### Importing
-Clicking the **"Import Words"** button after choosing a file allows you to import a correctly-formatted CSV list of words into your currently loaded dictionary. This can either be a previously-exported list of words from another Lexiconga dictionary or a list created in Excel with the correct column headers that has been saved as a CSV file. You can download a CSV file as a template from the Import page as an example to help you format and save your Excel lists properly.
-
-Please note that when importing words, you must make sure that the parts of speech specified in the parts of speech column are written _exactly as they are in your dictionary settings_ (capitalized, spelled correctly, or any other details). If they are not the same, then you will not be able to use the filters to find the words! So if you import a word with the part of speech set to "adj" or "adjective", but the part of speech in your dictionary's settings is "Adjective", then you will not be able to find the word using the filters!
-
-If you import a word _without_ a part of speech, you _can_ use the filter's "Blanks" option to find any words with empty parts of speech to help you clean up after the import.
-
-Clicking the **"Import Dictionary"** button after choosing a file allows you to upload and view any previously-exported ".dict" files. After selecting your ".dict" file, click the "Import Dictionary" button to _overwrite your current dictionary_ and view the imported one. Again, please note that if you are not logged in, this import process will _**permanently overwrite your current dictionary**_, so please be sure to export your dictionary _before_ you import a new one!
+- **Enter/Return:** Submit Word (when typing in Word or Edit Form) _OR_ Save & Close the Settings or Dictionary Settings window.
+- **D:** Cycle through dictionary description, details, and stats.
+- **E:** Open the Dictionary Settings window.
+- **H:** Open this help window.
+- **M:** Maximize/Minimize Full Screen textbox when typing in the boxes that have the Maximize button.
+- **S:** Open the Search panel.
+- **Shift + S:** Open the Settings window.
+- **X:** Clear the Search box.
## Accounts
-If you are using an account with Lexiconga, your experience should remain essentially the same, but you will see some additional options in the Settings menu and you might notice some slight changes in performance as it saves to and loads from the database.
+If you are using an account with Lexiconga, your experience should remain essentially the same, but you will see some additional options in the Settings menu and you might notice some slight changes in performance as it saves to and loads from the database. This saving/loading process prioritizes your local dictionary, so if you ever lose connection, it will keep retrying the upload until connection is re-established. It also attempts to sync every time you load Lexiconga, so please be aware of that if you refresh the page.
### Creating An Account
-The first time you create an account, you will need to enter your email address and a password (for logging in) in addition to a "Public Name". Your Public Name will be more important when we add dictionary sharing later, but for now, it is important in that it helps indicate whether or not you are logged in (see below). If you have a dictionary loaded in your browser, it will be automatically uploaded to your account and saved after it is created.
+The first time you create an account, you will need to enter your email address and a password (for logging in) in addition to a "Public Name". Your Public Name will display whenever you log in and will display under your dictionary's name if you make your dictionary public and share it (see below). If you have a dictionary loaded in your browser, it will be automatically uploaded to your account and saved after it is created.
### Logging In
-To log in after creating an account, just click the "Log In/Create Account" button and enter your email address and password under the "Log In" form, just like any other account online. You will know that you are logged in from the "Welcome back!" notification at the top of the screen when you load the page. You can also know that you're logged in if you see a "Log Out" button instead of "Log In/Create Account" in the top right corner of the screen.
+To log in after creating an account, just click the "Log In/Create Account" button and enter your email address and password under the "Log In" section, just like any other account online. You will know that you are logged in from the "Welcome back!" notification at the bottom of the screen when you load the page. You can also know that you're logged in if you see a "Log Out" button instead of "Log In/Create Account" in the top right corner of the screen.
+
+Logging in creates a cookie in your browser that Lexiconga uses to know that you are logged in and verify your account. That means that if your browser prevents cookies, you cannot use a Lexiconga account's features.
### Differences
-Every time you save a change to your dictionary's settings or add, edit, or delete a word, the changes are automatically saved to both your browser's localStorage in addition to being sent to your account. If you're paranoid that your changes are not being saved, you can check your browser's console log to see the little save and update notifications.
+Every time you save a change to your dictionary's settings or add, edit, or delete a word, the changes are automatically saved to both your browser's localStorage in addition to being sent to your account. Little confirmation messages will appear in the bottom right side of the screen after every change you make to confirm that things are saved correctly.
-#### Account Settings
-After logging in, you'll see an "Account Settings" button in the top, right side of the Lexiconga window. Clicking this will allow you to change a few settings about your account:
+#### Settings
+After logging in, you'll see some additional options in the "Settings" window under new "Account Settings" and "Account Actions" sections.
-The **Email** field allows you to specify a different login and contact email address. Make sure that you do not forget what you chose, because there is no way to retrieve your email address if you change it to something you forget!
+##### Account Settings
-The **Public Name** field allows you to change your public name.
+- **Email:** Allows you to specify a different login and contact email address. Make sure that you do not forget what you chose, because there is no way to retrieve your email address if you change it to something you forget!
+- **Public Name:** Allows you to change your public name.
+- **Allow Emails:** Check this box if you would like to receive emails about important Lexiconga updates. Make sure that you allow emails from addresses at lexicon.ga or check your spam folder just in case. Note that this checkbox does not affect password reset requests—if you forget your password, Lexiconga will send you a password reset email regardless of your choice here.
+- **New Password:** Enter a new password in this field _only if you want to change it_! Leave this field blank to prevent your password from changing.
-The **Allow Emails** checkbox allows you to choose if you would like to receive emails about important Lexiconga updates. Make sure that you allow emails from addresses at lexicon.ga or check your spam folder just in case. Note that this checkbox does not affect password reset requests—if you forget your password, Lexiconga will send you a password reset email regardless of your choice here.
+If you change any of the options above, be sure you click the "Save" or "Save & Close" button.
-If you change any of the three options above, be sure you click the "Save Settings" button.
+##### Account Actions
-The "Reset Password" button in the "Reset Your Password" section will allow you to reset your login password. Don't forget it!
-
-#### Dictionary Settings
-Under the Settings menu, you'll see some additional options:
-
-The **Dictionary is Public** checkbox determines whether or not the current dictionary can be viewed by anyone online using the Public Link that appears when checked. Public dictionaries are explained more below.
-
-The **Change Dicitonaries** dropdown box contains the names of all of your created dictionaries. If you have more than one, selecting a different dictionary from the list will immediately download and display that dictionary.
-
-The **Create New Dictionary** button will instantly create and save a new blank dictionary to your account.
-
-The **Import Dictionary** button acts the same as before, but instead of overwriting your dictionary, it imports the dictionary as a new, separate dictionary and saves it to your account. After importing, the imported dictionary will display, and you can use the Change Dictionaries dropdown box to change to a previous one if you desire.
-
-The **Delete Current Dictionary** button will permanently and irretrievably delete the currently loaded dictionary from your account! Be careful with that one. After deleting, you will then be prompted to either select another dictionary to load or create a new one, _or_ if you have no other dictionaries, immediately create a new one for you.
+- **Change Dictionary:** Shows all dictionaries created on your account. Choose a different one from the drop-down box to instantly load and display that dictionary.
+- **Create New Dictionary:** Clicking this button will create a new dictionary on your account and display the new empty dictionary to you.
#### Public Dictionaries
-When a dictionary is marked as public, you can share its public link and allow anyone to view its contents without being able to make changes. The dictionary's description and the search/filter area is visible by default, and the viewer can scroll through or search your dictionary without being able to make changes. Public dictionaries also have the ability to share specific word entries using the "➦" buttons in each word box. When viewing a word, the search/filter options are not available, but anyone can still read the dictionary's description.
+When a dictionary is marked as public, you can share its public link and allow anyone to view and search its contents without being able to make changes. Public dictionaries also have the ability to share specific word entries using the "➦" buttons in each word box. When viewing a word, anyone can still read the dictionary's description and details.
-To log in or create an account when viewing a dictionary, you need to go back to the main Lexiconga page. You can get there by clicking either the logo or the "Go Home" button. Or, if you are the owner of the dictionary and are currently logged in, the "Go Home" button will be replaced with an "Edit Dictionary" button, and you can click that to change your current dictionary adn start editing it.
+To log in or create an account when viewing a dictionary, you need to go back to the main Lexiconga page. You can get there by clicking the Lexiconga logo.
### Forgot Your Password?
-If you forget your password, you can request a password reset email by clicking the "Forgot Password" button on the "Log In/Create Account" button entering the email address associated with your account and clicking "Email Password Reset Key". This will send an email (_check your spam_) with a link that will allow you to reset your password. When you go to the link provided, you'll be able to enter a new password that you can log in with.
+If you forget your password, you can request a password reset email by clicking the "Forgot Password" button in the "Log In/Create Account" window, entering the email address associated with your account, and clicking "Email Password Reset Key". This will send an email (_check your spam_) with a link that will allow you to reset your password. When you go to the link provided, you'll be able to enter a new password that you can log in with.
### Lockout
-If you manage to enter your password wrong 10 times, you'll be locked out from logging in for an hour. Use this time to try to remember your password or something. You can get an idea of how long you've waited by refreshing the page and clicking the unfortunate "Can't Login" button. After an hour has passed, refresh the page again and you'll get another 10 tries.
+If you manage to enter your password wrong 10 times, you'll be locked out from logging in for 1 hour. Use this time to try to remember your password or something. You can get an idea of how long you've waited by trying to log in again. After an hour has passed, refresh the page again and you'll get another 10 tries.
## Problems or Requests
-Please report any problems you come across to the [Lexiconga Issues page](https://lexicon.ga/issues). You can also submit enhancement requests to the same place if you have any requests for new features.
+Please report any problems you come across to the [Lexiconga Issues page](https://github.com/Alamantus/Lexiconga/issues). You can also submit enhancement requests to the same place if you have any requests for new features.
## Update Log
-You can see all previous updates to Lexiconga here:
-[https://lexicon.ga/updates](https://lexicon.ga/updates)
+You can see all previous updates to Lexiconga on the [Lexiconga Releases page]](https://github.com/Alamantus/Lexiconga/releases).
## Open Source
-The free features of Lexiconga are fully open-source and can be found here: https://cybre.tech/Alamantus/lexiconga-lite
+Lexiconga's source code is fully open and readable on Github here: https://github.com/Alamantus/Lexiconga
## Thanks!
If you like Lexiconga and want to buy me a cup of coffee for the service, you can use **[Buy Me A Coffee](https://buymeacoff.ee/robbieantenesse)** to help keep it online if you want.
From 881cd9cb2e9ebae8713611596f106c081c643fba Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 15:37:14 -0600
Subject: [PATCH 053/134] Update Terms and Privacy
---
src/markdown/privacy.md | 12 ++++++------
src/markdown/terms.md | 6 +++---
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/markdown/privacy.md b/src/markdown/privacy.md
index c3f0961..6a39663 100644
--- a/src/markdown/privacy.md
+++ b/src/markdown/privacy.md
@@ -1,6 +1,6 @@
## Privacy Policy
-This document was last updated on May 16, 2018 to update contact information and add transparency to our hosting service and how your data is used (i.e. to display your dicitonaries and sometimes send you emails if you agree to receive them).
+This document was last updated on June 5, 2019 to update information about our hosting service and how your data is used (i.e. to display your dicitonaries and sometimes send you emails if you agree to receive them) and to reflect changes to Lexiconga made during the app update.
This Privacy Policy governs the manner in which Lexiconga collects, uses, maintains and discloses information collected from users (each, a "User") of the https://lexicon.ga website ("Site") and its accounts ("Account").
@@ -11,17 +11,17 @@ We may collect personal identification information from Users in a variety of wa
We may collect non-personal identification information about Users whenever they interact with our Site through website analytics tools. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection to our Site, such as the operating system and the Internet service providers utilized and other similar information.
### Web browser cookies
-Our Site does not use "cookies" to enhance User experience, but it does use "local storage". User's web browser places local storage on their hard drive for record-keeping purposes and sometimes to track information about them, but we only use this to store your current dictionary. User may choose to set their web browser to refuse local storage usage, but if they do so, the Site will not function properly.
+Our Site stores exactly one "cookie" that is used to keep Users logged in to their Accounts, and it does use "local storage". User's web browser places local storage on their hard drive for record-keeping purposes and sometimes to track information about them, but we only use this to store your current dictionary. User may choose to set their web browser to refuse local storage usage, but if they do so, the Site will not function properly.
### How we use collected information
Lexiconga may collect and use Users personal information for the following purposes:
-- **To run and operate our Site and personalize user experience:** We need your input to display content on the Site correctly, because it is a tool built entirely to display the content that you enter.
+- **To run and operate our Site and personalize User experience:** We need your input to display content on the Site correctly, because it is a tool built entirely to display the content that you enter.
We do not use your data in _any way_ other than to serve your content or to send the occasional update email—you may opt out of receiving emails at any time via your Account Settings! Your email address is tied directly to your account, however, so altering it _will change your login credentials_.
### How we protect your information
-If you are utilizing an Account, we protect your information by keeping your information on a trusted database server provided by the Site's web host, [InfinityFree](https://infinityfree.net/). All data you save from an Account is uploaded to this database server from your browser. If we ever change web hosts, you will be notified via the on-site notification.
+If you are utilizing an Account, we protect your information by keeping your information on a trusted database server provided by the Site's web host, [Namecheap](https://namecheap.com/). All data you save from an Account is uploaded to this database server from your browser. If we ever change web hosts, you will be notified via the on-site notification.
If you utilize the ability to make dictionaries associated with an Account visible to the public, you accept all responsibility for its content being visible to anyone who might find it. We cannot protect what you willingly put in public, and we do not accept liability if information you place online is used against you somehow. Never put personal information online!
@@ -34,10 +34,10 @@ We do not sell, trade, or rent Users personal identification information to othe
If User decides to opt-in to our mailing list, they will receive emails that may include company news, updates, related product or service information, etc. We may use third party service providers like MailChimp to help us operate our business and the Site or administer activities on our behalf, such as sending out newsletters or surveys. We may share your information with these third parties for those limited purposes provided that you have given us your permission.
### Third party websites
-Users may find advertising or other content on our Site that link to the sites and services of our partners, suppliers, advertisers, sponsors, licencors and other third parties. We do not control the content or links that appear on these sites and are not responsible for the practices employed by websites linked to or from our Site. In addition, these sites or services, including their content and links, may be constantly changing. These sites and services may have their own privacy policies and customer service policies. Browsing and interaction on any other website, including websites which have a link to our Site, is subject to that website's own terms and policies.
+Users may find advertising or other content on our Site that link to the sites and services of our partners, suppliers, advertisers, sponsors, licencors and other third parties. While we manually curate what links we allow in our advertisements, we do not control the content that appears on these sites and are not responsible for the practices employed by websites linked to or from our Site. In addition, these sites or services, including their content and links, may be constantly changing. These sites and services may have their own privacy policies and customer service policies. Browsing and interaction on any other website, including websites which have a link to our Site, is subject to that website's own terms and policies.
### Advertising
-Ads appearing on our site may be delivered to Users by advertising partners, who may set cookies. These cookies allow the ad server to recognize your computer each time they send you an online advertisement to compile non personal identification information about you or others who use your computer. This information allows ad networks to, among other things, deliver targeted advertisements that they believe will be of most interest to you. This privacy policy does not cover the use of cookies by any advertisers.
+Ads appearing on our site are manually chosen to by the Lexiconga's administrator, only appear as text, and never set cookies. You can see all active advertisements at any time in the [source code on Github](https://github.com/Alamantus/Lexiconga/blob/master/ads.json).
### Changes to this privacy policy
Lexiconga has the discretion to update this privacy policy at any time. When we do, we will post a notification on the main page of our Site. We encourage Users to frequently check this page for any changes to stay informed about how we are helping to protect the personal information we collect. You acknowledge and agree that it is your responsibility to review this privacy policy periodically and become aware of modifications.
diff --git a/src/markdown/terms.md b/src/markdown/terms.md
index 5afba6c..7e7f92d 100644
--- a/src/markdown/terms.md
+++ b/src/markdown/terms.md
@@ -1,8 +1,8 @@
## Terms of Service ("Terms")
-Last updated: May 16, 2018 — Update to contact information.
+Last updated: June 5, 2019 — Minor text fixes and link additions.
-Please read these Terms of Service ("Terms", "Terms of Service") carefully before using the https://lexicon.ga website (the "Service") or the cloud account service (an "Account") operated by Robbie Antenesse and Alamantus GameDev ("us", "we", or "our").
+Please read these Terms of Service ("Terms", "Terms of Service") carefully before using the https://lexicon.ga website (the "Service") or the cloud account service (an "Account") operated by [Robbie Antenesse](https://robbie.antenesse.net) and [Alamantus GameDev](https://alamantus.com) ("us", "we", or "our").
Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service. By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service.
@@ -14,7 +14,7 @@ If you stop using our Service, your data will remain unless you request its remo
Instructions for use are visible through the "Help" button on the site.
### Public Dictionaries
-Any dictionaries created and associated with an Account are private by default and only visible to the owner of the Account. You may make your dictionaries visible to the public at any time by utilizing the appropriate dictionarys setting.
+Any dictionaries created and associated with an Account are private by default and only visible to the owner of the Account. You may make your dictionaries visible to the public at any time by utilizing the appropriate dictionary setting.
If you utilize the ability to make dictionaries associated with an Account visible to the public, you accept all responsibility for any and all damages that may come as a result of the information you place online and acknowledge that we are not liable in any way. Do not put any personal information online. We cannot protect what you deliberately make publicly visible.
From 64903fc544e4e64e795d42ae726a638ae91f520d Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 17:28:49 -0600
Subject: [PATCH 054/134] Fix settings not existing before being used
---
src/index.js | 2 +-
src/js/settings.js | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/index.js b/src/index.js
index d7800aa..5e7abfa 100644
--- a/src/index.js
+++ b/src/index.js
@@ -6,8 +6,8 @@ import { loadSettings } from './js/settings';
import { setupAds } from './js/ads';
function initialize() {
- loadDictionary();
loadSettings();
+ loadDictionary();
setupListeners();
if (hasToken()) {
diff --git a/src/js/settings.js b/src/js/settings.js
index f40d19a..cc1b07d 100644
--- a/src/js/settings.js
+++ b/src/js/settings.js
@@ -8,7 +8,7 @@ import { enableHotKeys, disableHotKeys } from "./hotkeys";
export function loadSettings() {
const storedSettings = window.localStorage.getItem(SETTINGS_KEY);
window.settings = storedSettings ? JSON.parse(storedSettings) : cloneObject(DEFAULT_SETTINGS);
- toggleIPAPronunciationFields();
+ toggleIPAPronunciationFields(false);
}
export function saveSettings() {
@@ -67,7 +67,7 @@ export function toggleHotkeysEnabled() {
}
}
-export function toggleIPAPronunciationFields() {
+export function toggleIPAPronunciationFields(render = true) {
const ipaButtons = document.querySelectorAll('.ipa-table-button, .ipa-field-help-button'),
ipaFields = document.querySelectorAll('.ipa-field');
if (!window.settings.useIPAPronunciationField) {
@@ -85,5 +85,7 @@ export function toggleIPAPronunciationFields() {
field.addEventListener('keypress', usePhondueDigraphs);
});
}
- renderWords();
+ if (render) {
+ renderWords();
+ }
}
From 7cdf43f2e598de6c1a4bb64e06febcbf14bdfcf0 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 17:29:16 -0600
Subject: [PATCH 055/134] Prevent Parcel from removing ids from SVGs
---
.htmlnanorc | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 .htmlnanorc
diff --git a/.htmlnanorc b/.htmlnanorc
new file mode 100644
index 0000000..1cd7d9b
--- /dev/null
+++ b/.htmlnanorc
@@ -0,0 +1,3 @@
+{
+ "minifySvg": false
+}
\ No newline at end of file
From cbcc7ecfd405c07696d331a2337846db54749e3f Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Wed, 5 Jun 2019 17:34:56 -0600
Subject: [PATCH 056/134] Add UpUp for offline mode; Update Readme for UpUp
---
README.md | 8 +-
index.html | 29 ++++
offline.html | 373 ++++++++++++++++++++++++++++++++++++++++++++
package.json | 10 +-
src/index.js | 6 +-
src/js/utilities.js | 2 +-
yarn.lock | 5 +
7 files changed, 426 insertions(+), 7 deletions(-)
create mode 100644 offline.html
diff --git a/README.md b/README.md
index f9035f3..6c265c5 100644
--- a/README.md
+++ b/README.md
@@ -24,4 +24,10 @@ It's less useful, but `npm run serve-frontend-only` will bundle and serve _only_
## Production
-`npm run bundle` bundles and minifies the frontend stuff and also copies the backend stuff to `dist`. Be sure to run `npm run clear` to delete the contents of `dist` and `.cache` before using `npm run bundle` to make sure you don't get old dev versions of the bundled code included in your upload.
\ No newline at end of file
+`npm run bundle` bundles and minifies the frontend stuff and also copies the backend stuff to `dist`. Be sure to run `npm run clear` to delete the contents of `dist` and `.cache` before using `npm run bundle` to make sure you don't get old dev versions of the bundled code included in your upload.
+
+## UpUp Configuration
+
+[UpUp](https://github.com/TalAter/UpUp) is a tool that enables browsers to download an offline version of a website so users can still access it if they lose internet connection. Because Parcel Bundler hashes every file accessed via reference within the code, you need to ensure that the UpUp configuration at the bottom of `index.html` is kept up to date whenever you make changes to files. Typically the only file hashes that will change are `src.*.js` and `main.*.css`, but it's best to check all of them just to make sure.
+
+After bundling, update the files referenced in the configuration to make sure UpUp can download the files correctly, then bundle again so `dist/index.html` gets updated. I'm desperately hoping I can find a way to automate this in the build process, but I haven't figured it out just yet. Maybe I'll end up using `router.php` and `.htaccess` to do the heavy lifting for me. We'll see.
\ No newline at end of file
diff --git a/index.html b/index.html
index 03d33cb..2256c92 100644
--- a/index.html
+++ b/index.html
@@ -368,5 +368,34 @@
+
+
+
\ No newline at end of file
diff --git a/offline.html b/offline.html
new file mode 100644
index 0000000..32e9966
--- /dev/null
+++ b/offline.html
@@ -0,0 +1,373 @@
+
+
+
+
+
+
+ Lexiconga (OFFLINE)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dictionary Name
+
+
+ Description Details Stats Edit
+
+
+
+ The dictionary details
+
+
+
+
+
+
+
+
+
+ Please Wait...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
×︎
+
+
+
+
General Settings
+
Use IPA Auto-Fill
+
+ Check this to use character combinations to input International Phonetic Alphabet characters into
+ Pronunciation fields.
+
+
+
Use Hotkeys
+
+ Check this to enable keyboard combinations to perform different helpful actions.
+
+
+
Default Theme (the theme new dictionaries will use)
+
+ Default
+ Dark
+ Light
+ Blue
+ Green
+ Yellow
+ Red
+ Royal
+ Mint
+ Grape
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
×︎
+
+
+ Description Details Settings Actions
+
+
+
+
+
+
+
+
+
+ Import / Export
+
+
+
+
+ Export JSON
+ Export your work as a JSON
file to re-import later.
+
+
+ Export Words
+ Export a CSV file of your words.
+
+
+
+
+ Delete Dictionary
+ This will permanently delete your current dictionary, and it will not be possible to return it if you have not backed it up!
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package.json b/package.json
index d3929a8..350ed70 100644
--- a/package.json
+++ b/package.json
@@ -7,10 +7,11 @@
"author": "Robbie Antenesse ",
"license": "UNLICENCED",
"scripts": {
- "start": "concurrently \"npm run watch-js\" \"npm run watch-php\"",
- "watch-js": "parcel watch index.html template-view.html template-passwordreset.html --no-hmr --public-url ./",
+ "start": "concurrently \"npm run watch-js\" \"npm run watch-php\" \"npm run copy-files\"",
+ "watch-js": "parcel watch index.html offline.html template-view.html template-passwordreset.html --no-hmr --public-url ./",
"watch-php": "cpx \"src/php/**/{*,.*}\" dist -v -w",
- "bundle": "parcel build index.html template-view.html template-passwordreset.html && cpx \"src/php/**/{*,.*}\" dist",
+ "copy-files": "cpx \"node_modules/upup/dist/upup.sw.min.js\" dist -v",
+ "bundle": "parcel build index.html offline.html template-view.html template-passwordreset.html && npm run copy-files && cpx \"src/php/**/{*,.*}\" dist",
"serve-frontend-only": "parcel index.html",
"clear": "npm run clear-dist && npm run clear-cache",
"clear-dist": "rimraf dist/*",
@@ -27,6 +28,7 @@
"dependencies": {
"marked": "^0.6.2",
"normalize.css": "^8.0.1",
- "papaparse": "^4.6.3"
+ "papaparse": "^4.6.3",
+ "upup": "^1.1.0"
}
}
diff --git a/src/index.js b/src/index.js
index 5e7abfa..48f5350 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,11 +1,15 @@
import setupListeners from './js/setupListeners';
import { renderAll } from './js/render';
-import { hasToken } from './js/utilities';
+import { hasToken, addMessage } from './js/utilities';
import { loadDictionary } from './js/dictionaryManagement';
import { loadSettings } from './js/settings';
import { setupAds } from './js/ads';
function initialize() {
+ if (window.isOffline) {
+ addMessage('You are using the Offline version of Lexiconga. Refresh the page while connected to the internet to enable using accounts.', 0);
+ }
+
loadSettings();
loadDictionary();
setupListeners();
diff --git a/src/js/utilities.js b/src/js/utilities.js
index 3e2444a..02e9185 100644
--- a/src/js/utilities.js
+++ b/src/js/utilities.js
@@ -192,5 +192,5 @@ export function hideAllModals() {
}
export function hasToken() {
- return getCookie('token') !== '';
+ return window.isOffline !== true && getCookie('token') !== '';
}
diff --git a/yarn.lock b/yarn.lock
index d31ca97..de088c2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5683,6 +5683,11 @@ upath@^1.1.1:
resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068"
integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==
+upup@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/upup/-/upup-1.1.0.tgz#2accfeaecb0e1149e0d4f70173557c27288d3920"
+ integrity sha512-0CbaWVFX3mg7mkTtvg06g6bW9sijnSKKQptZdUZiHjAyvlpQWBxo+QoafVnaoQB0AlSCiYp3c8MUIYM+Jdf/Cw==
+
uri-js@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
From c0909343f61be4a8d6ea457734b3ae7dcf32e89a Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 6 Jun 2019 11:03:00 -0600
Subject: [PATCH 057/134] Shrink view js by splitting out only what is needed
---
src/js/view/dictionaryManagement.js | 12 ---
src/js/view/index.js | 12 +--
src/js/view/render.js | 14 ++-
src/js/view/search.js | 145 ++++++++++++++++++++++++++++
src/js/view/setupListeners.js | 2 +-
src/js/view/utilities.js | 102 +++++++++++++++++++
src/js/view/wordManagement.js | 44 +++++++++
7 files changed, 303 insertions(+), 28 deletions(-)
delete mode 100644 src/js/view/dictionaryManagement.js
create mode 100644 src/js/view/search.js
create mode 100644 src/js/view/utilities.js
create mode 100644 src/js/view/wordManagement.js
diff --git a/src/js/view/dictionaryManagement.js b/src/js/view/dictionaryManagement.js
deleted file mode 100644
index eb5f3fb..0000000
--- a/src/js/view/dictionaryManagement.js
+++ /dev/null
@@ -1,12 +0,0 @@
-export function getDictionary() {
- const url = window.location.href.replace(/\#.*$/gi, '');
- console.log(url);
- let dict = url.substr(url.lastIndexOf('?'));
- console.log(dict);
- if (dict === url) {
- dict = dict.substr(dict.lastIndexOf('/'));
- console.log(dict);
- }
- dict = dict.replace(/[\?\/]/g, '');
- console.log(dict);
-}
\ No newline at end of file
diff --git a/src/js/view/index.js b/src/js/view/index.js
index 4cacb87..b588b6f 100644
--- a/src/js/view/index.js
+++ b/src/js/view/index.js
@@ -2,20 +2,12 @@ import { renderAll } from './render';
import setupListeners from './setupListeners';
import { setupAds } from '../ads';
-// import setupListeners, { setupSearchFilters } from './js/setupListeners';
-// import { renderAll } from './js/render';
-// import { hasToken } from './js/utilities';
-// import { loadDictionary } from './js/dictionaryManagement';
-// import { loadSettings } from './js/settings';
-
function initialize() {
setupAds().then(() => renderAll());
setupListeners();
}
window.onload = (function (oldLoad) {
- return function () {
- oldLoad && oldLoad();
- initialize();
- }
+ oldLoad && oldLoad();
+ initialize();
})(window.onload);
\ No newline at end of file
diff --git a/src/js/view/render.js b/src/js/view/render.js
index 3dcbabc..8e5cb46 100644
--- a/src/js/view/render.js
+++ b/src/js/view/render.js
@@ -1,11 +1,10 @@
import md from 'marked';
import { removeTags, slugify } from '../../helpers';
-import { getWordsStats, wordExists } from '../utilities';
-import { getMatchingSearchWords, highlightSearchTerm, getSearchFilters, getSearchTerm } from '../search';
-import { showSection } from '../displayToggles';
+import { getWordsStats } from './utilities';
+import { getMatchingSearchWords, highlightSearchTerm, getSearchFilters, getSearchTerm } from './search';
+import { showSection } from './displayToggles';
import { setupSearchFilters, setupInfoModal } from './setupListeners';
-import { parseReferences } from '../wordManagement';
-import { renderTheme } from '../render';
+import { parseReferences } from './wordManagement';
import { renderAd } from '../ads';
export function renderAll() {
@@ -15,6 +14,11 @@ export function renderAll() {
renderWords();
}
+export function renderTheme() {
+ const { theme } = window.currentDictionary.settings;
+ document.body.id = theme + 'Theme';
+}
+
export function renderDictionaryDetails() {
renderName();
diff --git a/src/js/view/search.js b/src/js/view/search.js
new file mode 100644
index 0000000..42f76b8
--- /dev/null
+++ b/src/js/view/search.js
@@ -0,0 +1,145 @@
+import { cloneObject, getIndicesOf } from "../../helpers";
+import removeDiacritics from "../StackOverflow/removeDiacritics";
+import { renderWords } from "./render";
+
+export function showSearchModal() {
+ document.getElementById('searchModal').style.display = 'block';
+ document.getElementById('searchBox').focus();
+}
+
+export function clearSearchText() {
+ document.getElementById('searchBox').value = '';
+ document.getElementById('openSearchModal').value = '';
+ renderWords();
+}
+
+export function getSearchTerm() {
+ return document.getElementById('searchBox').value;
+}
+
+export function getSearchFilters() {
+ const filters = {
+ caseSensitive: document.getElementById('searchCaseSensitive').checked,
+ ignoreDiacritics: document.getElementById('searchIgnoreDiacritics').checked,
+ exact: document.getElementById('searchExactWords').checked,
+ name: document.getElementById('searchIncludeName').checked,
+ definition: document.getElementById('searchIncludeDefinition').checked,
+ details: document.getElementById('searchIncludeDetails').checked,
+ partsOfSpeech: {},
+ };
+ const partsOfSpeech = document.querySelectorAll('#searchPartsOfSpeech input[type="checkbox"]');
+ let checkedBoxes = 0;
+ Array.from(partsOfSpeech).forEach(partOfSpeech => {
+ // console.log('partOfSpeech Inner Text:', partOfSpeech.parentElement.innerText);
+ const partOfSpeechLabel = partOfSpeech.parentElement.innerText.trim();
+ filters.partsOfSpeech[partOfSpeechLabel] = partOfSpeech.checked;
+ if (partOfSpeech.checked) checkedBoxes++;
+ });
+
+ filters.allPartsOfSpeechChecked = checkedBoxes === partsOfSpeech.length;
+
+ return filters;
+}
+
+export function getMatchingSearchWords() {
+ let searchTerm = getSearchTerm();
+ const filters = getSearchFilters();
+ if (searchTerm !== '' || !filters.allPartsOfSpeechChecked) {
+ const matchingWords = window.currentDictionary.words.slice().filter(word => {
+ if (!filters.allPartsOfSpeechChecked) {
+ const partOfSpeech = word.partOfSpeech === '' ? 'Unclassified' : word.partOfSpeech;
+ return filters.partsOfSpeech.hasOwnProperty(partOfSpeech) && filters.partsOfSpeech[partOfSpeech];
+ }
+ return true;
+ }).filter(word => {
+ searchTerm = filters.ignoreDiacritics ? removeDiacritics(searchTerm) : searchTerm;
+ searchTerm = filters.caseSensitive ? searchTerm : searchTerm.toLowerCase();
+ let name = filters.ignoreDiacritics ? removeDiacritics(word.name) : word.name;
+ name = filters.caseSensitive ? name : name.toLowerCase();
+ let definition = filters.ignoreDiacritics ? removeDiacritics(word.definition) : word.definition;
+ definition = filters.caseSensitive ? definition : definition.toLowerCase();
+ let details = filters.ignoreDiacritics ? removeDiacritics(word.details) : word.details;
+ details = filters.caseSensitive ? details : details.toLowerCase();
+
+ const isInName = filters.name && (filters.exact
+ ? searchTerm == name
+ : new RegExp(searchTerm, 'g').test(name));
+ const isInDefinition = filters.definition && (filters.exact
+ ? searchTerm == definition
+ : new RegExp(searchTerm, 'g').test(definition));
+ const isInDetails = filters.details && new RegExp(searchTerm, 'g').test(details);
+ return searchTerm === '' || isInName || isInDefinition || isInDetails;
+ });
+ return matchingWords;
+ }
+
+ return window.currentDictionary.words
+}
+
+export function highlightSearchTerm(word) {
+ let searchTerm = getSearchTerm();
+ if (searchTerm) {
+ const filters = getSearchFilters();
+ const markedUpWord = cloneObject(word);
+ if (filters.ignoreDiacritics) {
+ const searchTermLength = searchTerm.length;
+ searchTerm = removeDiacritics(searchTerm);
+ if (filters.name) {
+ const nameMatches = getIndicesOf(searchTerm, removeDiacritics(markedUpWord.name), filters.caseSensitive);
+ nameMatches.forEach((wordIndex, i) => {
+ wordIndex += ' '.length * i;
+ markedUpWord.name = markedUpWord.name.substring(0, wordIndex)
+ + '' + markedUpWord.name.substr(wordIndex, searchTermLength) + ' '
+ + markedUpWord.name.substr(wordIndex + searchTermLength);
+ });
+ }
+ if (filters.definition) {
+ const definitionMatches = getIndicesOf(searchTerm, removeDiacritics(markedUpWord.definition), filters.caseSensitive);
+ definitionMatches.forEach((wordIndex, i) => {
+ wordIndex += ' '.length * i;
+ markedUpWord.definition = markedUpWord.definition.substring(0, wordIndex)
+ + '' + markedUpWord.definition.substr(wordIndex, searchTermLength) + ' '
+ + markedUpWord.definition.substr(wordIndex + searchTermLength);
+ });
+ }
+ if (filters.details) {
+ const detailsMatches = getIndicesOf(searchTerm, removeDiacritics(markedUpWord.details), filters.caseSensitive);
+ detailsMatches.forEach((wordIndex, i) => {
+ wordIndex += ' '.length * i;
+ markedUpWord.details = markedUpWord.details.substring(0, wordIndex)
+ + '' + markedUpWord.details.substr(wordIndex, searchTermLength) + ' '
+ + markedUpWord.details.substr(wordIndex + searchTermLength);
+ });
+ }
+ } else {
+ const regexMethod = 'g' + (filters.caseSensitive ? '' : 'i');
+ if (filters.name) {
+ markedUpWord.name = markedUpWord.name.replace(new RegExp(`(${searchTerm})`, regexMethod), `$1 `);
+ }
+ if (filters.definition) {
+ markedUpWord.definition = markedUpWord.definition.replace(new RegExp(`(${searchTerm})`, regexMethod), `$1 `);
+ }
+ if (filters.details) {
+ markedUpWord.details = markedUpWord.details.replace(new RegExp(`(${searchTerm})`, regexMethod), `$1 `);
+ }
+ }
+ return markedUpWord;
+ }
+ return word;
+}
+
+export function checkAllPartsOfSpeechFilters() {
+ const searchFilters = document.querySelectorAll('#searchPartsOfSpeech input[type="checkbox"]');
+ Array.from(searchFilters).forEach(filter => {
+ filter.checked = true;
+ });
+ renderWords();
+}
+
+export function uncheckAllPartsOfSpeechFilters() {
+ const searchFilters = document.querySelectorAll('#searchPartsOfSpeech input[type="checkbox"]');
+ Array.from(searchFilters).forEach(filter => {
+ filter.checked = false;
+ });
+ renderWords();
+}
\ No newline at end of file
diff --git a/src/js/view/setupListeners.js b/src/js/view/setupListeners.js
index 82e8b47..8ba46bb 100644
--- a/src/js/view/setupListeners.js
+++ b/src/js/view/setupListeners.js
@@ -1,5 +1,5 @@
import {showSection, hideDetailsPanel} from './displayToggles';
-import { showSearchModal, clearSearchText, checkAllPartsOfSpeechFilters, uncheckAllPartsOfSpeechFilters } from '../search';
+import { showSearchModal, clearSearchText, checkAllPartsOfSpeechFilters, uncheckAllPartsOfSpeechFilters } from './search';
import { renderWords, renderInfoModal } from './render';
export default function setupListeners() {
diff --git a/src/js/view/utilities.js b/src/js/view/utilities.js
new file mode 100644
index 0000000..3753346
--- /dev/null
+++ b/src/js/view/utilities.js
@@ -0,0 +1,102 @@
+export function getWordsStats() {
+ const {words, partsOfSpeech} = window.currentDictionary;
+ const {caseSensitive} = window.currentDictionary.settings;
+
+ const wordStats = {
+ numberOfWords: [
+ {
+ name: 'Total',
+ value: words.length,
+ },
+ ],
+ wordLength: {
+ shortest: 0,
+ longest: 0,
+ average: 0,
+ },
+ letterDistribution: [
+ /* {
+ letter: '',
+ number: 0,
+ percentage: 0.00,
+ } */
+ ],
+ totalLetters: 0,
+ };
+
+ partsOfSpeech.forEach(partOfSpeech => {
+ const wordsWithPartOfSpeech = words.filter(word => word.partOfSpeech === partOfSpeech);
+ wordStats.numberOfWords.push({
+ name: partOfSpeech,
+ value: wordsWithPartOfSpeech.length,
+ });
+ });
+
+ wordStats.numberOfWords.push({
+ name: 'Unclassified',
+ value: words.filter(word => !partsOfSpeech.includes(word.partOfSpeech)).length,
+ });
+
+ let totalLetters = 0;
+ const numberOfLetters = {};
+
+ words.forEach(word => {
+ const shortestWord = wordStats.wordLength.shortest;
+ const longestWord = wordStats.wordLength.longest;
+ const wordLetters = word.name.split('');
+ const lettersInWord = wordLetters.length;
+
+ totalLetters += lettersInWord;
+
+ if (shortestWord === 0 || lettersInWord < shortestWord) {
+ wordStats.wordLength.shortest = lettersInWord;
+ }
+
+ if (longestWord === 0 || lettersInWord > longestWord) {
+ wordStats.wordLength.longest = lettersInWord;
+ }
+
+ wordLetters.forEach(letter => {
+ const letterToUse = caseSensitive ? letter : letter.toLowerCase();
+ if (!numberOfLetters.hasOwnProperty(letterToUse)) {
+ numberOfLetters[letterToUse] = 1;
+ } else {
+ numberOfLetters[letterToUse]++;
+ }
+ });
+ });
+
+ wordStats.totalLetters = totalLetters;
+ wordStats.wordLength.average = words.length > 0 ? Math.round(totalLetters / words.length) : 0;
+
+ for (const letter in numberOfLetters) {
+ if (numberOfLetters.hasOwnProperty(letter)) {
+ const number = numberOfLetters[letter];
+ wordStats.letterDistribution.push({
+ letter,
+ number,
+ percentage: number / totalLetters,
+ });
+ }
+ }
+
+ wordStats.letterDistribution.sort((a, b) => {
+ if (a.percentage === b.percentage) return 0;
+ return (a.percentage > b.percentage) ? -1 : 1;
+ });
+
+ return wordStats;
+}
+
+export function getHomonymnIndexes(word) {
+ const { currentDictionary } = window;
+ const { caseSensitive } = currentDictionary.settings;
+ const foundIndexes = [];
+ currentDictionary.words.forEach((existingWord, index) => {
+ if (existingWord.wordId !== word.wordId
+ && (caseSensitive ? existingWord.name === word.name : existingWord.name.toLowerCase() === word.name.toLowerCase())) {
+ foundIndexes.push(index);
+ }
+ });
+ return foundIndexes;
+}
diff --git a/src/js/view/wordManagement.js b/src/js/view/wordManagement.js
new file mode 100644
index 0000000..ff1fe64
--- /dev/null
+++ b/src/js/view/wordManagement.js
@@ -0,0 +1,44 @@
+import { wordExists, getHomonymnIndexes } from "./utilities";
+
+export function parseReferences(detailsMarkdown) {
+ const references = detailsMarkdown.match(/\{\{.+?\}\}/g);
+ if (references && Array.isArray(references)) {
+ new Set(references).forEach(reference => {
+ let wordToFind = reference.replace(/\{\{|\}\}/g, '');
+ let homonymn = 0;
+
+ if (wordToFind.includes(':')) {
+ const separator = wordToFind.indexOf(':');
+ homonymn = wordToFind.substr(separator + 1);
+ wordToFind = wordToFind.substring(0, separator);
+ if (homonymn && homonymn.trim()
+ && !isNaN(parseInt(homonymn.trim())) && parseInt(homonymn.trim()) > 0) {
+ homonymn = parseInt(homonymn.trim());
+ } else {
+ homonymn = false;
+ }
+ }
+
+ let existingWordId = false;
+ const homonymnIndexes = getHomonymnIndexes({ name: wordToFind, wordId: -1 });
+
+ if (homonymn !== false && homonymn > 0) {
+ if (typeof homonymnIndexes[homonymn - 1] !== 'undefined') {
+ existingWordId = window.currentDictionary.words[homonymnIndexes[homonymn - 1]].wordId;
+ }
+ } else if (homonymn !== false) {
+ existingWordId = wordExists(wordToFind, true);
+ }
+
+ if (existingWordId !== false) {
+ if (homonymn < 1 && homonymnIndexes.length > 0) {
+ homonymn = 1;
+ }
+ const homonymnSubHTML = homonymn > 0 ? '' + homonymn.toString() + ' ' : '';
+ const wordMarkdownLink = `[${wordToFind}${homonymnSubHTML}](#${existingWordId})`;
+ detailsMarkdown = detailsMarkdown.replace(new RegExp(reference, 'g'), wordMarkdownLink);
+ }
+ });
+ }
+ return detailsMarkdown;
+}
From 57ca675f7acf1453aaad5edfc292730b000f6046 Mon Sep 17 00:00:00 2001
From: Robbie Antenesse
Date: Thu, 6 Jun 2019 11:25:08 -0600
Subject: [PATCH 058/134] Only split out html/md files;Fix page load problem
---
index.html | 39 +++++------
src/index.js | 9 ++-
src/js/account/passwordReset.js | 21 ++++--
src/js/ads.js | 11 ++--
src/js/dictionaryManagement.js | 113 ++++++++++++++++----------------
src/js/hotkeys.js | 5 +-
src/js/render.js | 33 +++++-----
src/js/setupListeners.js | 15 ++---
src/js/view/index.js | 3 +-
src/js/view/setupListeners.js | 15 ++---
10 files changed, 128 insertions(+), 136 deletions(-)
diff --git a/index.html b/index.html
index 2256c92..5f8038e 100644
--- a/index.html
+++ b/index.html
@@ -372,30 +372,25 @@