diff --git a/.eslintignore b/.eslintignore
index a3b85480f..7c59bb6bd 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -2,4 +2,6 @@
packages/docsify-server-renderer/build.js
node_modules
build
-server.js
\ No newline at end of file
+server.js
+cypress
+lib
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index ea4b5b805..e9803a96f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,8 @@
node_modules
themes/
lib/
+cypress/integration/examples
+cypress/fixtures/docs
# exceptions
!.gitkeep
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index b97f8f1ca..49cfc9814 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,23 @@
sudo: false
language: node_js
node_js: stable
-
+node_js:
+ - '10'
+ - '8'
+ - '12'
+branches:
+ only:
+ - master
+ - develop
+cache:
+ directories:
+ - node_modules
+before_install:
+ - npm update
+install:
+ - npm install
+script:
+ - npm run build
+ - npm run test:e2e
script:
- npm run lint
diff --git a/cypress.json b/cypress.json
new file mode 100644
index 000000000..60ed5aa53
--- /dev/null
+++ b/cypress.json
@@ -0,0 +1,3 @@
+{
+ "video": false
+}
diff --git a/cypress/fixtures/tpl/docs.index.html b/cypress/fixtures/tpl/docs.index.html
new file mode 100644
index 000000000..94d9526e1
--- /dev/null
+++ b/cypress/fixtures/tpl/docs.index.html
@@ -0,0 +1,123 @@
+
+
+
+
+ docsify-e2e-tests
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading Docsify e2e tests suite...
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cypress/integration/sidebar/config.spec.js b/cypress/integration/sidebar/config.spec.js
new file mode 100644
index 000000000..507a9031e
--- /dev/null
+++ b/cypress/integration/sidebar/config.spec.js
@@ -0,0 +1,344 @@
+context('sidebar.configurations', () => {
+ beforeEach(() => {
+ cy.visit('http://localhost:3000')
+ })
+
+ const quickStartIds = [
+ 'initialize',
+ 'writing-content',
+ 'preview-your-site',
+ 'manual-initialization',
+ 'loading-dialog'
+ ]
+ quickStartIds.forEach(id => {
+ it('go to #quickstart?id=' + id, () => {
+ cy.get(
+ '.sidebar-nav > :nth-child(1) > :nth-child(1) > ul > :nth-child(1) > a'
+ ).click()
+
+ cy.get(`a.section-link[href='#/quickstart?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const configurationIds = [
+ 'el',
+ 'repo',
+ 'maxlevel',
+ 'loadnavbar',
+ 'loadsidebar',
+ 'submaxlevel',
+ 'auto2top',
+ 'homepage',
+ 'basepath',
+ 'relativepath',
+ 'coverpage',
+ 'logo',
+ 'name',
+ 'namelink',
+ 'markdown',
+ 'themecolor',
+ 'alias',
+ 'autoheader',
+ 'executescript',
+ 'noemoji',
+ 'mergenavbar',
+ 'formatupdated',
+ 'externallinktarget',
+ 'cornerexternallinktarget',
+ 'externallinkrel',
+ 'routermode',
+ 'nocompilelinks',
+ 'onlycover',
+ 'requestheaders',
+ 'ext',
+ 'fallbacklanguages',
+ 'notfoundpage'
+ ]
+ configurationIds.forEach(id => {
+ it('go to #configuration?id=' + id, () => {
+ cy.get('[href="#/configuration"]').click()
+
+ cy.get(`a.section-link[href='#/configuration?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500) // its more far from the cover
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const morePagesIds = [
+ 'sidebar',
+ 'nested-sidebars',
+ 'set-page-titles-from-sidebar-selection',
+ 'table-of-contents',
+ 'ignoring-subheaders'
+ ]
+ morePagesIds.forEach(id => {
+ it('go to #more-pages?id=' + id, () => {
+ cy.get('[href="#/more-pages"]').click()
+
+ cy.get(`a.section-link[href='#/more-pages?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const customNavbarIds = [
+ 'html',
+ 'markdown',
+ 'nesting',
+ 'combining-custom-navbars-with-the-emoji-plugin'
+ ]
+ customNavbarIds.forEach(id => {
+ it('go to #custom-navbar?id=' + id, () => {
+ cy.get('[href="#/custom-navbar"]').click()
+
+ cy.get(`a.section-link[href='#/custom-navbar?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const coverIds = [
+ 'basic-usage',
+ 'custom-background',
+ 'coverpage-as-homepage',
+ 'multiple-covers'
+ ]
+ coverIds.forEach(id => {
+ it('go to #cover?id=' + id, () => {
+ cy.get('[href="#/cover"]').click()
+
+ cy.get(`a.section-link[href='#/cover?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const themesIds = ['other-themes']
+ themesIds.forEach(id => {
+ it('go to #themes?id=' + id, () => {
+ cy.get('[href="#/themes"]').click()
+
+ cy.get(`a.section-link[href='#/themes?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const pluginsIds = [
+ 'full-text-search',
+ 'google-analytics',
+ 'emoji',
+ 'external-script',
+ 'zoom-image',
+ 'edit-on-github',
+ 'demo-code-with-instant-preview-and-jsfiddle-integration',
+ 'copy-to-clipboard',
+ 'disqus',
+ 'gitalk',
+ 'pagination',
+ 'codefund',
+ 'tabs',
+ 'more-plugins'
+ ]
+ pluginsIds.forEach(id => {
+ it('go to #plugins?id=' + id, () => {
+ cy.get('[href="#/plugins"]').click()
+
+ cy.get(`a.section-link[href='#/plugins?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const writeAPluginIds = ['full-configuration', 'example', 'tips']
+ writeAPluginIds.forEach(id => {
+ it('go to #write-a-plugin?id=' + id, () => {
+ cy.get('[href="#/write-a-plugin"]').click()
+
+ cy.get(`a.section-link[href='#/write-a-plugin?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const markdownIds = ['supports-mermaid']
+ markdownIds.forEach(id => {
+ it('go to #markdown?id=' + id, () => {
+ cy.get('[href="#/markdown"]').click()
+
+ cy.get(`a.section-link[href='#/markdown?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ it('go to #Language-highlight', () => {
+ cy.get('a[href="#/language-highlight"]')
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+
+ // const deployIds = [
+ // 'github-pages',
+ // 'gitlab-pages',
+ // 'firebase-hosting',
+ // 'vps',
+ // 'netlify',
+ // 'zeit-now',
+ // 'aws-amplify'
+ // ]
+ // deployIds.forEach(id => {
+ // it('go to #deploy?id=' + id, () => {
+ // cy.get('[href="#/deploy"]').click()
+
+ // cy.get(`a.section-link[href='#/deploy?id=${id}']`)
+ // .click()
+ // .then(() => {
+ // cy.wait(500)
+ // cy.matchImageSnapshot()
+ // })
+ // })
+ // })
+
+ const helpersIds = [
+ 'important-content',
+ 'general-tips',
+ 'ignore-to-compile-link',
+ 'set-target-attribute-for-link',
+ 'disable-link',
+ 'github-task-lists',
+ 'image-resizing',
+ 'customise-id-for-headings',
+ 'markdown-in-html-tag'
+ ]
+ helpersIds.forEach(id => {
+ it('go to #helpers?id=' + id, () => {
+ cy.get('[href="#/helpers"]').click()
+
+ cy.get(`a.section-link[href='#/helpers?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const vueIds = ['basic-usage', 'combine-vuep-to-write-playground']
+ vueIds.forEach(id => {
+ it('go to #vue?id=' + id, () => {
+ cy.get('[href="#/vue"]').click()
+
+ cy.get(`a.section-link[href='#/vue?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const cdnIds = [
+ 'latest-version',
+ 'specific-version',
+ 'compressed-file',
+ 'other-cdn'
+ ]
+ cdnIds.forEach(id => {
+ it('go to #cdn?id=' + id, () => {
+ cy.get('[href="#/cdn"]').click()
+
+ cy.get(`a.section-link[href='#/cdn?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const pwaIds = ['create-serviceworker', 'register', 'enjoy-it']
+ pwaIds.forEach(id => {
+ it('go to #pwa?id=' + id, () => {
+ cy.get('[href="#/pwa"]').click()
+
+ cy.get(`a.section-link[href='#/pwa?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+
+ const ssrIds = [
+ 'why-ssr',
+ 'quick-start',
+ 'custom-template',
+ 'configuration',
+ 'deploy-for-your-vps'
+ ]
+
+ ssrIds.forEach(id => {
+ it('go to #ssr?id=' + id, () => {
+ cy.get('[href="#/ssr"]').click()
+
+ cy.get(`a.section-link[href='#/ssr?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+ const embedFilesIds = [
+ 'embedded-file-type',
+ 'embedded-code-fragments',
+ 'tag-attribute',
+ 'the-code-block-highlight'
+ ]
+ embedFilesIds.forEach(id => {
+ it('go to #embed-files?id=' + id, () => {
+ cy.get('[href="#/embed-files"]').click()
+
+ cy.get(`a.section-link[href='#/embed-files?id=${id}']`)
+ .click()
+ .then(() => {
+ cy.wait(500)
+ cy.matchImageSnapshot()
+ })
+ })
+ })
+})
diff --git a/cypress/live.server.js b/cypress/live.server.js
new file mode 100644
index 000000000..bb22b8f07
--- /dev/null
+++ b/cypress/live.server.js
@@ -0,0 +1,13 @@
+const path = require('path')
+const LiveServer = require('live-server')
+
+const fixturePath = path.join(__dirname, './fixtures/docs')
+const args = process.argv.slice(2)
+console.log('[e2e tests] : args passed to live server', args)
+const params = {
+ port: args[0] || 3000,
+ root: args[1] || fixturePath,
+ open: false
+ // NoBrowser: true
+}
+LiveServer.start(params)
diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js
new file mode 100644
index 000000000..aebcffbd7
--- /dev/null
+++ b/cypress/plugins/index.js
@@ -0,0 +1,18 @@
+// ***********************************************************
+// 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)
+const { addMatchImageSnapshotPlugin } = require('cypress-image-snapshot/plugin')
+module.exports = (on, config) => {
+ // `on` is used to hook into various events Cypress emits
+ // `config` is the resolved Cypress config
+ addMatchImageSnapshotPlugin(on, config)
+}
diff --git a/cypress/setup.js b/cypress/setup.js
new file mode 100644
index 000000000..6372ff347
--- /dev/null
+++ b/cypress/setup.js
@@ -0,0 +1,75 @@
+const copyDir = require('copy-dir')
+const path = require('path')
+const fs = require('fs')
+const { spawn } = require('child_process')
+
+const setup = async () => {
+ const PORT = process.env.PORT || 3000
+ global.__LIVESERVER__ = null
+ global.PORT = PORT
+
+ /**
+ * IN this test suite, we are going to test our docs site with all the css,js linked to our local build packages
+ *
+ * 1.1 Copy ../docs --> ./fixtures/docs
+ * 1.2 copy lib,themes --> ./fixtures/
+ * 2. change the content of fixtures/docs/index.html to use all the links from our local build
+ * 3. now jest runner will run to test all the *.spec.js files
+ *
+ */
+
+ const shippedDirs = ['lib', 'themes']
+
+ // 1
+ const docsPath = path.join(process.cwd(), './docs')
+ const fixtureDocsPath = path.join(__dirname, './fixtures/docs')
+
+ // 1.1
+ console.log('[cypress test docs] Copying the docs --> cypress/fixtures/docs')
+ copyDir.sync(docsPath, fixtureDocsPath)
+
+ // 1.2
+ shippedDirs.forEach(dir => {
+ const fromPath = path.join(process.cwd(), dir)
+ const toPath = path.join(__dirname, `./fixtures/docs/${dir}`)
+ console.log(
+ `[cypress test docs] Copying ${dir} --> cypress/fixtures/docs/${dir}`
+ )
+ copyDir.sync(fromPath, toPath)
+ })
+
+ // 2
+ console.log(
+ '[cypress test docs] Replacing content the tpl/index.html --> cypress/fixtures/docs/index.html'
+ )
+ const indexHTMLtplPath = path.join(
+ __dirname,
+ './fixtures/tpl/docs.index.html'
+ )
+ const fixtureIndexPath = path.join(__dirname, './fixtures/docs/index.html')
+ const data = fs.readFileSync(indexHTMLtplPath, 'utf8')
+
+ // 3
+ const fixturePath = path.join(__dirname, './fixtures/docs')
+
+ fs.writeFileSync(fixtureIndexPath, data, 'utf8')
+ const child = spawn('node', [
+ path.join(__dirname, './live.server.js'),
+ PORT,
+ fixturePath
+ ])
+ child.on('exit', code => {
+ console.log(`Child process exited with code ${code}`)
+ })
+ child.stdout.on('data', data => {
+ console.log(`stdout: ${data}`)
+ })
+ child.stderr.on('data', data => {
+ console.log(`stderr: ${data}`)
+ })
+
+ // LiveServer.start(params)
+ global.__LIVESERVER__ = child
+}
+
+setup()
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #Language-highlight.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #Language-highlight.snap.png
new file mode 100644
index 000000000..72b08228c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #Language-highlight.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=compressed-file.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=compressed-file.snap.png
new file mode 100644
index 000000000..321a76daa
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=compressed-file.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=latest-version.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=latest-version.snap.png
new file mode 100644
index 000000000..644bcb430
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=latest-version.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=other-cdn.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=other-cdn.snap.png
new file mode 100644
index 000000000..0b0a6b49f
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=other-cdn.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=specific-version.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=specific-version.snap.png
new file mode 100644
index 000000000..e67b7d8ed
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #cdnid=specific-version.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=alias.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=alias.snap.png
new file mode 100644
index 000000000..3a08f08de
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=alias.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=auto2top.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=auto2top.snap.png
new file mode 100644
index 000000000..3339dfa2d
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=auto2top.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=autoheader.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=autoheader.snap.png
new file mode 100644
index 000000000..fbd7e46f5
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=autoheader.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=basepath.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=basepath.snap.png
new file mode 100644
index 000000000..e638b1430
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=basepath.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=cornerexternallinktarget.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=cornerexternallinktarget.snap.png
new file mode 100644
index 000000000..9aa6d4eff
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=cornerexternallinktarget.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=coverpage.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=coverpage.snap.png
new file mode 100644
index 000000000..8c493487c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=coverpage.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=el.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=el.snap.png
new file mode 100644
index 000000000..be601aeee
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=el.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=executescript.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=executescript.snap.png
new file mode 100644
index 000000000..ceda91886
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=executescript.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=ext.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=ext.snap.png
new file mode 100644
index 000000000..937219138
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=ext.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=externallinkrel.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=externallinkrel.snap.png
new file mode 100644
index 000000000..7cb5da30c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=externallinkrel.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=externallinktarget.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=externallinktarget.snap.png
new file mode 100644
index 000000000..61d7f13cb
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=externallinktarget.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=fallbacklanguages.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=fallbacklanguages.snap.png
new file mode 100644
index 000000000..c0413cd60
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=fallbacklanguages.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=formatupdated.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=formatupdated.snap.png
new file mode 100644
index 000000000..241a1b9ea
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=formatupdated.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=homepage.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=homepage.snap.png
new file mode 100644
index 000000000..5f5634101
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=homepage.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=loadnavbar.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=loadnavbar.snap.png
new file mode 100644
index 000000000..32a482c62
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=loadnavbar.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=loadsidebar.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=loadsidebar.snap.png
new file mode 100644
index 000000000..4a2a20175
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=loadsidebar.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=logo.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=logo.snap.png
new file mode 100644
index 000000000..56e6e8a97
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=logo.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=markdown.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=markdown.snap.png
new file mode 100644
index 000000000..ab8bd3de9
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=markdown.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=maxlevel.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=maxlevel.snap.png
new file mode 100644
index 000000000..166fe7cb9
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=maxlevel.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=mergenavbar.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=mergenavbar.snap.png
new file mode 100644
index 000000000..37194fefd
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=mergenavbar.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=name.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=name.snap.png
new file mode 100644
index 000000000..f2bf3b501
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=name.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=namelink.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=namelink.snap.png
new file mode 100644
index 000000000..afac9884c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=namelink.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=nocompilelinks.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=nocompilelinks.snap.png
new file mode 100644
index 000000000..f3834316c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=nocompilelinks.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=noemoji.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=noemoji.snap.png
new file mode 100644
index 000000000..9c0fd6e48
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=noemoji.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=notfoundpage.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=notfoundpage.snap.png
new file mode 100644
index 000000000..de07b38c2
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=notfoundpage.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=onlycover.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=onlycover.snap.png
new file mode 100644
index 000000000..d3c695082
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=onlycover.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=relativepath.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=relativepath.snap.png
new file mode 100644
index 000000000..49fe41877
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=relativepath.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=repo.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=repo.snap.png
new file mode 100644
index 000000000..3d417526f
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=repo.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=requestheaders.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=requestheaders.snap.png
new file mode 100644
index 000000000..905fd8d32
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=requestheaders.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=routermode.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=routermode.snap.png
new file mode 100644
index 000000000..80a961a65
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=routermode.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=submaxlevel.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=submaxlevel.snap.png
new file mode 100644
index 000000000..f02ba129c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=submaxlevel.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=themecolor.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=themecolor.snap.png
new file mode 100644
index 000000000..d332afd54
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #configurationid=themecolor.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=basic-usage.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=basic-usage.snap.png
new file mode 100644
index 000000000..a9c9e7da4
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=basic-usage.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=coverpage-as-homepage.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=coverpage-as-homepage.snap.png
new file mode 100644
index 000000000..f0969dd20
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=coverpage-as-homepage.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=custom-background.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=custom-background.snap.png
new file mode 100644
index 000000000..043698207
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=custom-background.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=multiple-covers.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=multiple-covers.snap.png
new file mode 100644
index 000000000..c1cd316bf
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #coverid=multiple-covers.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=combining-custom-navbars-with-the-emoji-plugin.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=combining-custom-navbars-with-the-emoji-plugin.snap.png
new file mode 100644
index 000000000..380af07ec
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=combining-custom-navbars-with-the-emoji-plugin.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=html.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=html.snap.png
new file mode 100644
index 000000000..76f29205c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=html.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=markdown.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=markdown.snap.png
new file mode 100644
index 000000000..8fceec9f0
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=markdown.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=nesting.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=nesting.snap.png
new file mode 100644
index 000000000..5e6108003
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #custom-navbarid=nesting.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=embedded-code-fragments.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=embedded-code-fragments.snap.png
new file mode 100644
index 000000000..78b3759ca
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=embedded-code-fragments.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=embedded-file-type.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=embedded-file-type.snap.png
new file mode 100644
index 000000000..020ea504c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=embedded-file-type.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=tag-attribute.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=tag-attribute.snap.png
new file mode 100644
index 000000000..44094cb44
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=tag-attribute.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=the-code-block-highlight.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=the-code-block-highlight.snap.png
new file mode 100644
index 000000000..dfe765984
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #embed-filesid=the-code-block-highlight.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=customise-id-for-headings.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=customise-id-for-headings.snap.png
new file mode 100644
index 000000000..5af7acf88
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=customise-id-for-headings.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=disable-link.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=disable-link.snap.png
new file mode 100644
index 000000000..159c2ee32
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=disable-link.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=general-tips.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=general-tips.snap.png
new file mode 100644
index 000000000..c6d0dbfdc
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=general-tips.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=github-task-lists.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=github-task-lists.snap.png
new file mode 100644
index 000000000..52b33f23c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=github-task-lists.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=ignore-to-compile-link.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=ignore-to-compile-link.snap.png
new file mode 100644
index 000000000..af0dfb449
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=ignore-to-compile-link.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=image-resizing.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=image-resizing.snap.png
new file mode 100644
index 000000000..ababb8153
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=image-resizing.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=important-content.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=important-content.snap.png
new file mode 100644
index 000000000..546fbf038
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=important-content.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=markdown-in-html-tag.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=markdown-in-html-tag.snap.png
new file mode 100644
index 000000000..943fd1283
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=markdown-in-html-tag.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=set-target-attribute-for-link.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=set-target-attribute-for-link.snap.png
new file mode 100644
index 000000000..64723294d
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #helpersid=set-target-attribute-for-link.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #markdownid=supports-mermaid.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #markdownid=supports-mermaid.snap.png
new file mode 100644
index 000000000..ddc3347cf
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #markdownid=supports-mermaid.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=ignoring-subheaders.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=ignoring-subheaders.snap.png
new file mode 100644
index 000000000..b3495a5dd
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=ignoring-subheaders.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=nested-sidebars.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=nested-sidebars.snap.png
new file mode 100644
index 000000000..3924aeb93
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=nested-sidebars.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=set-page-titles-from-sidebar-selection.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=set-page-titles-from-sidebar-selection.snap.png
new file mode 100644
index 000000000..6c7972e30
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=set-page-titles-from-sidebar-selection.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=sidebar.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=sidebar.snap.png
new file mode 100644
index 000000000..80e9c9720
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=sidebar.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=table-of-contents.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=table-of-contents.snap.png
new file mode 100644
index 000000000..3d41e1996
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #more-pagesid=table-of-contents.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=codefund.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=codefund.snap.png
new file mode 100644
index 000000000..e30c9c8f0
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=codefund.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=copy-to-clipboard.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=copy-to-clipboard.snap.png
new file mode 100644
index 000000000..d2892ef85
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=copy-to-clipboard.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=demo-code-with-instant-preview-and-jsfiddle-integration.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=demo-code-with-instant-preview-and-jsfiddle-integration.snap.png
new file mode 100644
index 000000000..c7d4e89b8
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=demo-code-with-instant-preview-and-jsfiddle-integration.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=disqus.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=disqus.snap.png
new file mode 100644
index 000000000..e5d8a26e5
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=disqus.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=edit-on-github.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=edit-on-github.snap.png
new file mode 100644
index 000000000..7390c95cc
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=edit-on-github.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=emoji.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=emoji.snap.png
new file mode 100644
index 000000000..2383b6ced
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=emoji.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=external-script.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=external-script.snap.png
new file mode 100644
index 000000000..53886cdc2
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=external-script.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=full-text-search.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=full-text-search.snap.png
new file mode 100644
index 000000000..6062fa420
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=full-text-search.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=gitalk.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=gitalk.snap.png
new file mode 100644
index 000000000..e0ddc8973
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=gitalk.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=google-analytics.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=google-analytics.snap.png
new file mode 100644
index 000000000..b3d37643c
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=google-analytics.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=more-plugins.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=more-plugins.snap.png
new file mode 100644
index 000000000..ffb3cc66f
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=more-plugins.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=pagination.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=pagination.snap.png
new file mode 100644
index 000000000..125c69b7d
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=pagination.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=tabs.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=tabs.snap.png
new file mode 100644
index 000000000..98f041d78
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=tabs.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=zoom-image.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=zoom-image.snap.png
new file mode 100644
index 000000000..eac07fbfc
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pluginsid=zoom-image.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=create-serviceworker.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=create-serviceworker.snap.png
new file mode 100644
index 000000000..e09facbf4
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=create-serviceworker.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=enjoy-it.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=enjoy-it.snap.png
new file mode 100644
index 000000000..1388ade33
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=enjoy-it.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=register.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=register.snap.png
new file mode 100644
index 000000000..f925f130f
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #pwaid=register.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=initialize.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=initialize.snap.png
new file mode 100644
index 000000000..2b81f92e5
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=initialize.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=loading-dialog.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=loading-dialog.snap.png
new file mode 100644
index 000000000..cf947a906
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=loading-dialog.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=manual-initialization.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=manual-initialization.snap.png
new file mode 100644
index 000000000..6e42f1c48
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=manual-initialization.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=preview-your-site.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=preview-your-site.snap.png
new file mode 100644
index 000000000..38fec532e
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=preview-your-site.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=writing-content.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=writing-content.snap.png
new file mode 100644
index 000000000..fd493ba3e
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #quickstartid=writing-content.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=configuration.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=configuration.snap.png
new file mode 100644
index 000000000..5948ee403
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=configuration.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=custom-template.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=custom-template.snap.png
new file mode 100644
index 000000000..6d5bbeae0
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=custom-template.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=deploy-for-your-vps.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=deploy-for-your-vps.snap.png
new file mode 100644
index 000000000..a06fd3eba
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=deploy-for-your-vps.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=quick-start.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=quick-start.snap.png
new file mode 100644
index 000000000..3d320f364
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=quick-start.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=why-ssr.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=why-ssr.snap.png
new file mode 100644
index 000000000..6a79cc041
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #ssrid=why-ssr.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #themesid=other-themes.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #themesid=other-themes.snap.png
new file mode 100644
index 000000000..549981b11
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #themesid=other-themes.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #vueid=basic-usage.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #vueid=basic-usage.snap.png
new file mode 100644
index 000000000..4630d0e9e
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #vueid=basic-usage.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #vueid=combine-vuep-to-write-playground.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #vueid=combine-vuep-to-write-playground.snap.png
new file mode 100644
index 000000000..4eacaecbd
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #vueid=combine-vuep-to-write-playground.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=example.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=example.snap.png
new file mode 100644
index 000000000..d671409a4
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=example.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=full-configuration.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=full-configuration.snap.png
new file mode 100644
index 000000000..7a62a9ef1
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=full-configuration.snap.png differ
diff --git a/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=tips.snap.png b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=tips.snap.png
new file mode 100644
index 000000000..6270ce966
Binary files /dev/null and b/cypress/snapshots/sidebar/config.spec.js/sidebar.configurations -- go to #write-a-pluginid=tips.snap.png differ
diff --git a/cypress/support/commands.js b/cypress/support/commands.js
new file mode 100644
index 000000000..3e9454afa
--- /dev/null
+++ b/cypress/support/commands.js
@@ -0,0 +1,41 @@
+// ***********************************************
+// 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) => { ... })
+
+import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command'
+addMatchImageSnapshotCommand({
+ failureThreshold: 10.0,
+ failureThresholdType: 'percent',
+ customDiffConfig: { threshold: 10.0 },
+ capture: 'viewport',
+ timeout: '60000'
+})
+Cypress.Commands.add('setResolution', size => {
+ if (Cypress._.isArray(size)) {
+ cy.viewport(size[0], size[1])
+ } else {
+ cy.viewport(size)
+ }
+})
diff --git a/cypress/support/index.js b/cypress/support/index.js
new file mode 100644
index 000000000..d68db96df
--- /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/package-lock.json b/package-lock.json
index 22f205e86..e83972b3d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,6 +24,116 @@
"js-tokens": "^4.0.0"
}
},
+ "@cypress/listr-verbose-renderer": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz",
+ "integrity": "sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "cli-cursor": "^1.0.2",
+ "date-fns": "^1.27.2",
+ "figures": "^1.7.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^1.0.1"
+ }
+ },
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "^1.0.0",
+ "onetime": "^1.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "@cypress/xvfb": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
+ "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "lodash.once": "^4.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
"@evocateur/libnpmaccess": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz",
@@ -154,6 +264,45 @@
}
}
},
+ "@hapi/address": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
+ "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
+ "dev": true
+ },
+ "@hapi/bourne": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
+ "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
+ "dev": true
+ },
+ "@hapi/hoek": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz",
+ "integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==",
+ "dev": true
+ },
+ "@hapi/joi": {
+ "version": "15.1.1",
+ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
+ "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
+ "dev": true,
+ "requires": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
+ }
+ },
+ "@hapi/topo": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
+ "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
+ "dev": true,
+ "requires": {
+ "@hapi/hoek": "^8.3.0"
+ }
+ },
"@lerna/add": {
"version": "3.17.0",
"resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.17.0.tgz",
@@ -1418,6 +1567,12 @@
"@types/node": "*"
}
},
+ "@types/sizzle": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz",
+ "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==",
+ "dev": true
+ },
"@zkochan/cmd-shim": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz",
@@ -1619,12 +1774,27 @@
"integrity": "sha1-7klza2ObTxCLbp5ibG2pkwa0FpI=",
"dev": true
},
+ "app-path": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/app-path/-/app-path-3.2.0.tgz",
+ "integrity": "sha512-PQPaKXi64FZuofJkrtaO3I5RZESm9Yjv7tkeJaDz4EZMeBBfGtr5MyQ3m5AC7F0HVrISBLatPxAAAgvbe418fQ==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0"
+ }
+ },
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
+ "arch": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
+ "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==",
+ "dev": true
+ },
"are-we-there-yet": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
@@ -1784,6 +1954,15 @@
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
+ "async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.10"
+ }
+ },
"async-each": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
@@ -1930,6 +2109,12 @@
}
}
},
+ "base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
+ "dev": true
+ },
"basic-auth": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
@@ -2079,6 +2264,12 @@
}
}
},
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "dev": true
+ },
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@@ -2160,6 +2351,15 @@
"unset-value": "^1.0.0"
}
},
+ "cachedir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-1.3.0.tgz",
+ "integrity": "sha512-O1ji32oyON9laVPJL1IZ5bmwd2cB46VfpxkDequezH+15FDzzVddEyrGEeX4WusDSqKxdyFdDQDEG1yo1GoWkg==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.1"
+ }
+ },
"call-me-maybe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
@@ -2268,6 +2468,12 @@
"integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
"dev": true
},
+ "check-more-types": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
+ "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=",
+ "dev": true
+ },
"chokidar": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz",
@@ -2334,6 +2540,12 @@
"restore-cursor": "^2.0.0"
}
},
+ "cli-spinners": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz",
+ "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=",
+ "dev": true
+ },
"cli-truncate": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz",
@@ -2531,6 +2743,12 @@
"integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
"dev": true
},
+ "common-tags": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
+ "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
+ "dev": true
+ },
"compare-func": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
@@ -2900,6 +3118,18 @@
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
+ "copy-dir": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/copy-dir/-/copy-dir-1.2.0.tgz",
+ "integrity": "sha512-UeaUFUIHqGV4brjQ9bY2mHll/hoxyCak2emgmYG72LkGKABHBdBDKFw0H5nTKt5OzVBkBhkxCwnniJBAE7EGEw==",
+ "dev": true
+ },
+ "core-js": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
+ "dev": true
+ },
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -3179,115 +3409,575 @@
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
"dev": true
},
- "dargs": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
- "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "data-urls": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
- "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
- "dev": true,
- "requires": {
- "abab": "^2.0.0",
- "whatwg-mimetype": "^2.2.0",
- "whatwg-url": "^7.0.0"
- }
- },
- "date-fns": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
- "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
- "dev": true
- },
- "dateformat": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
- "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
- "dev": true
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "debuglog": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
- "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
- "dev": true
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "decamelize-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
- "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
- "dev": true,
- "requires": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "cypress": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-3.8.1.tgz",
+ "integrity": "sha512-eLk5OpL/ZMDfQx9t7ZaDUAGVcvSOPTi7CG1tiUnu9BGk7caBiDhuFi3Tz/D5vWqH/Dl6Uh4X+Au4W+zh0xzbXw==",
+ "dev": true,
+ "requires": {
+ "@cypress/listr-verbose-renderer": "0.4.1",
+ "@cypress/xvfb": "1.2.4",
+ "@types/sizzle": "2.3.2",
+ "arch": "2.1.1",
+ "bluebird": "3.5.0",
+ "cachedir": "1.3.0",
+ "chalk": "2.4.2",
+ "check-more-types": "2.24.0",
+ "commander": "2.15.1",
+ "common-tags": "1.8.0",
+ "debug": "3.2.6",
+ "execa": "0.10.0",
+ "executable": "4.1.1",
+ "extract-zip": "1.6.7",
+ "fs-extra": "5.0.0",
+ "getos": "3.1.1",
+ "is-ci": "1.2.1",
+ "is-installed-globally": "0.1.0",
+ "lazy-ass": "1.6.0",
+ "listr": "0.12.0",
+ "lodash": "4.17.15",
+ "log-symbols": "2.2.0",
+ "minimist": "1.2.0",
+ "moment": "2.24.0",
+ "ramda": "0.24.1",
+ "request": "2.88.0",
+ "request-progress": "3.0.0",
+ "supports-color": "5.5.0",
+ "tmp": "0.1.0",
+ "untildify": "3.0.3",
+ "url": "0.11.0",
+ "yauzl": "2.10.0"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
"dev": true
- }
- }
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
- "dev": true
- },
- "deep-eql": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
- "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
- "dev": true,
- "requires": {
- "type-detect": "^4.0.0"
- }
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "defaults": {
- "version": "1.0.3",
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+ "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=",
+ "dev": true
+ },
+ "ci-info": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
+ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^1.0.1"
+ }
+ },
+ "commander": {
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "execa": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
+ "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "fs-extra": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
+ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "is-ci": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
+ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^1.5.0"
+ }
+ },
+ "listr": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/listr/-/listr-0.12.0.tgz",
+ "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "cli-truncate": "^0.2.1",
+ "figures": "^1.7.0",
+ "indent-string": "^2.1.0",
+ "is-promise": "^2.1.0",
+ "is-stream": "^1.1.0",
+ "listr-silent-renderer": "^1.1.1",
+ "listr-update-renderer": "^0.2.0",
+ "listr-verbose-renderer": "^0.4.0",
+ "log-symbols": "^1.0.2",
+ "log-update": "^1.0.2",
+ "ora": "^0.2.3",
+ "p-map": "^1.1.1",
+ "rxjs": "^5.0.0-beta.11",
+ "stream-to-observable": "^0.1.0",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "listr-update-renderer": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz",
+ "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "cli-truncate": "^0.2.1",
+ "elegant-spinner": "^1.0.1",
+ "figures": "^1.7.0",
+ "indent-string": "^3.0.0",
+ "log-symbols": "^1.0.2",
+ "log-update": "^1.0.2",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "indent-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "listr-verbose-renderer": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz",
+ "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "cli-cursor": "^1.0.2",
+ "date-fns": "^1.27.2",
+ "figures": "^1.7.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "log-update": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz",
+ "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^1.0.0",
+ "cli-cursor": "^1.0.2"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "p-map": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
+ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "^1.0.0",
+ "onetime": "^1.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rxjs": {
+ "version": "5.5.12",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
+ "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
+ "dev": true,
+ "requires": {
+ "symbol-observable": "1.0.1"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "symbol-observable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
+ "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
+ "dev": true
+ },
+ "tmp": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
+ "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^2.6.3"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "cypress-image-snapshot": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/cypress-image-snapshot/-/cypress-image-snapshot-3.1.1.tgz",
+ "integrity": "sha512-r+rjnljehx45qhhV9M/lBsg34Ibys9JWSbPFo9ktV6ovnpxiZSh9GYM/SXEvtJoEonRF51M/Gn2G6J3UlaV6Dg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "fs-extra": "^7.0.1",
+ "glob": "^7.1.3",
+ "jest-image-snapshot": "2.8.2",
+ "pkg-dir": "^3.0.0",
+ "term-img": "^4.0.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ }
+ }
+ },
+ "dargs": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
+ "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "data-urls": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "whatwg-mimetype": "^2.2.0",
+ "whatwg-url": "^7.0.0"
+ }
+ },
+ "date-fns": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
+ "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
+ "dev": true
+ },
+ "dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "debuglog": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
+ "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
+ "dev": true
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decamelize-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "dev": true,
+ "requires": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ }
+ }
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+ "dev": true
+ },
+ "deep-eql": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
+ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "dev": true,
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "defaults": {
+ "version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
@@ -4008,7 +4698,7 @@
},
"event-stream": {
"version": "3.3.4",
- "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
"dev": true,
"requires": {
@@ -4023,7 +4713,7 @@
"dependencies": {
"split": {
"version": "0.3.3",
- "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
@@ -4104,6 +4794,29 @@
}
}
},
+ "executable": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
+ "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
+ "dev": true,
+ "requires": {
+ "pify": "^2.2.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "exit-hook": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
+ "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
+ "dev": true
+ },
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -4257,6 +4970,44 @@
}
}
},
+ "extract-zip": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
+ "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.2",
+ "debug": "2.6.9",
+ "mkdirp": "0.5.1",
+ "yauzl": "2.4.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "yauzl": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
+ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+ "dev": true,
+ "requires": {
+ "fd-slicer": "~1.0.1"
+ }
+ }
+ }
+ },
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
@@ -4336,6 +5087,15 @@
"websocket-driver": ">=0.5.1"
}
},
+ "fd-slicer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "dev": true,
+ "requires": {
+ "pend": "~1.2.0"
+ }
+ },
"figgy-pudding": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
@@ -4982,6 +5742,15 @@
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
+ "getos": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/getos/-/getos-3.1.1.tgz",
+ "integrity": "sha512-oUP1rnEhAr97rkitiszGP9EgDVYnmchgFzfqRzSkgtfv7ai6tEi7Ko8GgjNXts7VLWEqrTWyhsOKLe5C5b/Zkg==",
+ "dev": true,
+ "requires": {
+ "async": "2.6.1"
+ }
+ },
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@@ -5131,6 +5900,15 @@
"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
"dev": true
},
+ "global-dirs": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
+ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.4"
+ }
+ },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -5916,6 +6694,27 @@
"is-extglob": "^2.1.1"
}
},
+ "is-installed-globally": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
+ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "dev": true,
+ "requires": {
+ "global-dirs": "^0.1.0",
+ "is-path-inside": "^1.0.0"
+ },
+ "dependencies": {
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "^1.0.1"
+ }
+ }
+ }
+ },
"is-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
@@ -6096,6 +6895,88 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
+ "iterm2-version": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/iterm2-version/-/iterm2-version-4.2.0.tgz",
+ "integrity": "sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==",
+ "dev": true,
+ "requires": {
+ "app-path": "^3.2.0",
+ "plist": "^3.0.1"
+ }
+ },
+ "jest-image-snapshot": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-2.8.2.tgz",
+ "integrity": "sha512-gtKgxfW5ifAikNI+fp0c0o/3byOeOUSmYeAELblGzINEZrDGUYxwUZtn5rNrgVuzjgGMBBsKYv/2gIM6VpzLaw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "get-stdin": "^5.0.1",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "pixelmatch": "^4.0.2",
+ "pngjs": "^3.3.3",
+ "rimraf": "^2.6.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "get-stdin": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
+ "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
"jest-worker": {
"version": "24.9.0",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
@@ -6242,6 +7123,12 @@
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
+ "lazy-ass": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
+ "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=",
+ "dev": true
+ },
"lcid": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
@@ -7301,6 +8188,12 @@
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
+ "lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=",
+ "dev": true
+ },
"lodash.set": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
@@ -7397,7 +8290,7 @@
},
"magic-string": {
"version": "0.22.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
+ "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
"integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
"dev": true,
"requires": {
@@ -7819,7 +8712,7 @@
"dependencies": {
"minimist": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
}
@@ -7905,6 +8798,12 @@
"integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
"dev": true
},
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==",
+ "dev": true
+ },
"morgan": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",
@@ -8581,6 +9480,85 @@
}
}
},
+ "ora": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz",
+ "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.1",
+ "cli-cursor": "^1.0.2",
+ "cli-spinners": "^0.1.2",
+ "object-assign": "^4.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^1.0.1"
+ }
+ },
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "^1.0.0",
+ "onetime": "^1.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -8962,6 +9940,12 @@
"through": "~2.3"
}
},
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
@@ -9010,6 +9994,15 @@
"node-modules-regexp": "^1.0.0"
}
},
+ "pixelmatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
+ "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=",
+ "dev": true,
+ "requires": {
+ "pngjs": "^3.0.0"
+ }
+ },
"pkg-dir": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
@@ -9073,12 +10066,29 @@
"semver-compare": "^1.0.0"
}
},
+ "plist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
+ "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.2.3",
+ "xmlbuilder": "^9.0.7",
+ "xmldom": "0.1.x"
+ }
+ },
"pn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
"dev": true
},
+ "pngjs": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
+ "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==",
+ "dev": true
+ },
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -9692,6 +10702,15 @@
"integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=",
"dev": true
},
+ "ps-tree": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz",
+ "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==",
+ "dev": true,
+ "requires": {
+ "event-stream": "=3.3.4"
+ }
+ },
"psl": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
@@ -9749,12 +10768,24 @@
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"dev": true
},
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
"quick-lru": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
"integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
"dev": true
},
+ "ramda": {
+ "version": "0.24.1",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz",
+ "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=",
+ "dev": true
+ },
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -10015,6 +11046,15 @@
}
}
},
+ "request-progress": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
+ "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=",
+ "dev": true,
+ "requires": {
+ "throttleit": "^1.0.0"
+ }
+ },
"request-promise-core": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
@@ -10351,6 +11391,12 @@
"aproba": "^1.1.1"
}
},
+ "rx": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
+ "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
+ "dev": true
+ },
"rxjs": {
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
@@ -10968,6 +12014,91 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
"dev": true
},
+ "start-server-and-test": {
+ "version": "1.10.6",
+ "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.10.6.tgz",
+ "integrity": "sha512-Gr/TDePT4JczaoBiKZLZRIWmYgRcoGcFQePtPEHEvZFUuxbdUqTZozx8dqrlKl/67+pipg5OOtBH21U1oJXJIQ==",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.7.1",
+ "check-more-types": "2.24.0",
+ "debug": "4.1.1",
+ "execa": "2.1.0",
+ "lazy-ass": "1.6.0",
+ "ps-tree": "1.2.0",
+ "wait-on": "3.3.0"
+ },
+ "dependencies": {
+ "bluebird": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
+ "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==",
+ "dev": true
+ },
+ "execa": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
+ "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^3.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
+ "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ }
+ }
+ },
"static-extend": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
@@ -11026,6 +12157,12 @@
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
"dev": true
},
+ "stream-to-observable": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz",
+ "integrity": "sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4=",
+ "dev": true
+ },
"string-argv": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
@@ -11360,6 +12497,33 @@
"uuid": "^3.3.2"
}
},
+ "term-img": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/term-img/-/term-img-4.1.0.tgz",
+ "integrity": "sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.1.0",
+ "iterm2-version": "^4.1.0"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
+ "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
+ }
+ },
"text-extensions": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.0.0.tgz",
@@ -11390,6 +12554,12 @@
"thenify": ">= 3.1.0 < 4"
}
},
+ "throttleit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
+ "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
+ "dev": true
+ },
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@@ -11728,6 +12898,12 @@
}
}
},
+ "untildify": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz",
+ "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==",
+ "dev": true
+ },
"upath": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
@@ -11749,6 +12925,24 @@
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@@ -11860,6 +13054,27 @@
"xml-name-validator": "^3.0.0"
}
},
+ "wait-on": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz",
+ "integrity": "sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==",
+ "dev": true,
+ "requires": {
+ "@hapi/joi": "^15.0.3",
+ "core-js": "^2.6.5",
+ "minimist": "^1.2.0",
+ "request": "^2.88.0",
+ "rx": "^4.1.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
"wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -12184,12 +13399,24 @@
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
"dev": true
},
+ "xmlbuilder": {
+ "version": "9.0.7",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+ "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
+ "dev": true
+ },
"xmlchars": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
"dev": true
},
+ "xmldom": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
+ "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
+ "dev": true
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -12290,6 +13517,27 @@
"dev": true
}
}
+ },
+ "yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ },
+ "dependencies": {
+ "fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+ "dev": true,
+ "requires": {
+ "pend": "~1.2.0"
+ }
+ }
+ }
}
}
}
diff --git a/package.json b/package.json
index c6a2ad1a8..23812d266 100644
--- a/package.json
+++ b/package.json
@@ -28,6 +28,11 @@
"dev:ssr": "run-p serve:ssr watch:*",
"lint": "eslint . --fix",
"test": "mocha test/*/**",
+ "testServer": "node cypress/setup.js",
+ "test:e2e": "start-server-and-test testServer http://localhost:3000 cy:run",
+ "posttest:e2e": "rimraf cypress/fixtures/docs",
+ "cy:run": "cypress run",
+ "cy:open": "cypress open ",
"css": "node build/css",
"watch:css": "npm run css -- -o themes -w",
"watch:js": "node build/build.js",
@@ -67,8 +72,11 @@
"chai": "^4.2.0",
"chokidar": "^3.2.1",
"conventional-changelog-cli": "^2.0.25",
+ "copy-dir": "^1.2.0",
"cross-env": "^6.0.3",
"cssnano": "^4.1.10",
+ "cypress": "^3.8.1",
+ "cypress-image-snapshot": "^3.1.1",
"eslint": "^5.16.0",
"eslint-config-xo-space": "^0.21.0",
"esm": "^3.1.4",
@@ -88,6 +96,7 @@
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-replace": "^2.2.0",
"rollup-plugin-uglify": "^6.0.4",
+ "start-server-and-test": "^1.10.6",
"stylus": "^0.54.5"
},
"keywords": [