diff --git a/cypress.json b/cypress.json
new file mode 100644
index 0000000..e3093e1
--- /dev/null
+++ b/cypress.json
@@ -0,0 +1,4 @@
+{
+ "video": false,
+ "baseUrl": "http://localhost:3000"
+}
\ No newline at end of file
diff --git a/cypress/integration/footer.spec.js b/cypress/integration/footer.spec.js
new file mode 100644
index 0000000..43efd5b
--- /dev/null
+++ b/cypress/integration/footer.spec.js
@@ -0,0 +1,37 @@
+describe('Footer', () => {
+ beforeEach(() => {
+ cy.fixture('site.json').as('site');
+ });
+
+ it('Has support email', () => {
+ cy.get('@site').then((site) => {
+ cy.visit('/');
+ cy.get('.foot__support .btn')
+ .contains(site.footer.email);
+ });
+ });
+
+ it('Has page links', () => {
+ cy.get('@site').then((site) => {
+ cy.visit('/');
+
+ site.navi.links.forEach((item, i) => {
+ cy.get(`.foot__links:last-child li:nth-child(${i + 2}) .foot__link`)
+ .contains(item.label)
+ .should('have.attr', 'href', item.link);
+ });
+ });
+ });
+
+ it('Has resource links', () => {
+ cy.get('@site').then((site) => {
+ cy.visit('/');
+
+ site.footer.links.forEach((item, i) => {
+ cy.get(`.foot__links:first-child li:nth-child(${i + 1}) .foot__link`)
+ .contains(item.label)
+ .should('have.attr', 'href', item.link);
+ });
+ });
+ });
+});
diff --git a/cypress/integration/home.spec.js b/cypress/integration/home.spec.js
new file mode 100644
index 0000000..3428aab
--- /dev/null
+++ b/cypress/integration/home.spec.js
@@ -0,0 +1,29 @@
+describe('Home page', () => {
+ beforeEach(() => {
+ cy.fixture('home.json').as('home');
+ cy.fixture('site.json').as('site');
+ });
+
+ it('Has latest', () => {
+ cy.get('@site').then((site) => {
+ const latest = site.latest.find((item) => item.active);
+
+ if (latest) {
+ cy.visit('/');
+ cy.get('.latest__headline h2')
+ .contains(latest.headline);
+ }
+ });
+ });
+
+ it('Has banner', () => {
+ cy.get('@site').then((site) => {
+ if (site.banner && site.banner.active) {
+ cy.visit('/');
+ cy.get('.banner')
+ .contains(site.banner.text)
+ .should('have.attr', 'href', site.banner.link);
+ }
+ });
+ });
+});
diff --git a/cypress/integration/navi.spec.js b/cypress/integration/navi.spec.js
new file mode 100644
index 0000000..509c9ce
--- /dev/null
+++ b/cypress/integration/navi.spec.js
@@ -0,0 +1,87 @@
+describe('Navigation', () => {
+
+ beforeEach(() => {
+ cy.fixture('site.json').as('site');
+ });
+
+ it('Has jambonz logo', () => {
+ cy.get('@site').then((site) => {
+ cy.visit('/');
+ cy.get('.navi__logo')
+ .should('have.attr', 'href', site.navi.home.link);
+ });
+ });
+
+ it('Has page links', () => {
+ cy.get('@site').then((site) => {
+ cy.visit('/');
+
+ site.navi.links.forEach((item, i) => {
+ cy.get(`.navi__links li:nth-child(${i + 1}) .navi__link`)
+ .contains(item.label)
+ .should('have.attr', 'href', item.link);
+ });
+ });
+ });
+
+ it('Has login button', () => {
+ cy.get('@site').then((site) => {
+ cy.visit('/');
+
+ cy.get('.navi__login .btn')
+ .contains(site.navi.login.label)
+ .should('have.attr', 'href', site.navi.login.link)
+ .should('have.attr', 'target', '_blank');
+ });
+ });
+
+ it('Has no mobile navi above max-width', () => {
+ cy.visit('/');
+ cy.viewport('macbook-15');
+
+ cy.get('.navi__mobile')
+ .should('have.length', 0);
+
+ cy.get('.navi__links')
+ .should('be.visible');
+
+ cy.get('.navi__logo')
+ .should('be.visible');
+
+ cy.get('.navi__icon')
+ .should('not.be.visible');
+ });
+
+ it('Has mobile navi below max-width', () => {
+ cy.visit('/');
+ cy.viewport('ipad-2');
+
+ cy.get('.navi')
+ .should('have.class', 'mobile');
+
+ cy.get('.navi__links')
+ .should('not.be.visible');
+
+ cy.get('.navi__mobile')
+ .should('have.length', 1);
+
+ cy.get('.navi__icon')
+ .should('be.visible')
+ .click();
+
+ cy.get('.navi')
+ .should('have.class', 'active');
+
+ cy.get('.navi__mobile')
+ .should('have.class', 'active');
+
+ cy.get('.navi__mobile__icon')
+ .click();
+
+ cy.get('.navi')
+ .should('not.have.class', 'active');
+
+ cy.get('.navi__mobile')
+ .should('not.have.class', 'active');
+ });
+});
diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js
new file mode 100644
index 0000000..59b2bab
--- /dev/null
+++ b/cypress/plugins/index.js
@@ -0,0 +1,22 @@
+///
+// ***********************************************************
+// This example plugins/index.js can be used to load plugins
+//
+// You can change the location of this file or turn off loading
+// the plugins file with the 'pluginsFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/plugins-guide
+// ***********************************************************
+
+// This function is called when a project is opened or re-opened (e.g. due to
+// the project's config changing)
+
+/**
+ * @type {Cypress.PluginConfig}
+ */
+// eslint-disable-next-line no-unused-vars
+module.exports = (on, config) => {
+ // `on` is used to hook into various events Cypress emits
+ // `config` is the resolved Cypress config
+}
diff --git a/cypress/scripts/fixtures.js b/cypress/scripts/fixtures.js
new file mode 100644
index 0000000..894c949
--- /dev/null
+++ b/cypress/scripts/fixtures.js
@@ -0,0 +1,22 @@
+// Generates fixtures JSON files from jambonz YAML data for Cypress
+// Uses `yarn pretest` to run this script
+// Uses `yarn posttest` to run fixtures cleanup (rm -rf)
+
+const fs = require('fs');
+const path = require('path');
+const yamljs = require('yamljs');
+const dataDir = path.join(process.cwd(), 'data');
+const fixDir = path.join(process.cwd(), 'cypress/fixtures');
+
+if (!fs.existsSync(fixDir)) {
+ fs.mkdirSync(fixDir);
+}
+
+fs.readdirSync(dataDir).forEach((file) => {
+ const filePath = `${dataDir}/${file}`;
+ const fileContents = fs.readFileSync(filePath, 'utf8');
+ const fileJSON = yamljs.parse(fileContents);
+ const fileOut = path.join(fixDir, file.replace('.yml', '.json'));
+
+ fs.writeFileSync(fileOut, JSON.stringify(fileJSON, null, 2));
+});
\ No newline at end of file
diff --git a/cypress/support/commands.js b/cypress/support/commands.js
new file mode 100644
index 0000000..119ab03
--- /dev/null
+++ b/cypress/support/commands.js
@@ -0,0 +1,25 @@
+// ***********************************************
+// This example commands.js shows you how to
+// create various custom commands and overwrite
+// existing commands.
+//
+// For more comprehensive examples of custom
+// commands please read more here:
+// https://on.cypress.io/custom-commands
+// ***********************************************
+//
+//
+// -- This is a parent command --
+// Cypress.Commands.add('login', (email, password) => { ... })
+//
+//
+// -- This is a child command --
+// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
+//
+//
+// -- This is a dual command --
+// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
+//
+//
+// -- This will overwrite an existing command --
+// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
diff --git a/cypress/support/index.js b/cypress/support/index.js
new file mode 100644
index 0000000..d68db96
--- /dev/null
+++ b/cypress/support/index.js
@@ -0,0 +1,20 @@
+// ***********************************************************
+// This example support/index.js is processed and
+// loaded automatically before your test files.
+//
+// This is a great place to put global configuration and
+// behavior that modifies Cypress.
+//
+// You can change the location of this file or turn off
+// automatically serving support files with the
+// 'supportFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/configuration
+// ***********************************************************
+
+// Import commands.js using ES2015 syntax:
+import './commands'
+
+// Alternatively you can use CommonJS syntax:
+// require('./commands')
diff --git a/data/open-source.yml b/data/open-source.yml
new file mode 100644
index 0000000..6c925cc
--- /dev/null
+++ b/data/open-source.yml
@@ -0,0 +1,27 @@
+root:
+ link: /open-source/
+ label: Open Source
+navi:
+ -
+ path: commitment
+ title: Our commitment
+ pages:
+ -
+ path: oss-we-make
+ title: Open source we make
+ -
+ path: oss-we-use
+ title: Open source we use
+ -
+ path: oss-contributions
+ title: How we contribute
+ -
+ path: your-contributions
+ title: How you contribute
+ -
+ path: install
+ title: How to install
+ pages:
+ -
+ path: overview
+ title: Overview
\ No newline at end of file
diff --git a/data/site.yml b/data/site.yml
index 19dc587..b969c93 100644
--- a/data/site.yml
+++ b/data/site.yml
@@ -1,3 +1,25 @@
+banner:
+ active: true
+ text: jambonz now available on AWS Marketplace
+ link: https://aws.amazon.com/marketplace/pp/prodview-7lmody7uv2sye
+latest:
+ -
+ active: true
+ label: tadhack
+ headline: jambonz is a proud sponsor of TADHACK 2021 in Orlando!
+ subtext:
+ - Sign up here for your free development account,
+ - and
visit our partner TelecomXChange for $20 free credit!
+ -
+ active: false
+ label: econnect
+ headline: jambonz will be at Enterprise Connect 2021
+ subtext: Ping us at
sales@jambonz.org to set up a meeting!
+ -
+ active: false
+ label: aws
+ headline: jambonz now available on AWS Marketplace
+ subtext:
Deploy jambonz with AWS CloudFormation today!
navi:
home:
link: /
@@ -15,6 +37,9 @@ navi:
-
label: Pricing
link: /pricing/
+ -
+ label: Open Source
+ link: /open-source/
footer:
email: support@jambonz.org
links:
@@ -31,4 +56,4 @@ footer:
link: /privacy/
-
label: Terms of Service
- link: /terms/
+ link: /terms/
\ No newline at end of file
diff --git a/lib/data.js b/lib/data.js
index c6dd747..e773491 100644
--- a/lib/data.js
+++ b/lib/data.js
@@ -6,18 +6,24 @@ const remark = require('remark');
const remarkHtml = require('remark-html');
const remarkGfm = require('remark-gfm');
const dataDir = path.join(process.cwd(), 'data');
-const docsDir = path.join(process.cwd(), 'docs');
+const markdownDir = path.join(process.cwd(), 'markdown');
-/******************************************************************************
- * Static page data
-*******************************************************************************/
+/**
+ * Parse YAML data to generate the static props for Next.js page components
+ * @param {string} key The fileName without extension to load from ./data
+ * @returns {Object}
+ */
function _getData(key) {
const fullPath = path.join(dataDir, `${key}.yml`);
const fileContents = fs.readFileSync(fullPath, 'utf8');
return yamljs.parse(fileContents);
}
-// Load YAML data to generate the static props for Next.js page components
+/**
+ * Load YAML data to generate the static props for Next.js page components
+ * @param {string} key The fileName without extension to load from ./data
+ * @returns {Object}
+ */
export function getData(key) {
return {
[key]: _getData(key),
@@ -25,17 +31,24 @@ export function getData(key) {
};
}
-/******************************************************************************
- * Static developer docs data
-*******************************************************************************/
-function _getCleanSlug(slug) {
+/**
+ * Get a cleaned slug for Next.js static paths pattern
+ * @param {string} scope The subdirectory of ./markdown
+ * @param {string} slug The fileName of a found markdown file
+ * @returns {Array}
+ */
+function _getCleanSlug(scope, slug) {
return slug
- .replace(docsDir, '')
+ .replace(path.join(markdownDir, scope), '')
.replace(/^\/+|\/+$/, '')
.split('/');
}
-// Load Markdown and YAML front-matter to generate the static props for Next.js docs component
+/**
+ * Load Markdown and YAML front-matter to generate the static props for Next.js docs component
+ * @param {string} filePath The full path to a markdown file
+ * @returns {Object}
+ */
export async function getParsedMarkdown(filePath) {
const fileContents = fs.readFileSync(filePath, 'utf8');
const fileMatter = matter(fileContents);
@@ -55,8 +68,14 @@ export async function getParsedMarkdown(filePath) {
};
}
-// Walk the pages/docs file tree to generate the static paths for Next.js docs pages
-function _getDocsPaths(dirPath, arrayOfFiles = [{params:{slug:[]}}]) {
+/**
+ * Walk the markdown file tree to generate the static paths for Next.js components
+ * @param {string} dirPath The full path to markdown subdirectory
+ * @param {string} scope The subdirectory of ./markdown
+ * @param {Array} arrayOfFiles The static paths array formatted for Next.js
+ * @returns {Array}
+ */
+function _getMarkdownPaths(dirPath, scope, arrayOfFiles = [{params:{slug:[]}}]) {
const files = fs.readdirSync(dirPath);
files.forEach((file) => {
@@ -70,7 +89,7 @@ function _getDocsPaths(dirPath, arrayOfFiles = [{params:{slug:[]}}]) {
const isIndexFile = fs.existsSync(indexFile);
if (isIndexFile) {
- slug = _getCleanSlug(path.join(
+ slug = _getCleanSlug(scope, path.join(
__dirname,
dirPath,
'/',
@@ -84,10 +103,10 @@ function _getDocsPaths(dirPath, arrayOfFiles = [{params:{slug:[]}}]) {
});
}
- arrayOfFiles = _getDocsPaths(filePath, arrayOfFiles);
+ arrayOfFiles = _getMarkdownPaths(filePath, scope, arrayOfFiles);
} else if (isMarkdown) {
- slug = _getCleanSlug(path.join(
+ slug = _getCleanSlug(scope, path.join(
__dirname,
dirPath,
'/',
@@ -105,13 +124,20 @@ function _getDocsPaths(dirPath, arrayOfFiles = [{params:{slug:[]}}]) {
return arrayOfFiles;
}
-// Public method to return static props for Next.js docs component
-export async function getDocs(slug) {
+/**
+ * Public method to return static props for Next.js components
+ * @param {string} scope The subdirectory of ./markdown
+ * @param {string} slug The markdown fileName
+ * @returns {Object|null}
+ */
+export async function getMarkdown(scope, slug) {
let filePath = slug ? path.join(
- docsDir,
+ markdownDir,
+ scope,
slug.join('/')
) : path.join(
- docsDir,
+ markdownDir,
+ scope,
'index.md'
);
const isDirectory = (fs.existsSync(filePath) && fs.statSync(filePath).isDirectory());
@@ -119,7 +145,8 @@ export async function getDocs(slug) {
if (isDirectory) {
filePath = path.join(
- docsDir,
+ markdownDir,
+ scope,
slug.join('/'),
'index.md'
);
@@ -127,7 +154,8 @@ export async function getDocs(slug) {
} else if (!isMarkdown) {
filePath = path.join(
- docsDir,
+ markdownDir,
+ scope,
`${slug.join('/')}.md`
);
isMarkdown = true;
@@ -140,9 +168,13 @@ export async function getDocs(slug) {
return null;
}
-// Public proxy for _getDocsPaths() to return static paths for Next.js docs pages
-export function getDocsPaths() {
- const paths = _getDocsPaths(docsDir);
+/**
+ * Public proxy for _getMarkdownPaths() to return static paths for Next.js components
+ * @param {string} scope The subdirectory of ./markdown
+ * @returns {Array}
+ */
+export function getMarkdownPaths(scope) {
+ const paths = _getMarkdownPaths(path.join(markdownDir, scope), scope);
return paths;
}
\ No newline at end of file
diff --git a/docs/api/rest.md b/markdown/docs/api/rest.md
similarity index 100%
rename from docs/api/rest.md
rename to markdown/docs/api/rest.md
diff --git a/docs/api/webhooks.md b/markdown/docs/api/webhooks.md
similarity index 100%
rename from docs/api/webhooks.md
rename to markdown/docs/api/webhooks.md
diff --git a/docs/client-sdks/create-jambonz-app.md b/markdown/docs/client-sdks/create-jambonz-app.md
similarity index 100%
rename from docs/client-sdks/create-jambonz-app.md
rename to markdown/docs/client-sdks/create-jambonz-app.md
diff --git a/docs/client-sdks/node-red.md b/markdown/docs/client-sdks/node-red.md
similarity index 100%
rename from docs/client-sdks/node-red.md
rename to markdown/docs/client-sdks/node-red.md
diff --git a/docs/client-sdks/nodejs-sdk.md b/markdown/docs/client-sdks/nodejs-sdk.md
similarity index 100%
rename from docs/client-sdks/nodejs-sdk.md
rename to markdown/docs/client-sdks/nodejs-sdk.md
diff --git a/docs/getting-started/add-application.md b/markdown/docs/getting-started/add-application.md
similarity index 100%
rename from docs/getting-started/add-application.md
rename to markdown/docs/getting-started/add-application.md
diff --git a/docs/getting-started/add-carrier.md b/markdown/docs/getting-started/add-carrier.md
similarity index 100%
rename from docs/getting-started/add-carrier.md
rename to markdown/docs/getting-started/add-carrier.md
diff --git a/docs/getting-started/add-phone-numbers.md b/markdown/docs/getting-started/add-phone-numbers.md
similarity index 100%
rename from docs/getting-started/add-phone-numbers.md
rename to markdown/docs/getting-started/add-phone-numbers.md
diff --git a/docs/getting-started/add-speech.md b/markdown/docs/getting-started/add-speech.md
similarity index 100%
rename from docs/getting-started/add-speech.md
rename to markdown/docs/getting-started/add-speech.md
diff --git a/docs/getting-started/index.md b/markdown/docs/getting-started/index.md
similarity index 100%
rename from docs/getting-started/index.md
rename to markdown/docs/getting-started/index.md
diff --git a/docs/getting-started/register-sip-client.md b/markdown/docs/getting-started/register-sip-client.md
similarity index 100%
rename from docs/getting-started/register-sip-client.md
rename to markdown/docs/getting-started/register-sip-client.md
diff --git a/docs/index.md b/markdown/docs/index.md
similarity index 100%
rename from docs/index.md
rename to markdown/docs/index.md
diff --git a/docs/open-source/aws.md b/markdown/docs/open-source/aws.md
similarity index 100%
rename from docs/open-source/aws.md
rename to markdown/docs/open-source/aws.md
diff --git a/docs/open-source/self-host.md b/markdown/docs/open-source/self-host.md
similarity index 100%
rename from docs/open-source/self-host.md
rename to markdown/docs/open-source/self-host.md
diff --git a/docs/rest/applications.md b/markdown/docs/rest/applications.md
similarity index 100%
rename from docs/rest/applications.md
rename to markdown/docs/rest/applications.md
diff --git a/docs/rest/calls.md b/markdown/docs/rest/calls.md
similarity index 100%
rename from docs/rest/calls.md
rename to markdown/docs/rest/calls.md
diff --git a/docs/rest/overview.md b/markdown/docs/rest/overview.md
similarity index 100%
rename from docs/rest/overview.md
rename to markdown/docs/rest/overview.md
diff --git a/docs/rest/postman.md b/markdown/docs/rest/postman.md
similarity index 100%
rename from docs/rest/postman.md
rename to markdown/docs/rest/postman.md
diff --git a/docs/tutorials/getting-started.md b/markdown/docs/tutorials/getting-started.md
similarity index 100%
rename from docs/tutorials/getting-started.md
rename to markdown/docs/tutorials/getting-started.md
diff --git a/docs/tutorials/nodejs-sdk.md b/markdown/docs/tutorials/nodejs-sdk.md
similarity index 100%
rename from docs/tutorials/nodejs-sdk.md
rename to markdown/docs/tutorials/nodejs-sdk.md
diff --git a/docs/tutorials/simwood.md b/markdown/docs/tutorials/simwood.md
similarity index 100%
rename from docs/tutorials/simwood.md
rename to markdown/docs/tutorials/simwood.md
diff --git a/docs/tutorials/voxbone.md b/markdown/docs/tutorials/voxbone.md
similarity index 100%
rename from docs/tutorials/voxbone.md
rename to markdown/docs/tutorials/voxbone.md
diff --git a/docs/webhooks/conference.md b/markdown/docs/webhooks/conference.md
similarity index 93%
rename from docs/webhooks/conference.md
rename to markdown/docs/webhooks/conference.md
index e44d2ac..8d75819 100644
--- a/docs/webhooks/conference.md
+++ b/markdown/docs/webhooks/conference.md
@@ -44,7 +44,7 @@ Conference status webhooks will contain the following additional parameters:
- members: the current number of members in the conference
- duration: the current length of the conference in seconds
-
-Prev: Overview
-Next: dequeue
+
+Prev: Overview
+Next: dequeue
diff --git a/docs/webhooks/dequeue.md b/markdown/docs/webhooks/dequeue.md
similarity index 91%
rename from docs/webhooks/dequeue.md
rename to markdown/docs/webhooks/dequeue.md
index 6e3d938..add9878 100644
--- a/docs/webhooks/dequeue.md
+++ b/markdown/docs/webhooks/dequeue.md
@@ -27,7 +27,7 @@ The *actionHook* webhook will contain a `dequeueResult` property indicating the
- 'timeout' - no call appeared in the named queue during the timeout interval
- 'error' - a system error of some kind occurred
-
-Prev: conference
-Next: dial
+
+Prev: conference
+Next: dial
diff --git a/docs/webhooks/dial.md b/markdown/docs/webhooks/dial.md
similarity index 97%
rename from docs/webhooks/dial.md
rename to markdown/docs/webhooks/dial.md
index 1852285..7728730 100644
--- a/docs/webhooks/dial.md
+++ b/markdown/docs/webhooks/dial.md
@@ -119,7 +119,7 @@ The actionHook that is invoked when the dial command ends will include the follo
| dial_sip_status | the sip status of the final response to the INVITE that was sent|
-
-Prev: dequeue
-Next: dialogflow
+
+Prev: dequeue
+Next: dialogflow
diff --git a/docs/webhooks/dialogflow.md b/markdown/docs/webhooks/dialogflow.md
similarity index 97%
rename from docs/webhooks/dialogflow.md
rename to markdown/docs/webhooks/dialogflow.md
index 172a462..4d08cdd 100644
--- a/docs/webhooks/dialogflow.md
+++ b/markdown/docs/webhooks/dialogflow.md
@@ -82,7 +82,7 @@ if (evt.event === 'intent') {
Please refer to [this tutorial](/tutorials/#dialogflow-part-2-adding-call-transfer-functionality) for a detailed example.
-
-Prev: dial
-Next: enqueue
+
+Prev: dial
+Next: enqueue
diff --git a/docs/webhooks/enqueue.md b/markdown/docs/webhooks/enqueue.md
similarity index 92%
rename from docs/webhooks/enqueue.md
rename to markdown/docs/webhooks/enqueue.md
index 2efa465..c63a464 100644
--- a/docs/webhooks/enqueue.md
+++ b/markdown/docs/webhooks/enqueue.md
@@ -35,7 +35,7 @@ The *waitHook* webhook will contain the following additional parameters:
- `queueTime`: the current number of seconds the call has spent in queue
- `queueSize`: the current number of calls in the queue
-
-Prev: dialogflow
-Next: gather
+
+Prev: dialogflow
+Next: gather
diff --git a/docs/webhooks/gather.md b/markdown/docs/webhooks/gather.md
similarity index 94%
rename from docs/webhooks/gather.md
rename to markdown/docs/webhooks/gather.md
index e38c0e0..3fcc726 100644
--- a/docs/webhooks/gather.md
+++ b/markdown/docs/webhooks/gather.md
@@ -62,7 +62,7 @@ In the case of digits input, the payload will simple include a `digits` property
Note: the `partialResultCallback` web callback should not return content; any returned content will be discarded.
-
-Prev: enqueue
-Next: hangup
+
+Prev: enqueue
+Next: hangup
diff --git a/docs/webhooks/hangup.md b/markdown/docs/webhooks/hangup.md
similarity index 74%
rename from docs/webhooks/hangup.md
rename to markdown/docs/webhooks/hangup.md
index 72eb8e1..0050871 100644
--- a/docs/webhooks/hangup.md
+++ b/markdown/docs/webhooks/hangup.md
@@ -16,7 +16,7 @@ You can use the following options in the `hangup` action:
| ------------- |-------------| -----|
| headers | an object containing SIP headers to include in the BYE request | no |
-
-Prev: gather
-Next: leave
+
+Prev: gather
+Next: leave
diff --git a/docs/webhooks/leave.md b/markdown/docs/webhooks/leave.md
similarity index 70%
rename from docs/webhooks/leave.md
rename to markdown/docs/webhooks/leave.md
index 946c9bb..8e17e6c 100644
--- a/docs/webhooks/leave.md
+++ b/markdown/docs/webhooks/leave.md
@@ -10,7 +10,7 @@ The `leave` verb transfers a call out of a queue. The call then returns to the
There are no options for the `leave` verb.
-
-Prev: hangup
-Next: lex
+
+Prev: hangup
+Next: lex
diff --git a/docs/webhooks/lex.md b/markdown/docs/webhooks/lex.md
similarity index 95%
rename from docs/webhooks/lex.md
rename to markdown/docs/webhooks/lex.md
index d0f9200..d0560dc 100644
--- a/docs/webhooks/lex.md
+++ b/markdown/docs/webhooks/lex.md
@@ -75,7 +75,7 @@ The *eventHook* webhook will contain two parameters: `event` and `data`. The `e
- `stop-play`: an audio segment returned from Lex or TTS completing playing
- `play-interrupted`: an audio segment was interrupted
-
-Prev: leave
-Next: listen
+
+Prev: leave
+Next: listen
diff --git a/docs/webhooks/listen.md b/markdown/docs/webhooks/listen.md
similarity index 96%
rename from docs/webhooks/listen.md
rename to markdown/docs/webhooks/listen.md
index 68a95ea..5c5c406 100644
--- a/docs/webhooks/listen.md
+++ b/markdown/docs/webhooks/listen.md
@@ -41,7 +41,7 @@ You can use the following options in the `listen` action:
| wsAuth.username | HTTP basic auth username to use on websocket connection | no |
| wsAuth.password | HTTP basic auth password to use on websocket connection | no |
-
-Prev: lex
-Next: pause
+
+Prev: lex
+Next: pause
diff --git a/docs/webhooks/overview.md b/markdown/docs/webhooks/overview.md
similarity index 99%
rename from docs/webhooks/overview.md
rename to markdown/docs/webhooks/overview.md
index da250a8..83a6790 100644
--- a/docs/webhooks/overview.md
+++ b/markdown/docs/webhooks/overview.md
@@ -264,6 +264,7 @@ Alternatively, you can provide an object containing a url and optional method an
```
In the sections that follow, we will describe each of the verbs in detail.
-
-Next: conference
+
+
+Next: conference
diff --git a/docs/webhooks/pause.md b/markdown/docs/webhooks/pause.md
similarity index 70%
rename from docs/webhooks/pause.md
rename to markdown/docs/webhooks/pause.md
index e8911fc..85e2576 100644
--- a/docs/webhooks/pause.md
+++ b/markdown/docs/webhooks/pause.md
@@ -14,7 +14,7 @@ You can use the following options in the `pause` action:
| ------------- |-------------| -----|
| length | number of seconds to wait before continuing the app | yes |
-
-Prev: listen
-Next: play
+
+Prev: listen
+Next: play
diff --git a/docs/webhooks/play.md b/markdown/docs/webhooks/play.md
similarity index 79%
rename from docs/webhooks/play.md
rename to markdown/docs/webhooks/play.md
index 886f2de..5895c91 100644
--- a/docs/webhooks/play.md
+++ b/markdown/docs/webhooks/play.md
@@ -16,7 +16,7 @@ You can use the following options in the `play` action:
| loop | number of times to play the url(s) | no (default: 1) |
| earlyMedia | if true and the call has not yet been answered, play the audio without answering call. Defaults to false | no |
-
-Prev: pause
-Next: redirect
+
+Prev: pause
+Next: redirect
diff --git a/docs/webhooks/redirect.md b/markdown/docs/webhooks/redirect.md
similarity index 78%
rename from docs/webhooks/redirect.md
rename to markdown/docs/webhooks/redirect.md
index cf82205..0e2b0bf 100644
--- a/docs/webhooks/redirect.md
+++ b/markdown/docs/webhooks/redirect.md
@@ -15,7 +15,7 @@ You can use the following options in the `redirect` action:
| ------------- |-------------| -----|
| actionHook | URL of webhook to retrieve new application from. | yes |
-
-Prev: play
-Next: say
+
+Prev: play
+Next: say
diff --git a/docs/webhooks/say.md b/markdown/docs/webhooks/say.md
similarity index 87%
rename from docs/webhooks/say.md
rename to markdown/docs/webhooks/say.md
index 52f23d3..6643300 100644
--- a/docs/webhooks/say.md
+++ b/markdown/docs/webhooks/say.md
@@ -25,7 +25,7 @@ You can use the following options in the `say` action:
| loop | the number of times a text is to be repeated; 0 means repeat forever. Defaults to 1. | no |
| earlyMedia | if true and the call has not yet been answered, play the audio without answering call. Defaults to false | no |
-
-Prev: redirect
-Next: sip:decline
+
+Prev: redirect
+Next: sip:decline
diff --git a/docs/webhooks/sip-decline.md b/markdown/docs/webhooks/sip-decline.md
similarity index 87%
rename from docs/webhooks/sip-decline.md
rename to markdown/docs/webhooks/sip-decline.md
index 05d27ff..a9e0050 100644
--- a/docs/webhooks/sip-decline.md
+++ b/markdown/docs/webhooks/sip-decline.md
@@ -25,7 +25,7 @@ You can use the following options in the `sip:decline` action:
| reason | a brief description | no (default: the well-known SIP reasons associated with the specified status code |
| headers | SIP headers to include in the response | no
-
-Prev: say
-Next: tag
+
+Prev: say
+Next: tag
diff --git a/docs/webhooks/tag.md b/markdown/docs/webhooks/tag.md
similarity index 93%
rename from docs/webhooks/tag.md
rename to markdown/docs/webhooks/tag.md
index 653faf4..7593031 100644
--- a/docs/webhooks/tag.md
+++ b/markdown/docs/webhooks/tag.md
@@ -50,7 +50,7 @@ You can use the following options in the `tag` command:
| ------------- |-------------| -----|
| data | a JSON object containing values to be saved and included in future action or call status notifications (HTTP POST only) for this call | yes |
-
-Prev: sip:decline
-Next: transcribe
+
+Prev: sip:decline
+Next: transcribe
diff --git a/docs/webhooks/transcribe.md b/markdown/docs/webhooks/transcribe.md
similarity index 94%
rename from docs/webhooks/transcribe.md
rename to markdown/docs/webhooks/transcribe.md
index 3522791..964b379 100644
--- a/docs/webhooks/transcribe.md
+++ b/markdown/docs/webhooks/transcribe.md
@@ -29,6 +29,7 @@ You can use the following options in the `transcribe` command:
> **Note**: the `dualChannel` property is not currently implemented.
-
-Prev: tag
+
+Prev: tag
+
diff --git a/markdown/open-source/commitment/oss-contributions.md b/markdown/open-source/commitment/oss-contributions.md
new file mode 100644
index 0000000..666c13b
--- /dev/null
+++ b/markdown/open-source/commitment/oss-contributions.md
@@ -0,0 +1,13 @@
+# How we contribute
+
+Of course, our main contribution to the open-source ecosystem has been to create the [jambonz](https://jambonz.org) and [drachtio](https://drachtio.org) projects, and to make them freely available under the MIT License. As part of this, we provide an extensive amount of unpaid support by responding to issues on github, email or [our slack channel](https://joinslack.jambonz.org).
+
+However, we are also a [consumer of open-source products](/open-source/commitment/oss-we-use/), and we believe that we have a responsibility to try to find additional ways to support the RTC open-source ecosystem where possible.
+
+To that end, this year we are sponsoring [TADHack Global 2021](https://tadhack.com/2021/), providing both funds for prize money as well as free services for participants. Depending on the covid situation, we hope to travel to Orlando to attend in person.
+
+We have also sponsored other conferences in the past, including the wonderful [CommCon](https://2019.commcon.xyz/) conference in the UK (run by the awesome Dan Jenkins of [Nimble Ape](https://nimblea.pe/)), and have attended and spoken at other open-source conferences, including [SimCon](https://blog.simwood.com/2020/06/simcon4-and-something-new/).
+
+We provided a small amount of funding this year to support the openSIPS security audit via their [gofundme](https://www.gofundme.com/f/opensips-security-audit-penetration-tests) initiative.
+
+And, finally, last but not least, we tried to purchase enough yummy baked goods last year to help save the awesome [Bearkery Bakery](https://bearbakeshop.com/), which was run by one of the best people in the RTC community, [Fred Posner](https://qxork.com/). Ultimately, we were defeated by the pandemic, but we don't regret a moment of the effort (gurgle, burp).
\ No newline at end of file
diff --git a/markdown/open-source/commitment/oss-we-make.md b/markdown/open-source/commitment/oss-we-make.md
new file mode 100644
index 0000000..64217cb
--- /dev/null
+++ b/markdown/open-source/commitment/oss-we-make.md
@@ -0,0 +1,26 @@
+# Open source that we make
+
+We
* make [jambonz](https://jambonz.org), a communication platform-as-a-service (CPaaS) designed for use by service providers.
+
+We also make
drachtio , a programmable [SIP]() server. drachtio is one of the main open source components that is used in jambonz.
+
+We release both jambonz and drachtio under the
MIT License .
+
+
* We = Drachtio Communications Services, LLC.
+
+
+
+#### Why we chose the MIT License
+A few words might be in order on why we chose the MIT License, because we notice that quite often purveyors of "free as in beer" FOSS seem to be pictured by their user base as an austere sect of itinerant, karma-seeking monks who have taken a vow of poverty and wander the open source-scape doing saintly good deeds here and there - like providing free support, or adding any old feature that anyone thinks up, at any time, at no charge.
+
+And sometimes, the fact that software is provided at no cost seems to result in a sense on the part of the consumer (not all mind you, but some) that it must accordingly have little or no value.
+
+First of all, as big consumers of beer, we resent the implication that free beer has no value. That's just wrong.
+
+More seriously, companies choose different open source licenses because they have different business models. We chose the MIT license - arguably the most permissive open-source license - because we are focused on encouraging trials, usage and adoption, and we wanted to remove as many barriers as possible that could stand in the way of that goal.
+
+We believe that jambonz fills a void in the market by delivering a true service provider-focused CPaaS. There is a need for it. But we acknowledge that we are competing in an arena with well-heeled commercial vendors. In this environment, delivering our solution in open-source format - as unrestricted as we could make it - is a purely tactical business decision. We are after a faster pace of play - an increased tempo of create / find / fix / create / repeat. We are playing catch-up (as every startup has to, at the outset) but we are looking to establish a rate of product improvement that closed-source commercial vendors can not match.
+
+The fuel that drives that product improvement tempo is contributions from the user base - unleashed of any licensing concerns or restrictions and with their imaginations fired by their ability to innovate freely on our platform. The MIT license is our way of enabling you to help us. Together, we can win.
+
+
diff --git a/markdown/open-source/commitment/oss-we-use.md b/markdown/open-source/commitment/oss-we-use.md
new file mode 100644
index 0000000..d6093ee
--- /dev/null
+++ b/markdown/open-source/commitment/oss-we-use.md
@@ -0,0 +1,31 @@
+# Open source that we use
+
+We are proud to have built jambonz by standing on the shoulders of some awesome open-source products.
+
+Building an application like jambonz requires curating a selection of the best open source products, and without exception these products have been a delight to work with and are well-supported by talented teams of developers. Please consider supporting them!
+
+| product | used for | license |
+| ------------- |-------------| -----|
+|
drachtio | application logic and call control |
MIT |
+|
rtpengine | media proxy and transcoding |
GPL v3.0 |
+|
freeswitch | media server |
MPL v1.1 |
+|
freeswitch plugins | audio integrations w/ google, AWS, others|
MIT |
+|
apiban | SBC protection from bad actors |
GPL v2.0 |
+|
express | HTTP middleware and web framework |
Creative Commons v3.0 |
+|
Node.js | Javascript runtime |
MIT |
+|
libwebsockets | websockets library |
MIT |
+|
mysql | susbcriber database |
GPL v2.0 with FOSS Exception |
+|
Telegraf | metrics agent |
MIT |
+|
Influxdb | time series database |
MIT |
+|
Redis | key-value store |
3-clause BSD |
+|
Homer (optional) | SIP capture |
AGPL v3.0 * |
+|
Postgresl (optional) | homer database |
PostgreSQL License |
+|
Grafana (optional) | Monitoring dashboard |
AGPL v3.0 |
+
+
* Note that:
+
+
+ When using Homer (or Grafana) with the AGPL v3 license, any changes that you make to the jambonz source code are not considered a "covered work" by that license, as the two programs are not linked. TLDR: any changes you make to jambonz source code remain under the more permissive MIT license
+ QXIP , the creator of Homer and the HEP protocol , also offer a non-GPL option (HEPIC ) that is specifically designed for the needs of large-scale telcos and Communications Service Providers. We highly recommend it to those who need a carrier-class monitoring and SIP capture solution.
+ If, after reading the above, you (or the company you work for) are still scared off by the AGPL v3 license, and are not interested in HEPIC (have you checked it out?), then know that neither Homer nor Grafana are required components of jambonz: simply don't install them, or remove if already installed.
+
\ No newline at end of file
diff --git a/markdown/open-source/commitment/your-contributions.md b/markdown/open-source/commitment/your-contributions.md
new file mode 100644
index 0000000..b9d2f67
--- /dev/null
+++ b/markdown/open-source/commitment/your-contributions.md
@@ -0,0 +1,27 @@
+# How you contribute
+
+The MIT open source license spells out your legal requirements when using the jambonz software, and these, by design, are minimal.
+
+However, since you are using the software we would expect that you have a vested interest in seeing the project grow more healthy, and the capabilities and reliability of the software improve. To that end, please consider ways that you can help make this happen.
+
+Here are some easy (i.e. no cost) ways you can contribute:
+
+- Report bugs (open issues on github, or raise them on our [slack channel](https://joinslack.jambonz.org)), providing as much detail in possible and offering to help recreate and to test fixes.
+- Offer to help test new or experimental features
+- Have coding skills (Node.js, React, Voip/SIP, or C++)? We'd love your help as a code contributor.
+- Evangelize. Talk the project up to your friends and business contacts. Allow us to use your success stories in our marketing materials.
+
+All of these can be really helpful in moving a project forward.
+
+There are also several easy ways you can provide direct financial support to the project:
+
+-
Hire us for services : our business model is providing services around jambonz and drachtio, and we are available to assist customers with jambonz deployments as well as custom development of VoIP applications.
+- Sign up for a monthly subscription on [jambonz.us](https://jambonz.us) - you get a hosted jambonz account while supporting the project.
+- Use our [AWS Marketplace offering](https://aws.amazon.com/marketplace/pp/prodview-7lmody7uv2sye) to build your own jambonz system on AWS.
+- [Sponsor us on Github](https://github.com/sponsors/drachtio/).
+
+Finally, we encourage you to think about supporting open-source RTC projects more generally.
+
+In fact, we don't think you should think of supporting open-source in a purely symmetrical fashion - e.g., "I use project A, so I should figure out how to send money to project A".
+
+We'd encourage you to think in a more asymmetric fashion. Supporting project A is great, but if you can't manage that, perhaps you can send some of your staff to an open-source conference this year, or maybe even provide sponsorship for one. Or maybe you can allow project A to use your experience publicly as a success story on their web site. The point is, there are many ways to support the overall ecosystem that you are now part of. All you need to do is care.
diff --git a/markdown/open-source/index.md b/markdown/open-source/index.md
new file mode 100644
index 0000000..185a1b9
--- /dev/null
+++ b/markdown/open-source/index.md
@@ -0,0 +1,18 @@
+# Our philosophy
+
+We're proud to offer jambonz in open-source format, available at no cost to our users and with very few restrictions. Open source software has driven many of the innovations in the real-time communications (RTC) industry, and we take pride in continuing that effort.
+
+We believe that the use and delivery of open source in RTC should be treated as an ecosystem; that is:
+- It is an environment where everyone that participates has responsibilities.
+- It is an environment that is impacted -- either positively or negatively -- by everyone that shares it and by every action taken within it.
+
+The health of the RTC open source ecosystem, like any ecosystem, is inherently fragile and should not be taken for granted.
+
+To that end, we believe that all companies in the RTC space that are engaged with open source -- both consumers and makers -- should provide an annual report summarizing their commitment to the open source ecosystem.
+
+As a point of comparison, many companies feel that they have a social mission responsibility and will report on the actions they've taken to fulfill that responsibility apart and aside from their financial results. Our shared responsibility to the stewardship of the open source RTC ecosystem should be treated in the same manner.
+
+On these pages you will find our own statement of commitment as well as instructions on how to install and use the open source.
+
+
+
diff --git a/markdown/open-source/install/overview.md b/markdown/open-source/install/overview.md
new file mode 100644
index 0000000..857da6c
--- /dev/null
+++ b/markdown/open-source/install/overview.md
@@ -0,0 +1 @@
+# How to install from open source
\ No newline at end of file
diff --git a/package.json b/package.json
index 3f4b45f..104d0c1 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,9 @@
"prebuild": "yarn lint",
"build": "next build",
"export": "next export",
+ "pretest": "node cypress/scripts/fixtures.js",
+ "test": "cypress run --headless --browser chrome",
+ "posttest": "rm -rf cypress/fixtures",
"lint": "eslint components pages lib --ext js"
},
"author": "Jambonz Developers",
@@ -27,6 +30,7 @@
"devDependencies": {
"babel-eslint": "^10.1.0",
"babel-plugin-prismjs": "^2.0.1",
+ "cypress": "^7.7.0",
"env-cmd": "^10.1.0",
"eslint": "^7.26.0",
"eslint-config-react-app": "^6.0.0",
diff --git a/pages/docs/[[...slug]].js b/pages/docs/[[...slug]].js
index 6de3f86..bac4d05 100644
--- a/pages/docs/[[...slug]].js
+++ b/pages/docs/[[...slug]].js
@@ -1,84 +1,10 @@
-import { useEffect, useState } from 'react';
-import { nanoid } from 'nanoid';
-import classNames from 'classnames';
+import { useEffect } from 'react';
+
import Prism from 'prismjs';
-import Link from 'next/link';
-import { useRouter } from 'next/router';
-
import Layout from '../../components/layout';
-import { Icon, TextLayout } from '../../components/jambonz-ui';
-import { getData, getDocs, getDocsPaths } from '../../lib/data';
-
-function Sidebar({data}) {
- const router = useRouter();
- const parsedTab = router.asPath.replace(/^\/docs\/|^\/+|\/+$/g, '').split('/').shift();
- const parsedPath = router.asPath.replace(/^\/+|\/+$/g, '').split('/').pop();
- const [active, setActive] = useState({
- [parsedTab]: true,
- });
-
- const handleToggle = (slug) => {
- setActive((oldActive) => {
- const newActive = {};
-
- for (let i in oldActive) {
- newActive[i] = oldActive[i];
- }
-
- newActive[slug] = newActive[slug] ? false : true;
-
- return newActive;
- });
- };
-
- return (
-
-
-
-
- );
-}
+import Markdown from '../../components/markdown';
+import { getData, getMarkdown, getMarkdownPaths } from '../../lib/data';
export default function Docs({ data, docs }) {
useEffect(() => {
@@ -87,18 +13,13 @@ export default function Docs({ data, docs }) {
return (
-
+
);
}
export async function getStaticPaths() {
- const paths = getDocsPaths();
+ const paths = getMarkdownPaths('docs');
return {
paths,
@@ -108,7 +29,7 @@ export async function getStaticPaths() {
export async function getStaticProps({ params }) {
const data = getData('docs');
- const docs = await getDocs(params.slug);
+ const docs = await getMarkdown('docs', params.slug);
return {
props: {
diff --git a/pages/index.js b/pages/index.js
index 0ecaca0..022316c 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -3,7 +3,7 @@ import classNames from 'classnames';
import { useState, useEffect, useRef } from 'react';
import Layout from '../components/layout';
-import { Hero, Icon, Button, H6, H5, H2, P, MS, normalizeSubtext, normalizeSlug, useMobileMedia } from '../components/jambonz-ui';
+import { Latest, Hero, Icon, Button, H6, H5, H2, P, MS, normalizeSubtext, normalizeSlug, useMobileMedia } from '../components/jambonz-ui';
import { getData } from '../lib/data';
function Tech({data}) {
@@ -146,8 +146,11 @@ function BYO({data}) {
}
export default function Home({ data }) {
+ const latest = data.site.latest.find((item) => item.active);
+
return (
+ {latest && }
diff --git a/pages/open-source/[[...slug]].js b/pages/open-source/[[...slug]].js
new file mode 100644
index 0000000..2e6bd53
--- /dev/null
+++ b/pages/open-source/[[...slug]].js
@@ -0,0 +1,40 @@
+import { useEffect } from 'react';
+
+import Prism from 'prismjs';
+
+import Layout from '../../components/layout';
+import Markdown from '../../components/markdown';
+import { getData, getMarkdown, getMarkdownPaths } from '../../lib/data';
+
+export default function OpenSource({ data, docs }) {
+ useEffect(() => {
+ setTimeout(() => Prism.highlightAll(), 0);
+ });
+
+ return (
+
+
+
+ );
+}
+
+export async function getStaticPaths() {
+ const paths = getMarkdownPaths('open-source');
+
+ return {
+ paths,
+ fallback: false,
+ };
+}
+
+export async function getStaticProps({ params }) {
+ const data = getData('open-source');
+ const docs = await getMarkdown('open-source', params.slug);
+
+ return {
+ props: {
+ data,
+ docs,
+ },
+ };
+}
diff --git a/styles/_layout.scss b/styles/_layout.scss
index 2579649..459ed4a 100644
--- a/styles/_layout.scss
+++ b/styles/_layout.scss
@@ -34,9 +34,85 @@
/******************************************************************************
* Above the fold
*******************************************************************************/
+.banner {
+ @include flex-cols();
+ @include ms();
+ justify-content: center;
+ width: 100%;
+ height: 32px;
+ color: $white;
+ background: $jambonz;
+ font-family: $font-medium;
+ position: sticky;
+ top: 0;
+ z-index: $navi-index + 1;
+
+ @media (max-width: $width-mobile) {
+ @include mxs();
+ }
+}
+
+.latest {
+ text-align: center;
+
+ &--tadhack {
+ .latest__headline {
+ max-width: 840px;
+
+ @media (max-width: $width-tablet-1) {
+ max-width: 760px;
+ }
+
+ @media (max-width: 400px) {
+ max-width: 330px;
+ }
+ }
+
+ .latest__subtext {
+ max-width: 740px;
+
+ @media (max-width: 400px) {
+ max-width: 300px;
+ }
+
+ div {
+ @media (max-width: $width-small) {
+ display: inline;
+ }
+ }
+
+ div:last-child {
+ @media (max-width: $width-small) {
+ padding-left: 6px;
+ }
+ }
+ }
+ }
+
+ &__wrap {
+ @include flex-cols();
+ }
+
+ &__headline {
+ color: $jambonz;
+ }
+
+ &__subtext {
+ margin-top: 16px;
+
+ a {
+ text-decoration: underline;
+ }
+ }
+}
+
.hero {
text-align: center;
+ &--home {
+ padding-bottom: 64px;
+ }
+
&--why {
.hero__subtext {
max-width: 870px;
@@ -80,7 +156,7 @@
}
/******************************************************************************
- * Fluid video embeds
+ * Classes for extra markdown styling
*******************************************************************************/
.video-wrap {
position: relative;
@@ -93,4 +169,9 @@
left: 0;
top: 0;
}
+}
+
+.flex {
+ display: flex;
+ justify-content: space-between;
}
\ No newline at end of file
diff --git a/styles/pages/_docs.scss b/styles/_markdown.scss
similarity index 92%
rename from styles/pages/_docs.scss
rename to styles/_markdown.scss
index 7adf503..2c9c3f3 100644
--- a/styles/pages/_docs.scss
+++ b/styles/_markdown.scss
@@ -1,6 +1,4 @@
-$font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
-
-.docs {
+.markdown {
padding-top: 64px;
padding-bottom: 96px;
diff --git a/styles/_navi.scss b/styles/_navi.scss
index c272b0a..508525d 100644
--- a/styles/_navi.scss
+++ b/styles/_navi.scss
@@ -3,6 +3,10 @@
position: relative;
z-index: $navi-index;
+ &.mobile.active {
+ z-index: $navi-index + 2;
+ }
+
// Menu / X icons for mobile nav interactions
.icon {
width: $icon-size-3;
@@ -43,7 +47,7 @@
&__links,
&__login {
- @media (max-width: $width-tablet-2) {
+ .mobile & {
display: none;
}
}
@@ -57,7 +61,7 @@
transform: translateY(-5px);
}
- @media (max-width: $width-tablet-2) {
+ .mobile & {
display: block;
}
}
@@ -134,6 +138,11 @@
&__support {
text-align: center;
padding: 32px 0;
+
+ // Force mobile padding size on button
+ .btn {
+ padding: 18px 46px;
+ }
}
}
}
\ No newline at end of file
diff --git a/styles/_reset.scss b/styles/_reset.scss
index 1ba8428..9eaf6ae 100644
--- a/styles/_reset.scss
+++ b/styles/_reset.scss
@@ -16,7 +16,11 @@
* v2.0 | 20110126
* License: none (public domain)
*******************************************************************************/
-html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
+/**
+ * Intentionally removed elements
+ * sup
+ */
+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
diff --git a/styles/_text-layout.scss b/styles/_text-layout.scss
index 01f60b2..ef60b67 100644
--- a/styles/_text-layout.scss
+++ b/styles/_text-layout.scss
@@ -1,5 +1,3 @@
-$font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
-
.text__layout {
max-width: $width-tablet-2;
width: 100%;
@@ -9,7 +7,11 @@ $font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
max-width: 100%;
}
- > div {
+ &__wrap {
+ > :first-child {
+ margin-top: 0;
+ }
+
h1 {
@include h2();
}
@@ -18,14 +20,22 @@ $font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
@include h3();
}
+ sup {
+ color: $jambonz;
+ }
+
> p, > blockquote > p {
@include ms();
}
- > blockquote > p {
- font-family: $font-regular-italic;
- border-left: inset;
- padding-left: 10px;
+ > blockquote {
+ padding-left: 16px;
+
+ > p {
+ font-family: $font-regular-italic;
+ border-left: 3px solid $jambonz;
+ padding-left: 10px;
+ }
}
> h1, > h2, > h3, > h4, > h5, > h6, > p, > div, > ul, > ol, > table, > blockquote {
@@ -47,11 +57,7 @@ $font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
}
> ul {
- padding-left: 48px;
-
- @media (max-width: $width-tablet-1) {
- padding-left: 32px;
- }
+ padding-left: 32px;
li {
list-style-type: disc;
@@ -93,8 +99,4 @@ $font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 13px;
}
}
-
- > div > :first-child {
- margin-top: 0;
- }
}
diff --git a/styles/_vars.scss b/styles/_vars.scss
index 2add789..551c621 100644
--- a/styles/_vars.scss
+++ b/styles/_vars.scss
@@ -23,6 +23,7 @@ $font-medium: 'objectivitymedium';
$font-medium-italic: 'objectivitymedium_slanted';
$font-bold: 'objectivitybold';
$font-bold-italic: 'objectivitybold_slanted';
+$font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
/******************************************************************************
* Font sizes
diff --git a/styles/global.scss b/styles/global.scss
index bfe7ad7..3ef0494 100644
--- a/styles/global.scss
+++ b/styles/global.scss
@@ -39,6 +39,7 @@
*******************************************************************************/
@import 'layout.scss';
@import 'text-layout.scss';
+@import 'markdown.scss';
/******************************************************************************
* Navi
@@ -56,5 +57,4 @@
@import 'pages/home.scss';
@import 'pages/why.scss';
@import 'pages/pricing.scss';
-@import 'pages/docs.scss';
@import 'pages/jambonz-ui.scss';
\ No newline at end of file
diff --git a/styles/pages/_home.scss b/styles/pages/_home.scss
index 7cc638e..2129538 100644
--- a/styles/pages/_home.scss
+++ b/styles/pages/_home.scss
@@ -98,6 +98,7 @@
@media (max-width: $width-tablet-2) {
flex-wrap: wrap;
+ width: 100%;
}
}
diff --git a/yarn.lock b/yarn.lock
index 746a792..22c1134 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -151,6 +151,40 @@
"@babel/helper-validator-identifier" "^7.14.5"
to-fast-properties "^2.0.0"
+"@cypress/request@^2.88.5":
+ version "2.88.5"
+ resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.5.tgz#8d7ecd17b53a849cfd5ab06d5abe7d84976375d7"
+ integrity sha512-TzEC1XMi1hJkywWpRfD2clreTa/Z+lOrXDCxxBTBPEcY5azdPi56A6Xw+O4tWJnaJH3iIE7G5aDXZC6JgRZLcA==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+"@cypress/xvfb@^1.2.4":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a"
+ integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==
+ dependencies:
+ debug "^3.1.0"
+ lodash.once "^4.1.1"
+
"@eslint/eslintrc@^0.4.2":
version "0.4.2"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179"
@@ -247,11 +281,38 @@
dependencies:
"@types/unist" "*"
+"@types/node@*":
+ version "16.3.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.3.tgz#0c30adff37bbbc7a50eb9b58fae2a504d0d88038"
+ integrity sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==
+
+"@types/node@^14.14.31":
+ version "14.17.5"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.5.tgz#b59daf6a7ffa461b5648456ca59050ba8e40ed54"
+ integrity sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==
+
+"@types/sinonjs__fake-timers@^6.0.2":
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.3.tgz#79df6f358ae8f79e628fe35a63608a0ea8e7cf08"
+ integrity sha512-E1dU4fzC9wN2QK2Cr1MLCfyHM8BoNnRFvuf45LYMPNDA+WqbNzC45S4UzPxvp1fFJ1rvSGU0bPvdd35VLmXG8g==
+
+"@types/sizzle@^2.3.2":
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef"
+ integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==
+
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
+"@types/yauzl@^2.9.1":
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a"
+ integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==
+ dependencies:
+ "@types/node" "*"
+
acorn-jsx@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
@@ -262,7 +323,15 @@ acorn@^7.4.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-ajv@^6.10.0, ajv@^6.12.4:
+aggregate-error@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+ integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
+ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -292,6 +361,13 @@ ansi-colors@^4.1.1:
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+ansi-escapes@^4.3.0:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
ansi-regex@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
@@ -327,6 +403,11 @@ anymatch@~3.1.1:
normalize-path "^3.0.0"
picomatch "^2.0.4"
+arch@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
+ integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
+
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@@ -381,6 +462,18 @@ asn1.js@^4.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
+asn1@~0.2.3:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+ integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
assert@^1.1.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
@@ -404,6 +497,31 @@ astral-regex@^2.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+async@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
+ integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
+ integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+
axe-core@^4.0.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.2.tgz#0c987d82c8b82b4b9b7a945f1b5ef0d8fed586ed"
@@ -451,6 +569,13 @@ base64-js@^1.0.2:
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+ dependencies:
+ tweetnacl "^0.14.3"
+
big.js@^5.2.2:
version "5.2.2"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
@@ -461,6 +586,16 @@ binary-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==
+blob-util@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb"
+ integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==
+
+bluebird@^3.7.2:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
version "4.12.0"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
@@ -563,6 +698,11 @@ browserslist@4.16.1:
escalade "^3.1.1"
node-releases "^1.1.69"
+buffer-crc32@~0.2.3:
+ version "0.2.13"
+ resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+ integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
+
buffer-xor@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
@@ -595,6 +735,11 @@ bytes@3.1.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
+cachedir@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8"
+ integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==
+
call-bind@^1.0.0, call-bind@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
@@ -613,6 +758,11 @@ caniuse-lite@^1.0.30001173, caniuse-lite@^1.0.30001179:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz#b848ebc0ab230cf313d194a4775a30155d50ae40"
integrity sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
ccount@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043"
@@ -635,7 +785,7 @@ chalk@4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^4.0.0:
+chalk@^4.0.0, chalk@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
@@ -663,6 +813,11 @@ character-reference-invalid@^1.0.0:
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
+check-more-types@^2.24.0:
+ version "2.24.0"
+ resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600"
+ integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=
+
chokidar@3.5.1, "chokidar@>=2.0.0 <4.0.0":
version "3.5.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
@@ -678,6 +833,11 @@ chokidar@3.5.1, "chokidar@>=2.0.0 <4.0.0":
optionalDependencies:
fsevents "~2.3.1"
+ci-info@^3.1.1:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
+ integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
+
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
@@ -691,6 +851,36 @@ classnames@2.2.6, classnames@^2.2.6:
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-table3@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee"
+ integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==
+ dependencies:
+ object-assign "^4.1.0"
+ string-width "^4.2.0"
+ optionalDependencies:
+ colors "^1.1.2"
+
+cli-truncate@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
+ integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+ dependencies:
+ slice-ansi "^3.0.0"
+ string-width "^4.2.0"
+
clipboard@^2.0.0:
version "2.0.8"
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba"
@@ -729,6 +919,23 @@ colorette@^1.2.1:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
+colorette@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
+ integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
+
+colors@^1.1.2:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
+ integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
+
+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"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
comma-separated-tokens@^1.0.0:
version "1.0.8"
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
@@ -739,6 +946,16 @@ commander@^4.0.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+commander@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+ integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
+common-tags@^1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
+ integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==
+
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -776,7 +993,7 @@ core-js-pure@^3.15.0:
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.15.0.tgz#c19349ae0be197b8bcf304acf4d91c5e29ae2091"
integrity sha512-RO+LFAso8DB6OeBX9BAcEGvyth36QtxYon1OyVsITNVtSKr/Hos0BXZwnsOJ7o+O6KHtK+O+cJIEj9NGg6VwFA==
-core-util-is@~1.0.0:
+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=
@@ -859,16 +1076,75 @@ cssnano-simple@1.2.2:
cssnano-preset-simple "1.2.2"
postcss "^7.0.32"
+cypress@^7.7.0:
+ version "7.7.0"
+ resolved "https://registry.yarnpkg.com/cypress/-/cypress-7.7.0.tgz#0839ae28e5520536f9667d6c9ae81496b3836e64"
+ integrity sha512-uYBYXNoI5ym0UxROwhQXWTi8JbUEjpC6l/bzoGZNxoKGsLrC1SDPgIDJMgLX/MeEdPL0UInXLDUWN/rSyZUCjQ==
+ dependencies:
+ "@cypress/request" "^2.88.5"
+ "@cypress/xvfb" "^1.2.4"
+ "@types/node" "^14.14.31"
+ "@types/sinonjs__fake-timers" "^6.0.2"
+ "@types/sizzle" "^2.3.2"
+ arch "^2.2.0"
+ blob-util "^2.0.2"
+ bluebird "^3.7.2"
+ cachedir "^2.3.0"
+ chalk "^4.1.0"
+ check-more-types "^2.24.0"
+ cli-cursor "^3.1.0"
+ cli-table3 "~0.6.0"
+ commander "^5.1.0"
+ common-tags "^1.8.0"
+ dayjs "^1.10.4"
+ debug "^4.3.2"
+ enquirer "^2.3.6"
+ eventemitter2 "^6.4.3"
+ execa "4.1.0"
+ executable "^4.1.1"
+ extract-zip "2.0.1"
+ figures "^3.2.0"
+ fs-extra "^9.1.0"
+ getos "^3.2.1"
+ is-ci "^3.0.0"
+ is-installed-globally "~0.4.0"
+ lazy-ass "^1.6.0"
+ listr2 "^3.8.3"
+ lodash "^4.17.21"
+ log-symbols "^4.0.0"
+ minimist "^1.2.5"
+ ospath "^1.2.2"
+ pretty-bytes "^5.6.0"
+ ramda "~0.27.1"
+ request-progress "^3.0.0"
+ supports-color "^8.1.1"
+ tmp "~0.2.1"
+ untildify "^4.0.0"
+ url "^0.11.0"
+ yauzl "^2.10.0"
+
damerau-levenshtein@^1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d"
integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+ dependencies:
+ assert-plus "^1.0.0"
+
data-uri-to-buffer@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636"
integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==
+dayjs@^1.10.4:
+ version "1.10.6"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.6.tgz#288b2aa82f2d8418a6c9d4df5898c0737ad02a63"
+ integrity sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw==
+
debug@2, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -876,7 +1152,7 @@ debug@2, debug@^2.6.9:
dependencies:
ms "2.0.0"
-debug@^3.2.7:
+debug@^3.1.0, debug@^3.2.7:
version "3.2.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
@@ -890,6 +1166,13 @@ debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
dependencies:
ms "2.1.2"
+debug@^4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+ integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+ dependencies:
+ ms "2.1.2"
+
deep-is@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
@@ -902,6 +1185,11 @@ define-properties@^1.1.3:
dependencies:
object-keys "^1.0.12"
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
delegate@^3.1.2:
version "3.2.0"
resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
@@ -948,6 +1236,14 @@ domain-browser@^1.1.1:
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
electron-to-chromium@^1.3.634:
version "1.3.675"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz#7ad29f98d7b48da581554eb28bb9a71fd5fd4956"
@@ -981,7 +1277,14 @@ emojis-list@^2.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
-enquirer@^2.3.5:
+end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+enquirer@^2.3.5, enquirer@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
@@ -1281,6 +1584,11 @@ etag@1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+eventemitter2@^6.4.3:
+ version "6.4.4"
+ resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.4.tgz#aa96e8275c4dbeb017a5d0e03780c65612a1202b"
+ integrity sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw==
+
events@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59"
@@ -1294,6 +1602,28 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
+execa@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
+ integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ human-signals "^1.1.1"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.0"
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
+executable@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c"
+ integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==
+ dependencies:
+ pify "^2.2.0"
+
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
@@ -1301,11 +1631,32 @@ extend-shallow@^2.0.1:
dependencies:
is-extendable "^0.1.0"
-extend@^3.0.0:
+extend@^3.0.0, extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+extract-zip@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
+ integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
+ dependencies:
+ debug "^4.1.1"
+ get-stream "^5.1.0"
+ yauzl "^2.10.0"
+ optionalDependencies:
+ "@types/yauzl" "^2.9.1"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -1321,6 +1672,20 @@ fast-levenshtein@^2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+fd-slicer@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+ integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
+ dependencies:
+ pend "~1.2.0"
+
+figures@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
file-entry-cache@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
@@ -1372,6 +1737,30 @@ flatted@^3.1.0:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+fs-extra@^9.1.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -1408,6 +1797,27 @@ get-orientation@1.1.2:
dependencies:
stream-parser "^0.3.1"
+get-stream@^5.0.0, get-stream@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
+getos@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5"
+ integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==
+ dependencies:
+ async "^3.2.0"
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+ dependencies:
+ assert-plus "^1.0.0"
+
glob-parent@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
@@ -1439,6 +1849,13 @@ glob@^7.0.5, glob@^7.1.3:
once "^1.3.0"
path-is-absolute "^1.0.0"
+global-dirs@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
+ integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==
+ dependencies:
+ ini "2.0.0"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -1470,6 +1887,11 @@ graceful-fs@^4.1.2:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+graceful-fs@^4.1.6, graceful-fs@^4.2.0:
+ version "4.2.6"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
+ integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
+
gray-matter@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454"
@@ -1480,6 +1902,19 @@ gray-matter@^4.0.2:
section-matter "^1.0.0"
strip-bom-string "^1.0.0"
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.3:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+ integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+ dependencies:
+ ajv "^6.12.3"
+ har-schema "^2.0.0"
+
has-bigints@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
@@ -1592,11 +2027,25 @@ http-errors@1.7.3:
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+human-signals@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
+ integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+
husky@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/husky/-/husky-6.0.0.tgz#810f11869adf51604c32ea577edbc377d7f9319e"
@@ -1632,6 +2081,11 @@ imurmurhash@^0.1.4:
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@@ -1655,6 +2109,11 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+ini@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
+ integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
+
internal-slot@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
@@ -1711,6 +2170,13 @@ is-callable@^1.1.4, is-callable@^1.2.3:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
+is-ci@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
+ integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==
+ dependencies:
+ ci-info "^3.1.1"
+
is-core-module@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887"
@@ -1762,6 +2228,14 @@ is-hexadecimal@^1.0.0:
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
+is-installed-globally@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
+ integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
+ dependencies:
+ global-dirs "^3.0.0"
+ is-path-inside "^3.0.2"
+
is-negative-zero@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
@@ -1777,6 +2251,11 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+is-path-inside@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
is-plain-obj@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
@@ -1798,6 +2277,11 @@ is-regex@^1.1.3:
call-bind "^1.0.2"
has-symbols "^1.0.2"
+is-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+
is-string@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
@@ -1815,6 +2299,16 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.1"
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -1832,6 +2326,11 @@ isobject@^2.0.0:
dependencies:
isarray "1.0.0"
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
jest-worker@24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
@@ -1861,6 +2360,11 @@ js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.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@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
@@ -1881,11 +2385,21 @@ json-schema-traverse@^1.0.0:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -1893,6 +2407,25 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82"
@@ -1918,6 +2451,11 @@ language-tags@^1.0.5:
dependencies:
language-subtag-registry "~0.3.2"
+lazy-ass@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
+ integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM=
+
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -1934,6 +2472,19 @@ line-column@^1.0.2:
isarray "^1.0.0"
isobject "^2.0.0"
+listr2@^3.8.3:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.10.0.tgz#58105a53ed7fa1430d1b738c6055ef7bb006160f"
+ integrity sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw==
+ dependencies:
+ cli-truncate "^2.1.0"
+ colorette "^1.2.2"
+ log-update "^4.0.0"
+ p-map "^4.0.0"
+ rxjs "^6.6.7"
+ through "^2.3.8"
+ wrap-ansi "^7.0.0"
+
load-json-file@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
@@ -1978,6 +2529,11 @@ lodash.merge@^4.6.2:
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+lodash.once@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+ integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
+
lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
@@ -1993,11 +2549,29 @@ lodash@^4.17.13:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
-lodash@^4.17.15:
+lodash@^4.17.15, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+log-symbols@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
+ dependencies:
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
+
+log-update@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
+ integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
+ dependencies:
+ ansi-escapes "^4.3.0"
+ cli-cursor "^3.1.0"
+ slice-ansi "^4.0.0"
+ wrap-ansi "^6.2.0"
+
longest-streak@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
@@ -2211,6 +2785,23 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
+mime-db@1.48.0:
+ version "1.48.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d"
+ integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==
+
+mime-types@^2.1.12, mime-types@~2.1.19:
+ version "2.1.31"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b"
+ integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==
+ dependencies:
+ mime-db "1.48.0"
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -2228,7 +2819,7 @@ minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
-minimist@^1.2.0:
+minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -2374,7 +2965,19 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-object-assign@^4.1.1:
+npm-run-path@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@@ -2442,13 +3045,20 @@ object.values@^1.1.4:
define-properties "^1.1.3"
es-abstract "^1.18.2"
-once@^1.3.0:
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
+onetime@^5.1.0:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
optionator@^0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
@@ -2466,6 +3076,11 @@ os-browserify@^0.3.0:
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
+ospath@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b"
+ integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=
+
p-limit@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
@@ -2501,6 +3116,13 @@ p-locate@^4.1.0:
dependencies:
p-limit "^2.2.0"
+p-map@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ dependencies:
+ aggregate-error "^3.0.0"
+
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
@@ -2580,7 +3202,7 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-path-key@^3.1.0:
+path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
@@ -2608,11 +3230,26 @@ pbkdf2@^3.0.3:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
+pend@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+ integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+pify@^2.2.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"
@@ -2680,6 +3317,11 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+pretty-bytes@^5.6.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
+ integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
+
prismjs@^1.23.0:
version "1.23.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33"
@@ -2718,6 +3360,11 @@ property-information@^5.0.0:
dependencies:
xtend "^4.0.0"
+psl@^1.1.28:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+
public-encrypt@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
@@ -2730,6 +3377,14 @@ public-encrypt@^4.0.0:
randombytes "^2.0.1"
safe-buffer "^5.1.2"
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
@@ -2740,11 +3395,16 @@ punycode@^1.2.4:
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==
+qs@~6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+ integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -2755,6 +3415,11 @@ querystring@0.2.0, querystring@^0.2.0:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
+ramda@~0.27.1:
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9"
+ integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==
+
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -2923,6 +3588,13 @@ repeat-string@^1.0.0:
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+request-progress@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe"
+ integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=
+ dependencies:
+ throttleit "^1.0.0"
+
require-from-string@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
@@ -2949,7 +3621,15 @@ resolve@^2.0.0-next.3:
is-core-module "^2.2.0"
path-parse "^1.0.6"
-rimraf@^3.0.2:
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+rimraf@^3.0.0, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
@@ -2964,6 +3644,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0"
inherits "^2.0.1"
+rxjs@^6.6.7:
+ version "6.6.7"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
+ integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
+ dependencies:
+ tslib "^1.9.0"
+
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
@@ -2974,7 +3661,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-"safer-buffer@>= 2.1.2 < 3":
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@@ -3068,6 +3755,20 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
+signal-exit@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
+ integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+
+slice-ansi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
+ integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
slice-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
@@ -3135,6 +3836,21 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+sshpk@^1.7.0:
+ version "1.16.1"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
+ integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
stacktrace-parser@0.1.10:
version "0.1.10"
resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
@@ -3191,7 +3907,7 @@ string-natural-compare@^3.0.1:
resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4"
integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==
-string-width@^4.2.0:
+string-width@^4.1.0, string-width@^4.2.0:
version "4.2.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
@@ -3270,6 +3986,11 @@ strip-bom@^3.0.0:
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
@@ -3320,6 +4041,13 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
+supports-color@^8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
table@^6.0.9:
version "6.7.1"
resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
@@ -3337,6 +4065,16 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+throttleit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
+ integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=
+
+through@^2.3.8:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
timers-browserify@^2.0.4:
version "2.0.11"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
@@ -3349,6 +4087,13 @@ tiny-emitter@^2.0.0:
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+tmp@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
+ integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
+ dependencies:
+ rimraf "^3.0.0"
+
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
@@ -3371,6 +4116,14 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+tough-cookie@~2.5.0:
+ 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"
+
tr46@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
@@ -3398,11 +4151,28 @@ tsconfig-paths@^3.9.0:
minimist "^1.2.0"
strip-bom "^3.0.0"
+tslib@^1.9.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -3415,6 +4185,11 @@ type-fest@^0.20.2:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
type-fest@^0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
@@ -3486,11 +4261,21 @@ unist-util-visit@^2.0.0:
unist-util-is "^4.0.0"
unist-util-visit-parents "^3.0.0"
+universalify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+ integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
unpipe@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+untildify@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
+ integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
+
uri-js@^4.2.2:
version "4.4.1"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
@@ -3532,6 +4317,11 @@ util@^0.11.0:
dependencies:
inherits "2.0.3"
+uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
v8-compile-cache@^2.0.3:
version "2.3.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
@@ -3545,6 +4335,15 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
vfile-message@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
@@ -3613,6 +4412,24 @@ word-wrap@^1.2.3:
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -3636,6 +4453,14 @@ yamljs@^0.3.0:
argparse "^1.0.7"
glob "^7.0.5"
+yauzl@^2.10.0:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+ integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
+ dependencies:
+ buffer-crc32 "~0.2.3"
+ fd-slicer "~1.1.0"
+
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"