From 55a6ed7ff5d66cb66abc62b7f221b6c71a848689 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Wed, 23 Jun 2021 09:10:27 +0200
Subject: [PATCH 01/27] chore: remove Circle CI config
---
.circleci/config.yml | 8 --------
1 file changed, 8 deletions(-)
delete mode 100644 .circleci/config.yml
diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 3a1d48f2f..000000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-version: 2
-jobs:
- build:
- docker:
- - image: circleci/node:lts
- working_directory: ~/repo
- steps:
- - run: echo "Nope"
\ No newline at end of file
From 1681b0b56e0169c3046f13d4bdb28e4b59bb1709 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Wed, 23 Jun 2021 09:13:11 +0200
Subject: [PATCH 02/27] ci: add contine-on-error to release CI step,
becauseprereleases are flaky
---
.github/workflows/ci.yml | 185 ++++++++++++++++++++-------------------
1 file changed, 93 insertions(+), 92 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3321fc080..8dba81852 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,92 +1,93 @@
-name: CI
-
-on:
- pull_request:
- types: [opened, synchronize]
- push:
- branches:
- - develop
- - stable
- - ci/*
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
-
- - uses: actions/setup-node@v1
- with:
- node-version: 14.x
-
- - uses: bahmutov/npm-install@v1
- with:
- # By default, bahmutov/npm-install uses --frozen-lockfile
- install-command: yarn
-
- - name: Run tests and collect coverage
- run: yarn test --coverage
-
- - name: Typecheck
- run: yarn typecheck
-
- - name: Build
- run: yarn build
-
- - name: Run Codechecks
- run: yarn codechecks
- env:
- CC_SECRET: ${{ secrets.CC_SECRET }}
- if: ${{ env.CC_SECRET != '' }}
-
- # Dependabot and PRs from forks should not release canaries,
- # but secrets and env vars cannot be read in `job.if`, so we check if
- # GH_TOKEN is present before attempting to release.
- release_check:
- runs-on: ubuntu-latest
- needs: [build]
- steps:
- - id: can_release
- run: echo '::set-output name=CAN_RELEASE::${{ env.CAN_RELEASE }}'
- env:
- CAN_RELEASE: ${{ secrets.AUTO_RELEASE_GH_TOKEN != '' }}
- outputs:
- CAN_RELEASE: ${{ steps.can_release.outputs.CAN_RELEASE }}
-
- release:
- runs-on: ubuntu-latest
- needs: [release_check]
- if: >
- !contains(github.event.head_commit.message, 'ci skip') &&
- !contains(github.event.head_commit.message, 'skip ci') && (
- github.event_name == 'push' ||
- github.event.pull_request.head.repo.full_name == github.repository
- ) && (
- needs.release_check.outputs.CAN_RELEASE == 'true'
- )
- steps:
- - uses: actions/checkout@v2
-
- - name: Prepare repository
- run: git fetch --unshallow --tags
-
- - uses: actions/setup-node@v1
- with:
- node-version: 14.x
-
- - uses: bahmutov/npm-install@v1
-
- - name: Queue in release turnstile
- id: turnstyle
- continue-on-error: true
- uses: softprops/turnstyle@v1
- with:
- abort-after-seconds: 600
-
- - name: Create release
- if: steps.turnstyle.outcome == 'success'
- env:
- GITHUB_TOKEN: ${{ secrets.AUTO_RELEASE_GH_TOKEN }}
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: yarn release
+name: CI
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+ push:
+ branches:
+ - develop
+ - stable
+ - ci/*
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/setup-node@v1
+ with:
+ node-version: 14.x
+
+ - uses: bahmutov/npm-install@v1
+ with:
+ # By default, bahmutov/npm-install uses --frozen-lockfile
+ install-command: yarn
+
+ - name: Run tests and collect coverage
+ run: yarn test --coverage
+
+ - name: Typecheck
+ run: yarn typecheck
+
+ - name: Build
+ run: yarn build
+
+ - name: Run Codechecks
+ run: yarn codechecks
+ env:
+ CC_SECRET: ${{ secrets.CC_SECRET }}
+ if: ${{ env.CC_SECRET != '' }}
+
+ # Dependabot and PRs from forks should not release canaries,
+ # but secrets and env vars cannot be read in `job.if`, so we check if
+ # GH_TOKEN is present before attempting to release.
+ release_check:
+ runs-on: ubuntu-latest
+ needs: [build]
+ steps:
+ - id: can_release
+ run: echo '::set-output name=CAN_RELEASE::${{ env.CAN_RELEASE }}'
+ env:
+ CAN_RELEASE: ${{ secrets.AUTO_RELEASE_GH_TOKEN != '' }}
+ outputs:
+ CAN_RELEASE: ${{ steps.can_release.outputs.CAN_RELEASE }}
+
+ release:
+ runs-on: ubuntu-latest
+ needs: [release_check]
+ if: >
+ !contains(github.event.head_commit.message, 'ci skip') &&
+ !contains(github.event.head_commit.message, 'skip ci') && (
+ github.event_name == 'push' ||
+ github.event.pull_request.head.repo.full_name == github.repository
+ ) && (
+ needs.release_check.outputs.CAN_RELEASE == 'true'
+ )
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Prepare repository
+ run: git fetch --unshallow --tags
+
+ - uses: actions/setup-node@v1
+ with:
+ node-version: 14.x
+
+ - uses: bahmutov/npm-install@v1
+
+ - name: Queue in release turnstile
+ id: turnstyle
+ continue-on-error: true
+ uses: softprops/turnstyle@v1
+ with:
+ abort-after-seconds: 600
+
+ - name: Create release
+ if: steps.turnstyle.outcome == 'success'
+ continue-on-error: true
+ env:
+ GITHUB_TOKEN: ${{ secrets.AUTO_RELEASE_GH_TOKEN }}
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: yarn release
From 403f4fb11fa19e16506e5f288681525b71f2bf04 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Wed, 23 Jun 2021 09:15:13 +0200
Subject: [PATCH 03/27] chore(theme-ui): remove unused build scripts
---
packages/theme-ui/package.json | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/packages/theme-ui/package.json b/packages/theme-ui/package.json
index 46e891e98..67a2f1c9b 100644
--- a/packages/theme-ui/package.json
+++ b/packages/theme-ui/package.json
@@ -10,12 +10,7 @@
"author": "Brent Jackson ",
"license": "MIT",
"repository": "system-ui/theme-ui",
- "scripts": {
- "build": "yarn build:index && yarn build:jsx-runtime && yarn build:jsx-dev-runtime",
- "build:jsx-runtime": "microbundle --no-compress --tsconfig tsconfig.json --cwd jsx-runtime",
- "build:jsx-dev-runtime": "microbundle --no-compress --tsconfig tsconfig.json --cwd jsx-dev-runtime",
- "build:index": "microbundle --no-compress --tsconfig tsconfig.json"
- },
+ "scripts": {},
"dependencies": {
"@theme-ui/color-modes": "0.10.0",
"@theme-ui/components": "0.10.0",
From 11a767984e70a2a7245c545f7ad9c19c404a70fe Mon Sep 17 00:00:00 2001
From: hasparus
Date: Wed, 23 Jun 2021 23:09:54 +0200
Subject: [PATCH 04/27] test(cypress): add e2e tests for color modes on docs
index page
---
.eslintrc.js | 3 +
.github/workflows/ci.yml | 6 +-
.github/workflows/e2e.yml | 40 +
package.json | 5 +-
packages/docs/src/components/layout.js | 10 +-
packages/e2e/cypress.json | 15 +
packages/e2e/integration/docs-color-modes.ts | 97 +++
packages/e2e/package.json | 18 +
packages/e2e/plugins.js | 19 +
packages/e2e/support.ts | 32 +
packages/e2e/tsconfig.json | 16 +
yarn.lock | 781 ++++++++++++++++++-
12 files changed, 994 insertions(+), 48 deletions(-)
create mode 100644 .github/workflows/e2e.yml
create mode 100644 packages/e2e/cypress.json
create mode 100644 packages/e2e/integration/docs-color-modes.ts
create mode 100644 packages/e2e/package.json
create mode 100644 packages/e2e/plugins.js
create mode 100644 packages/e2e/support.ts
create mode 100644 packages/e2e/tsconfig.json
diff --git a/.eslintrc.js b/.eslintrc.js
index e4861d7c1..8cd9842fe 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -12,5 +12,8 @@ module.exports = {
'no-use-before-define': 'off',
'react/react-in-jsx-scope': 'off',
'@typescript-eslint/no-redeclare': 'off',
+
+ // TypeScript checks this
+ 'no-undef': 'off',
},
}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8dba81852..dbbb07f87 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,7 +22,8 @@ jobs:
- uses: bahmutov/npm-install@v1
with:
# By default, bahmutov/npm-install uses --frozen-lockfile
- install-command: yarn
+ install-command:
+ yarn --ignore-optional --pure-lockfile --non-interactive
- name: Run tests and collect coverage
run: yarn test --coverage
@@ -75,6 +76,9 @@ jobs:
node-version: 14.x
- uses: bahmutov/npm-install@v1
+ with:
+ install-command:
+ yarn --ignore-optional --pure-lockfile --non-interactive
- name: Queue in release turnstile
id: turnstyle
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
new file mode 100644
index 000000000..bc28b66a8
--- /dev/null
+++ b/.github/workflows/e2e.yml
@@ -0,0 +1,40 @@
+name: 'End-to-End Tests'
+on:
+ pull_request:
+ types: [opened, synchronize]
+ push:
+ branches:
+ - develop
+ - stable
+ - ci/*
+jobs:
+ run-cypress:
+ runs-on: ubuntu-20.04
+ container: cypress/browsers:node12.13.0-chrome78-ff70
+ strategy:
+ # when one test fails, DO NOT cancel the other
+ # containers, because this will kill Cypress processes
+ # leaving the Dashboard hanging ...
+ # https://github.com/cypress-io/github-action/issues/48
+ fail-fast: false
+ matrix:
+ containers: [1]
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/setup-node@v1
+ with:
+ node-version: 14.x
+
+ - uses: bahmutov/npm-install@v1
+ with:
+ install-command: yarn --pure-lockfile --non-interactive
+
+ - uses: cypress-io/github-action@v2
+ with:
+ record: false # todo: true
+ parallel: false # todo: true
+ config-file: packages/e2e/cypress.json
+ # spec: packages/e2e/integration/**/*.ts
+ env:
+ CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
diff --git a/package.json b/package.json
index d8a1147d4..56e48a6ee 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,7 @@
"scripts": {
"build": "preconstruct build",
"build:docs": "yarn build && yarn workspace docs build",
+ "serve:docs": "yarn build:docs && yarn workspace docs serve",
"dev:docs": "yarn workspace docs start",
"clean": "lerna run clean && rimraf packages/*/{dist,rts2_cache*}",
"format": "prettier --write \"**/*.{ts,js,json}\" \"**/*.md\" \"**/*.mdx\"",
@@ -66,6 +67,7 @@
"react-test-renderer": "^17.0.2",
"rimraf": "^3.0.2",
"ts-jest": "^26.5.5",
+ "ts-toolbelt": "^9.6.0",
"typecov": "^0.2.3",
"typescript": "^4"
},
@@ -77,7 +79,8 @@
"preconstruct": {
"packages": [
"packages/*",
- "!packages/docs"
+ "!packages/docs",
+ "!packages/e2e"
]
},
"name": "@theme-ui/monorepo"
diff --git a/packages/docs/src/components/layout.js b/packages/docs/src/components/layout.js
index 9c3543895..cbfb3a123 100644
--- a/packages/docs/src/components/layout.js
+++ b/packages/docs/src/components/layout.js
@@ -52,11 +52,8 @@ export default function DocsLayout(props) {
const showNav = !props.pageContext?.frontmatter?.hidenav
- const cycleMode = (e) => {
- const i = modes.indexOf(mode)
- const next = modes[(i + 1) % modes.length]
- setMode(next)
- }
+ const nextColorMode = modes[(modes.indexOf(mode) + 1) % modes.length]
+
return (
@@ -95,11 +92,12 @@ export default function DocsLayout(props) {
GitHub
diff --git a/packages/e2e/cypress.json b/packages/e2e/cypress.json
new file mode 100644
index 000000000..cd4b7e67e
--- /dev/null
+++ b/packages/e2e/cypress.json
@@ -0,0 +1,15 @@
+{
+ "baseUrl": "http://localhost:9000",
+ "pluginsFile": "plugins.js",
+ "supportFile": "support.ts",
+ "screenshotsFolder": "screenshots",
+ "videosFolder": "videos",
+ "downloadsFolder": "downloads",
+ "fixturesFolder": "fixtures",
+ "integrationFolder": "integration",
+ "testFiles": "**/*.*",
+ "retries": {
+ "runMode": 1,
+ "openMode": 3
+ }
+}
diff --git a/packages/e2e/integration/docs-color-modes.ts b/packages/e2e/integration/docs-color-modes.ts
new file mode 100644
index 000000000..f95d8aa10
--- /dev/null
+++ b/packages/e2e/integration/docs-color-modes.ts
@@ -0,0 +1,97 @@
+const visit = ({
+ preferredColorScheme,
+}: {
+ preferredColorScheme: 'dark' | 'light' | null
+}) =>
+ cy.visit('/', {
+ onBeforeLoad(win) {
+ const _matchMedia = win.matchMedia
+ win.matchMedia = (query: string) => {
+ if (query.includes('prefers-color-scheme:')) {
+ const queried = query.match(/\(prefers-color-scheme:\s*(.+)\s*\)/)
+ const scheme = queried?.[1]
+ return {
+ matches: preferredColorScheme === scheme,
+ media: query,
+ } as MediaQueryList
+ }
+
+ return _matchMedia(query)
+ }
+ },
+ })
+
+const colorModeSwitch = () => cy.findByLabelText(/Change color mode to \w+/)
+
+const colorModeSwitchByText = (...args: Parameters) =>
+ colorModeSwitch()
+ .parent({ log: false })
+ .findByText(...args)
+
+const removeGraph = () =>
+ cy
+ .get('svg', { log: false })
+ .then((graph) => graph.remove())
+ .log('removed graph')
+
+const screenshot = (message?: string) => {
+ removeGraph()
+ cy.percySnapshot(message)
+}
+
+describe('docs color modes', () => {
+ it('color mode is changed, loaded from local storage on reload and changed again', () => {
+ visit({ preferredColorScheme: 'light' })
+
+ colorModeSwitch().invoke('text').should('eq', 'Light')
+
+ // no idea why calling click() just once here doesn't work
+ colorModeSwitch().click().click()
+
+ colorModeSwitch()
+ .parent({ log: false })
+ .findByText('Dark', { timeout: 6000 })
+ colorModeSwitch().click()
+
+ screenshot()
+
+ colorModeSwitchByText('Deep')
+ colorModeSwitch().click()
+
+ colorModeSwitchByText('Swiss')
+ colorModeSwitch().click()
+
+ colorModeSwitchByText('Light')
+ colorModeSwitch().click()
+ colorModeSwitch().click()
+
+ colorModeSwitchByText('Deep')
+
+ cy.reload()
+
+ colorModeSwitchByText('Deep')
+
+ visit({ preferredColorScheme: 'light' })
+
+ colorModeSwitchByText('Deep')
+
+ screenshot('"deep" loaded from localStorage')
+
+ colorModeSwitch().click()
+ colorModeSwitchByText('Swiss')
+ })
+
+ it('visited with preferred color scheme "light" matches snapshot', () => {
+ visit({ preferredColorScheme: 'light' })
+ colorModeSwitchByText('Light')
+ screenshot("preferred 'light")
+ })
+
+ it('visited with preferred color scheme "dark" matches snapshot', () => {
+ visit({ preferredColorScheme: 'dark' })
+ colorModeSwitchByText('Dark')
+ screenshot("preferred 'dark'")
+ })
+})
+
+export {}
diff --git a/packages/e2e/package.json b/packages/e2e/package.json
new file mode 100644
index 000000000..9e55774e3
--- /dev/null
+++ b/packages/e2e/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "e2e",
+ "private": true,
+ "version": "0.10.0",
+ "description": "Cypress tests ran against Theme UI docs and examples",
+ "scripts": {
+ "open": "cypress open",
+ "start": "percy exec -- cypress run"
+ },
+ "optionalDependencies": {
+ "@bahmutov/cypress-esbuild-preprocessor": "^2.1.0",
+ "@percy/cypress": "^3.1.0",
+ "@percy/cli": "^1.0.0-beta.54",
+ "@testing-library/cypress": "^7.0.6",
+ "cypress": "7.5.0",
+ "esbuild": "^0.12.9"
+ }
+}
diff --git a/packages/e2e/plugins.js b/packages/e2e/plugins.js
new file mode 100644
index 000000000..33cad5271
--- /dev/null
+++ b/packages/e2e/plugins.js
@@ -0,0 +1,19 @@
+// ***********************************************************
+// 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 esbuildPreprocessor = require('@bahmutov/cypress-esbuild-preprocessor')
+
+module.exports = (on, config) => {
+ on(
+ 'file:preprocessor',
+ esbuildPreprocessor({
+ // any ESBuild options here
+ // https://esbuild.github.io/api/
+ })
+ )
+}
diff --git a/packages/e2e/support.ts b/packages/e2e/support.ts
new file mode 100644
index 000000000..100b89052
--- /dev/null
+++ b/packages/e2e/support.ts
@@ -0,0 +1,32 @@
+///
+import * as toolbelt from 'ts-toolbelt'
+
+// Workaround for @testing-library/dom problem.
+// We should be able remove it in the future.
+if (typeof global === 'undefined') {
+ Object.assign(window, { global: window })
+}
+
+require('@testing-library/cypress/add-commands')
+require('@percy/cypress')
+const { default: userEvent } =
+ require('@testing-library/user-event') as typeof import('@testing-library/user-event')
+
+declare global {
+ namespace Cypress {
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ interface Chainable extends Chainables {}
+ }
+}
+
+export {}
+
+const commands = {}
+
+type Chainables = {
+ [K in keyof T]: T[K] extends (...args: any[]) => any
+ ? (
+ ...args: toolbelt.List.Tail>
+ ) => Cypress.Chainable>
+ : never
+}
diff --git a/packages/e2e/tsconfig.json b/packages/e2e/tsconfig.json
new file mode 100644
index 000000000..94a21a073
--- /dev/null
+++ b/packages/e2e/tsconfig.json
@@ -0,0 +1,16 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "types": ["cypress", "node", "@percy/cypress", "@testing-library/cypress"]
+ },
+ "files": [],
+ "include": [
+ "../../node_modules/cypress",
+ "../../node_modules/@testing-library/cypress",
+ "../../node_modules/@percy/cypress",
+ "./integration/**/*.ts",
+ "./support.ts",
+ "./plugins.js"
+, "integration/docs-color-modes.ts" ],
+ "exclude": ["../../node_modules/@types/jest"]
+}
diff --git a/yarn.lock b/yarn.lock
index 3dc38f86a..f8c7245a3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1527,6 +1527,13 @@
"@babel/helper-validator-identifier" "^7.14.5"
to-fast-properties "^2.0.0"
+"@bahmutov/cypress-esbuild-preprocessor@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@bahmutov/cypress-esbuild-preprocessor/-/cypress-esbuild-preprocessor-2.1.0.tgz#d57f390f48a7ca21868cd1b25f24bd51278df28e"
+ integrity sha512-hxkXYexf9EWXYsrnqM5YQt4SfLitYwA2w7ITCmyLfqQrqkhRj5EbMf2ds99nx+AxFEot54oinDfbKnTNV1Ov7Q==
+ dependencies:
+ debug "4.3.1"
+
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -1577,6 +1584,50 @@
ts-node "^8.0.2"
url-join "^4.0.0"
+"@cypress/listr-verbose-renderer@^0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#a77492f4b11dcc7c446a34b3e28721afd33c642a"
+ integrity sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo=
+ dependencies:
+ chalk "^1.1.3"
+ cli-cursor "^1.0.2"
+ date-fns "^1.27.2"
+ figures "^1.7.0"
+
+"@cypress/request@^2.88.5":
+ version "2.88.5"
+ resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.5.tgz#8d7ecd17b53a849cfd5ab06d5abe7d84976375d7"
+ integrity sha512-TzEC1XMi1hJkywWpRfD2clreTa/Z+lOrXDCxxBTBPEcY5azdPi56A6Xw+O4tWJnaJH3iIE7G5aDXZC6JgRZLcA==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+"@cypress/xvfb@^1.2.4":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a"
+ integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==
+ dependencies:
+ debug "^3.1.0"
+ lodash.once "^4.1.1"
+
"@emotion/babel-plugin@^11.3.0":
version "11.3.0"
resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz#3a16850ba04d8d9651f07f3fb674b3436a4fb9d7"
@@ -2918,6 +2969,72 @@
node-gyp "^7.1.0"
read-package-json-fast "^2.0.1"
+"@oclif/command@^1.5.20", "@oclif/command@^1.8.0":
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.0.tgz#c1a499b10d26e9d1a611190a81005589accbb339"
+ integrity sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==
+ dependencies:
+ "@oclif/config" "^1.15.1"
+ "@oclif/errors" "^1.3.3"
+ "@oclif/parser" "^3.8.3"
+ "@oclif/plugin-help" "^3"
+ debug "^4.1.1"
+ semver "^7.3.2"
+
+"@oclif/config@^1.15.1", "@oclif/config@^1.17.0":
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.17.0.tgz#ba8639118633102a7e481760c50054623d09fcab"
+ integrity sha512-Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==
+ dependencies:
+ "@oclif/errors" "^1.3.3"
+ "@oclif/parser" "^3.8.0"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-wsl "^2.1.1"
+ tslib "^2.0.0"
+
+"@oclif/errors@^1.2.2", "@oclif/errors@^1.3.3":
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.4.tgz#a96f94536b4e25caa72eff47e8b3ed04f6995f55"
+ integrity sha512-pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw==
+ dependencies:
+ clean-stack "^3.0.0"
+ fs-extra "^8.1"
+ indent-string "^4.0.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
+"@oclif/linewrap@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91"
+ integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==
+
+"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.3":
+ version "3.8.5"
+ resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.5.tgz#c5161766a1efca7343e1f25d769efbefe09f639b"
+ integrity sha512-yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg==
+ dependencies:
+ "@oclif/errors" "^1.2.2"
+ "@oclif/linewrap" "^1.0.0"
+ chalk "^2.4.2"
+ tslib "^1.9.3"
+
+"@oclif/plugin-help@^3", "@oclif/plugin-help@^3.2.0":
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-3.2.2.tgz#063ee08cee556573a5198fbdfdaa32796deba0ed"
+ integrity sha512-SPZ8U8PBYK0n4srFjCLedk0jWU4QlxgEYLCXIBShJgOwPhTTQknkUlsEwaMIevvCU4iCQZhfMX+D8Pz5GZjFgA==
+ dependencies:
+ "@oclif/command" "^1.5.20"
+ "@oclif/config" "^1.15.1"
+ "@oclif/errors" "^1.2.2"
+ chalk "^4.1.0"
+ indent-string "^4.0.0"
+ lodash.template "^4.4.0"
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ widest-line "^3.1.0"
+ wrap-ansi "^4.0.0"
+
"@octokit/auth-token@^2.4.4":
version "2.4.5"
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3"
@@ -3077,6 +3194,149 @@
dependencies:
"@octokit/openapi-types" "^6.0.0"
+"@percy/cli-build@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/cli-build/-/cli-build-1.0.0-beta.54.tgz#81e66f0fcae572af5f7cca9c668e5764a63e5e09"
+ integrity sha512-FqxaZsTGuX7GUQp8HwLxqL+tvz/aG9tw27FUoA1bc3anrF52BdzWdq8jh6XWUExR5ZxjgJirboRFB0rguwqk7Q==
+ dependencies:
+ "@percy/cli-command" "^1.0.0-beta.54"
+ "@percy/client" "^1.0.0-beta.54"
+ "@percy/env" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+
+"@percy/cli-command@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/cli-command/-/cli-command-1.0.0-beta.54.tgz#3aa6ad1416cd30502d08fa1bcd92952d293f4bef"
+ integrity sha512-8Uotirz0aHOPdgpj8acjxCage7PjsnkmCzxg3p6j6PtJ6F9zeStFy90X9Kv40ZnCAcKe9aXNWaFW9WDDXOnrQQ==
+ dependencies:
+ "@oclif/command" "^1.8.0"
+ "@oclif/config" "^1.17.0"
+ "@oclif/plugin-help" "^3.2.0"
+ "@percy/config" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+
+"@percy/cli-config@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/cli-config/-/cli-config-1.0.0-beta.54.tgz#5f64709a5f5bd53220e26b88de1356d96567129d"
+ integrity sha512-0rqBkhlTVmbMbBsis8vn5hYyEuH1wsfxVxG9Ozz35VCky6yxjvKfF38arjPo7scxdblvg6NbB8MQry3z1RgDjw==
+ dependencies:
+ "@oclif/command" "^1.8.0"
+ "@oclif/config" "^1.17.0"
+ "@percy/config" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+
+"@percy/cli-exec@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/cli-exec/-/cli-exec-1.0.0-beta.54.tgz#a39cd980df7c62042518dd169a370e2f1a28b775"
+ integrity sha512-WBvD2AjrPvvhJDkuPwkSs6PLxmrCzNJ/XtU92aJl9CjT7wd6BLTxpXm7P3KfH2i29lyoRsPG+UXGX8rEesD19g==
+ dependencies:
+ "@percy/cli-command" "^1.0.0-beta.54"
+ "@percy/core" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+ cross-spawn "^7.0.3"
+ which "^2.0.2"
+
+"@percy/cli-snapshot@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/cli-snapshot/-/cli-snapshot-1.0.0-beta.54.tgz#15edce12dfdedbcb63b09276fc2ae2b43b7b4358"
+ integrity sha512-jQ22ufOk8a8yMlu9rdIfPnzdXPeYOcCoFgxG9lLCMMD2AEdfZJPynD4RtFOBr7Nw0fY9sEExPTqQ+2BTJk9Kpg==
+ dependencies:
+ "@percy/cli-command" "^1.0.0-beta.54"
+ "@percy/config" "^1.0.0-beta.54"
+ "@percy/core" "^1.0.0-beta.54"
+ "@percy/dom" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+ globby "^11.0.1"
+ serve-handler "^6.1.3"
+ yaml "^1.10.0"
+
+"@percy/cli-upload@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/cli-upload/-/cli-upload-1.0.0-beta.54.tgz#3aa16cda92a8d9f4472069c969140fead63ab354"
+ integrity sha512-zpkll11pEcWGrvvvctLxvwTYnXrHPvYpcAXdhF5e0Wg/9sEs4z0N9EaUz9VblHU0FrrK73Qc7yN6Z25qCxKrNQ==
+ dependencies:
+ "@percy/cli-command" "^1.0.0-beta.54"
+ "@percy/client" "^1.0.0-beta.54"
+ "@percy/config" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+ globby "^11.0.1"
+ image-size "^1.0.0"
+
+"@percy/cli@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/cli/-/cli-1.0.0-beta.54.tgz#5268a6833550e7894a3b073ed7eb861ae087592e"
+ integrity sha512-dhPKSuAS7z0AqNC9Ch9hjZOuO9UlM5LC0ZxwnPkLi/uw6+JiPKsRSTw1wcQqYZ7nlggQ//GhNZSw8tqYjewc4w==
+ dependencies:
+ "@oclif/plugin-help" "^3.2.0"
+ "@percy/cli-build" "^1.0.0-beta.54"
+ "@percy/cli-config" "^1.0.0-beta.54"
+ "@percy/cli-exec" "^1.0.0-beta.54"
+ "@percy/cli-snapshot" "^1.0.0-beta.54"
+ "@percy/cli-upload" "^1.0.0-beta.54"
+
+"@percy/client@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/client/-/client-1.0.0-beta.54.tgz#aae1efbc87754c9968581b15997b1d7e7d5ad33d"
+ integrity sha512-VU9RmlQRI5x1v+N6v/Ls/ZbXEdiqEMkeQmJg5EUs4Yi836BInVpITnGMJsWku3PZnCJjrjif6TAYf0wMPAqbxQ==
+ dependencies:
+ "@percy/env" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+
+"@percy/config@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/config/-/config-1.0.0-beta.54.tgz#9939fde423c4dbd5e527ea975e3d4fdf5ff6aa56"
+ integrity sha512-uKF44IuuXCK8yOYLhP4WBgqI46WCMcVNyJNHxRUkZN1gV+sonKF21GXrFMdPywH2GEMS9hd/UhL7biqCbHs9pQ==
+ dependencies:
+ "@percy/logger" "^1.0.0-beta.54"
+ ajv "^8.0.5"
+ cosmiconfig "^7.0.0"
+ yaml "^1.10.0"
+
+"@percy/core@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/core/-/core-1.0.0-beta.54.tgz#914803f4dcbc0a53ba4141349894e27294597f6d"
+ integrity sha512-q2UbzMvSew28V3hO6gEIaxTHMzUoxi/ghdsQt+ZtRATGnjJ0SdPtwac3E9q1ltmkv8Tede8GRCmSuZ+QKi8h1A==
+ dependencies:
+ "@percy/client" "^1.0.0-beta.54"
+ "@percy/config" "^1.0.0-beta.54"
+ "@percy/dom" "^1.0.0-beta.54"
+ "@percy/logger" "^1.0.0-beta.54"
+ cross-spawn "^7.0.3"
+ extract-zip "^2.0.1"
+ rimraf "^3.0.2"
+ ws "^7.4.1"
+
+"@percy/cypress@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@percy/cypress/-/cypress-3.1.0.tgz#19533772739b35759c30e3edd3070922f6ea6b6d"
+ integrity sha512-x4RPo7vMEGA6hmLbQIFwawZZlmiZknhSqPyzckxXgj8VyoW17QQOINxZo/DZTfV0UoUVOzNoHNrJcV3XJnN4FQ==
+ dependencies:
+ "@percy/sdk-utils" "^1.0.0-beta.44"
+
+"@percy/dom@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/dom/-/dom-1.0.0-beta.54.tgz#8c1bc3dec4c229867ff67cc6a37371a7b8e01a9e"
+ integrity sha512-RQ6m98ytrK8i//ZWloU2B5doGXJ72gZEh6GwtxwwLGhjkYX7wY7MJjluJr3WrViQZ4z2frlb0Onqi5VEGXuXGg==
+
+"@percy/env@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/env/-/env-1.0.0-beta.54.tgz#16aca62ce762974a884df57217c60f036ddb25e9"
+ integrity sha512-bccw09z+/9H5Q7jzeGAo/c83uwJ4iB8AEH5eXZmVUwC2qDrTb7rrCqBqmPsMTwW/Zq+jKGFIBGJ6DUeIma3cig==
+ dependencies:
+ dotenv "^10.0.0"
+
+"@percy/logger@^1.0.0-beta.54":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/logger/-/logger-1.0.0-beta.54.tgz#47fec66c1e0c38cce1c1f612741e69b7ce865f81"
+ integrity sha512-A8ElkvS2UQ8a6ac5mb7vvQnLU5FRsznCcex+s8csaOhQxp+Wm5hkPWGkZfKsG3W4V7RIDI1FCuXLVwW3czyB0g==
+
+"@percy/sdk-utils@^1.0.0-beta.44":
+ version "1.0.0-beta.54"
+ resolved "https://registry.yarnpkg.com/@percy/sdk-utils/-/sdk-utils-1.0.0-beta.54.tgz#e58762d1dac0625a2b8cf74e2c50fa345bfd6423"
+ integrity sha512-t5T5tsgLThw+Yz11tZ1oOTCc959hQioXb95PpqHg+SM2GFRdEjg6jlkJJwQJtKesfmUNDSQHhQQ7w1Kcr9eOmQ==
+ dependencies:
+ "@percy/logger" "^1.0.0-beta.54"
+
"@pieh/friendly-errors-webpack-plugin@1.7.0-chalk-2":
version "1.7.0-chalk-2"
resolved "https://registry.yarnpkg.com/@pieh/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz#2e9da9d3ade9d18d013333eb408c457d04eabac0"
@@ -3386,17 +3646,25 @@
dependencies:
defer-to-connect "^1.0.1"
+"@testing-library/cypress@^7.0.6":
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/@testing-library/cypress/-/cypress-7.0.6.tgz#5445dac4f4852c26901c356e9d3a69371bd20ccf"
+ integrity sha512-atnjqlkEt6spU4Mv7evvpA8fMXeRw7AN2uTKOR1dP6WBvBixVwAYMZY+1fMOaZULWAj9vGLCXXvmw++u3TxuCQ==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ "@testing-library/dom" "^7.28.1"
+
"@testing-library/dom@^7.28.1":
- version "7.29.0"
- resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.29.0.tgz#60b18065bab50a5cde21fe80275a47a43024d9cc"
- integrity sha512-0hhuJSmw/zLc6ewR9cVm84TehuTd7tbqBX9pRNSp8znJ9gTmSgesdbiGZtt8R6dL+2rgaPFp9Yjr7IU1HWm49w==
+ version "7.31.2"
+ resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a"
+ integrity sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/runtime" "^7.12.5"
"@types/aria-query" "^4.2.0"
aria-query "^4.2.2"
chalk "^4.1.0"
- dom-accessibility-api "^0.5.4"
+ dom-accessibility-api "^0.5.6"
lz-string "^1.4.4"
pretty-format "^26.6.2"
@@ -3408,6 +3676,13 @@
"@babel/runtime" "^7.12.5"
"@testing-library/dom" "^7.28.1"
+"@testing-library/user-event@^13.1.9":
+ version "13.1.9"
+ resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.1.9.tgz#29e49a42659ac3c1023565ff56819e0153a82e99"
+ integrity sha512-NZr0zL2TMOs2qk+dNlqrAdbaRW5dAmYwd1yuQ4r7HpkVEOj0MWuUjDWwKhcLd/atdBy8ZSMHSKp+kXSQe47ezg==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+
"@tokenizer/token@^0.1.1":
version "0.1.1"
resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz#f0d92c12f87079ddfd1b29f614758b9696bc29e3"
@@ -3714,6 +3989,11 @@
resolved "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615"
integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==
+"@types/node@^14.14.31":
+ version "14.17.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.4.tgz#218712242446fc868d0e007af29a4408c7765bc0"
+ integrity sha512-8kQ3+wKGRNN0ghtEn7EGps/B8CzuBz1nXZEIGGLP2GnwbqYn4dbTs7k+VKLTq1HvZLRCIDtN3Snx1Ege8B7L5A==
+
"@types/node@^8.5.7":
version "8.10.66"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3"
@@ -3827,6 +4107,16 @@
resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275"
integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==
+"@types/sinonjs__fake-timers@^6.0.2":
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae"
+ integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==
+
+"@types/sizzle@^2.3.2":
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef"
+ integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==
+
"@types/stack-utils@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff"
@@ -3894,6 +4184,13 @@
dependencies:
"@types/yargs-parser" "*"
+"@types/yauzl@^2.9.1":
+ version "2.9.1"
+ resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af"
+ integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==
+ dependencies:
+ "@types/node" "*"
+
"@types/yoga-layout@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a"
@@ -4307,6 +4604,16 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^8.0.5:
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720"
+ integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
+
all-contributors-cli@6.19.0:
version "6.19.0"
resolved "https://registry.yarnpkg.com/all-contributors-cli/-/all-contributors-cli-6.19.0.tgz#7e4550973afede2476b62bd159fee6d72a1ad802"
@@ -4447,7 +4754,7 @@ aproba@^2.0.0:
resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
-arch@^2.1.1:
+arch@^2.1.1, arch@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
@@ -4706,7 +5013,7 @@ async@^2.6.2:
dependencies:
lodash "^4.17.14"
-async@^3.0.1:
+async@^3.0.1, async@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
@@ -5156,6 +5463,11 @@ bl@^4.0.0:
inherits "^2.0.4"
readable-stream "^3.4.0"
+blob-util@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb"
+ integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==
+
bluebird@^3.0.5, bluebird@^3.5.0, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
@@ -5401,6 +5713,11 @@ buble@0.19.6:
regexpu-core "^4.2.0"
vlq "^1.0.0"
+buffer-crc32@~0.2.3:
+ version "0.2.13"
+ resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+ integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
+
buffer-from@1.x, buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
@@ -5598,6 +5915,11 @@ cacheable-request@^6.0.0:
normalize-url "^4.1.0"
responselike "^1.0.2"
+cachedir@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8"
+ integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==
+
call-bind@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce"
@@ -5853,6 +6175,11 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+check-more-types@^2.24.0:
+ version "2.24.0"
+ resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600"
+ integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=
+
cheerio@^0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.18.0.tgz#4e1c06377e725b740e996e0dfec353863de677fa"
@@ -5947,6 +6274,11 @@ ci-info@2.0.0, ci-info@^2.0.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+ci-info@^3.1.1:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
+ integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
+
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
@@ -6002,11 +6334,25 @@ clean-stack@^2.0.0:
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+clean-stack@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-3.0.1.tgz#155bf0b2221bf5f4fba89528d24c5953f17fe3a8"
+ integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==
+ dependencies:
+ escape-string-regexp "4.0.0"
+
cli-boxes@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+cli-cursor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+ integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=
+ dependencies:
+ restore-cursor "^1.0.1"
+
cli-cursor@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
@@ -6021,6 +6367,16 @@ cli-cursor@^3.1.0:
dependencies:
restore-cursor "^3.1.0"
+cli-table3@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee"
+ integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==
+ dependencies:
+ object-assign "^4.1.0"
+ string-width "^4.2.0"
+ optionalDependencies:
+ colors "^1.1.2"
+
cli-table@^0.3.1:
version "0.3.6"
resolved "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz#e9d6aa859c7fe636981fd3787378c2a20bce92fc"
@@ -6273,6 +6629,11 @@ colors@1.0.3:
resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=
+colors@^1.1.2:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
+ integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
+
colors@~0.6.0-1:
version "0.6.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
@@ -6352,7 +6713,7 @@ commander@^4.0.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-commander@^5.0.0:
+commander@^5.0.0, commander@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
@@ -6527,6 +6888,11 @@ contains-path@^0.1.0:
resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
+content-disposition@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
+ integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ=
+
content-disposition@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
@@ -7233,6 +7599,51 @@ cyclist@^1.0.1:
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
+cypress@7.5.0:
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/cypress/-/cypress-7.5.0.tgz#72dd342e3b45f54b63cd46819f38d126feff5954"
+ integrity sha512-tw3v6nrTJoEzT37+Nf6RK+DvdTfhMb8EJYskZx7oskZ+J9qQ1QHWA4dH8Eoe/Mr/wE47o+7PK6O9tgqhRy6IHg==
+ dependencies:
+ "@cypress/listr-verbose-renderer" "^0.4.1"
+ "@cypress/request" "^2.88.5"
+ "@cypress/xvfb" "^1.2.4"
+ "@types/node" "^14.14.31"
+ "@types/sinonjs__fake-timers" "^6.0.2"
+ "@types/sizzle" "^2.3.2"
+ arch "^2.2.0"
+ blob-util "^2.0.2"
+ bluebird "^3.7.2"
+ cachedir "^2.3.0"
+ chalk "^4.1.0"
+ check-more-types "^2.24.0"
+ cli-table3 "~0.6.0"
+ commander "^5.1.0"
+ common-tags "^1.8.0"
+ dayjs "^1.10.4"
+ debug "4.3.2"
+ eventemitter2 "^6.4.3"
+ execa "4.1.0"
+ executable "^4.1.1"
+ extract-zip "2.0.1"
+ fs-extra "^9.1.0"
+ getos "^3.2.1"
+ is-ci "^3.0.0"
+ is-installed-globally "~0.4.0"
+ lazy-ass "^1.6.0"
+ listr2 "^3.8.3"
+ lodash "^4.17.21"
+ log-symbols "^4.0.0"
+ minimist "^1.2.5"
+ ospath "^1.2.2"
+ pretty-bytes "^5.6.0"
+ ramda "~0.27.1"
+ request-progress "^3.0.0"
+ supports-color "^8.1.1"
+ tmp "~0.2.1"
+ untildify "^4.0.0"
+ url "^0.11.0"
+ yauzl "^2.10.0"
+
d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
@@ -7277,6 +7688,11 @@ dataloader@^1.4.0:
resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8"
integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==
+date-fns@^1.27.2:
+ version "1.30.1"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
+ integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
+
date-fns@^2.14.0:
version "2.16.1"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.16.1.tgz#05775792c3f3331da812af253e1a935851d3834b"
@@ -7287,6 +7703,11 @@ dateformat@^3.0.0:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+dayjs@^1.10.4:
+ version "1.10.5"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.5.tgz#5600df4548fc2453b3f163ebb2abbe965ccfb986"
+ integrity sha512-BUFis41ikLz+65iH6LHQCDm4YPMj5r1YFLdupPIyM4SGcXMmtiLQ7U37i+hGS8urIuqe7I/ou3IS1jVc4nbN4g==
+
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -7294,13 +7715,20 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.
dependencies:
ms "2.0.0"
-debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@~4.3.1:
+debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@~4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
dependencies:
ms "2.1.2"
+debug@4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+ integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+ dependencies:
+ ms "2.1.2"
+
debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7:
version "3.2.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
@@ -7675,10 +8103,10 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-dom-accessibility-api@^0.5.4:
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166"
- integrity sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==
+dom-accessibility-api@^0.5.6:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.6.tgz#3f5d43b52c7a3bd68b5fb63fa47b4e4c1fdf65a9"
+ integrity sha512-DplGLZd8L1lN64jlT27N9TVSESFR5STaEJvX+thCby7fuCHonfPpAlodYc3vuUYbDuDec5w8AMP7oCM5TWFsqw==
dom-converter@^0.2:
version "0.2.0"
@@ -7817,6 +8245,11 @@ dot-prop@^6.0.1:
dependencies:
is-obj "^2.0.0"
+dotenv@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
+ integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
+
dotenv@^8.0.0, dotenv@^8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
@@ -8152,6 +8585,11 @@ es6-weak-map@^2.0.3:
es6-iterator "^2.0.3"
es6-symbol "^3.1.1"
+esbuild@^0.12.9:
+ version "0.12.9"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.9.tgz#bed4e7087c286cd81d975631f77d47feb1660070"
+ integrity sha512-MWRhAbMOJ9RJygCrt778rz/qNYgA4ZVj6aXnNPxFjs7PmIpb0fuB9Gmg5uWrr6n++XKwwm/RmSz6RR5JL2Ocsw==
+
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -8172,16 +8610,16 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
escape-string-regexp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-escape-string-regexp@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-
escodegen@^1.14.1:
version "1.14.3"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
@@ -8483,6 +8921,11 @@ event-source-polyfill@^1.0.15:
resolved "https://registry.yarnpkg.com/event-source-polyfill/-/event-source-polyfill-1.0.21.tgz#6b11b1299517a48e04540748b7c23f5a7620155b"
integrity sha512-Mz8LO8hPgg2X6VcSXmq7gvgFU3kUnTZb4zU3tTYDx8cJHRXP15tjdpGUiP2IUUwOqAGZ1TEfe+KagjMXfFgwLA==
+eventemitter2@^6.4.3:
+ version "6.4.4"
+ resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.4.tgz#aa96e8275c4dbeb017a5d0e03780c65612a1202b"
+ integrity sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw==
+
eventemitter3@^3.1.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
@@ -8525,6 +8968,21 @@ exec-sh@^0.3.2:
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==
+execa@4.1.0, execa@^4.0.0, execa@^4.0.2, execa@^4.0.3:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
+ integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ human-signals "^1.1.1"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.0"
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
@@ -8554,21 +9012,6 @@ execa@^3.4.0:
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
-execa@^4.0.0, execa@^4.0.2, execa@^4.0.3:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
- integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
- dependencies:
- cross-spawn "^7.0.0"
- get-stream "^5.0.0"
- human-signals "^1.1.1"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.0"
- onetime "^5.1.0"
- signal-exit "^3.0.2"
- strip-final-newline "^2.0.0"
-
execa@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
@@ -8584,6 +9027,18 @@ execa@^5.0.0:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
+executable@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c"
+ integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==
+ dependencies:
+ pify "^2.2.0"
+
+exit-hook@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+ integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=
+
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -8726,6 +9181,17 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+extract-zip@2.0.1, extract-zip@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
+ integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
+ dependencies:
+ debug "^4.1.1"
+ get-stream "^5.1.0"
+ yauzl "^2.10.0"
+ optionalDependencies:
+ "@types/yauzl" "^2.9.1"
+
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
@@ -8778,6 +9244,13 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+fast-url-parser@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d"
+ integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=
+ dependencies:
+ punycode "^1.3.2"
+
fastest-levenshtein@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2"
@@ -8822,6 +9295,13 @@ fbjs@^0.8.9:
setimmediate "^1.0.5"
ua-parser-js "^0.7.18"
+fd-slicer@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+ integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
+ dependencies:
+ pend "~1.2.0"
+
fd@~0.0.2:
version "0.0.3"
resolved "https://registry.yarnpkg.com/fd/-/fd-0.0.3.tgz#b3240de86dbf5a345baae7382a07d4713566ff0c"
@@ -8832,6 +9312,14 @@ figgy-pudding@^3.5.1:
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
+figures@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
figures@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
@@ -9114,7 +9602,7 @@ fs-extra@^7.0.1:
jsonfile "^4.0.0"
universalify "^0.1.0"
-fs-extra@^8.0.0, fs-extra@^8.1.0:
+fs-extra@^8.0.0, fs-extra@^8.1, fs-extra@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
@@ -9815,6 +10303,13 @@ get-value@^2.0.3, get-value@^2.0.6:
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+getos@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5"
+ integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==
+ dependencies:
+ async "^3.2.0"
+
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
@@ -9942,6 +10437,13 @@ global-dirs@^2.0.1:
dependencies:
ini "^1.3.5"
+global-dirs@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
+ integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==
+ dependencies:
+ ini "2.0.0"
+
global-modules@1.0.0, global-modules@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
@@ -10008,6 +10510,18 @@ globby@^10.0.1:
merge2 "^1.2.3"
slash "^3.0.0"
+globby@^11.0.1:
+ version "11.0.4"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
+ integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
globby@^11.0.2:
version "11.0.2"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83"
@@ -10814,6 +11328,13 @@ ignore@^5.1.1, ignore@^5.1.4:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
+image-size@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750"
+ integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==
+ dependencies:
+ queue "6.0.2"
+
import-cwd@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
@@ -10934,6 +11455,11 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+ini@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
+ integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
+
ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
version "1.3.7"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
@@ -11168,6 +11694,13 @@ is-ci@^2.0.0:
dependencies:
ci-info "^2.0.0"
+is-ci@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
+ integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==
+ dependencies:
+ ci-info "^3.1.1"
+
is-color-stop@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
@@ -11337,6 +11870,14 @@ is-installed-globally@^0.3.2:
global-dirs "^2.0.1"
is-path-inside "^3.0.1"
+is-installed-globally@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
+ integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
+ dependencies:
+ global-dirs "^3.0.0"
+ is-path-inside "^3.0.2"
+
is-invalid-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34"
@@ -11427,6 +11968,11 @@ is-path-inside@^3.0.1:
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
+is-path-inside@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
@@ -12298,6 +12844,11 @@ json-schema-traverse@^0.4.1:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
@@ -12463,6 +13014,11 @@ latest-version@5.1.0, latest-version@^5.1.0:
dependencies:
package-json "^6.3.0"
+lazy-ass@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
+ integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM=
+
lerna@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e"
@@ -12560,6 +13116,19 @@ listr2@^3.8.2:
through "^2.3.8"
wrap-ansi "^7.0.0"
+listr2@^3.8.3:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.10.0.tgz#58105a53ed7fa1430d1b738c6055ef7bb006160f"
+ integrity sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw==
+ dependencies:
+ cli-truncate "^2.1.0"
+ colorette "^1.2.2"
+ log-update "^4.0.0"
+ p-map "^4.0.0"
+ rxjs "^6.6.7"
+ through "^2.3.8"
+ wrap-ansi "^7.0.0"
+
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@@ -12771,6 +13340,11 @@ lodash.omit@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=
+lodash.once@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+ integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
+
lodash.pick@^4.2.1:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
@@ -12796,7 +13370,7 @@ lodash.sortby@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
-lodash.template@^4.5.0:
+lodash.template@^4.4.0, lodash.template@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
@@ -13351,6 +13925,18 @@ mime-db@1.44.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
+mime-db@~1.33.0:
+ version "1.33.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
+ integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==
+
+mime-types@2.1.18:
+ version "2.1.18"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
+ integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==
+ dependencies:
+ mime-db "~1.33.0"
+
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
@@ -14278,6 +14864,11 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
+onetime@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+ integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=
+
onetime@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
@@ -14377,6 +14968,11 @@ osenv@^0.1.4:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
+ospath@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b"
+ integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=
+
p-cancelable@^0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0"
@@ -14876,7 +15472,7 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-path-is-inside@^1.0.2:
+path-is-inside@1.0.2, path-is-inside@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
@@ -14901,6 +15497,11 @@ path-to-regexp@0.1.7:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+path-to-regexp@2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45"
+ integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==
+
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
@@ -14950,6 +15551,11 @@ pegjs@^0.10.0:
resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd"
integrity sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=
+pend@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+ integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+
perfectionist@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/perfectionist/-/perfectionist-2.4.0.tgz#c147ad3714e126467f1764129ee72df861d47ea0"
@@ -14986,7 +15592,7 @@ picomatch@^2.2.3:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
-pify@^2.0.0, pify@^2.3.0:
+pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
@@ -15877,6 +16483,11 @@ pretty-bytes@^5.3.0:
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b"
integrity sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA==
+pretty-bytes@^5.6.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
+ integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
+
pretty-error@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6"
@@ -16096,7 +16707,7 @@ punycode@1.3.2:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
-punycode@^1.2.4:
+punycode@^1.2.4, punycode@^1.3.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
@@ -16184,6 +16795,13 @@ querystringify@^2.1.1:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+queue@6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65"
+ integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
+ dependencies:
+ inherits "~2.0.3"
+
quick-lru@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
@@ -16194,6 +16812,11 @@ quick-lru@^5.1.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+ramda@~0.27.1:
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9"
+ integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==
+
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -16209,6 +16832,11 @@ randomfill@^1.0.3:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
+range-parser@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
+ integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=
+
range-parser@^1.2.1, range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
@@ -17055,6 +17683,13 @@ replace-ext@1.0.0:
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
+request-progress@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe"
+ integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=
+ dependencies:
+ throttleit "^1.0.0"
+
request-promise-core@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f"
@@ -17112,6 +17747,11 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
"require-like@>= 0.1.1":
version "0.1.2"
resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa"
@@ -17214,6 +17854,14 @@ responselike@1.0.2, responselike@^1.0.2:
dependencies:
lowercase-keys "^1.0.0"
+restore-cursor@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+ integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=
+ dependencies:
+ exit-hook "^1.0.0"
+ onetime "^1.0.0"
+
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -17534,6 +18182,20 @@ serialize-javascript@^4.0.0:
dependencies:
randombytes "^2.1.0"
+serve-handler@^6.1.3:
+ version "6.1.3"
+ resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.3.tgz#1bf8c5ae138712af55c758477533b9117f6435e8"
+ integrity sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==
+ dependencies:
+ bytes "3.0.0"
+ content-disposition "0.5.2"
+ fast-url-parser "1.1.3"
+ mime-types "2.1.18"
+ minimatch "3.0.4"
+ path-is-inside "1.0.2"
+ path-to-regexp "2.2.1"
+ range-parser "1.2.0"
+
serve-index@^1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
@@ -18270,7 +18932,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0:
+"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -18587,6 +19249,13 @@ supports-color@^7.0.0, supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
+supports-color@^8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
supports-hyperlinks@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7"
@@ -18888,6 +19557,11 @@ throat@^5.0.0:
resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
+throttleit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
+ integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=
+
through2@^2.0.0, through2@^2.0.1:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -18968,7 +19642,7 @@ tmp@^0.0.33:
dependencies:
os-tmpdir "~1.0.2"
-tmp@^0.2.1:
+tmp@^0.2.1, tmp@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
@@ -19160,6 +19834,11 @@ ts-snippet@^5.0.0:
dependencies:
tsutils "^3.0.0"
+ts-toolbelt@^9.6.0:
+ version "9.6.0"
+ resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz#50a25426cfed500d4a09bd1b3afb6f28879edfd5"
+ integrity sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==
+
tsconfig-paths@^3.9.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
@@ -19185,7 +19864,7 @@ tslib@2.1.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
-tslib@^1.10.0, tslib@^1.14.1, tslib@^1.8.1, tslib@^1.9.0:
+tslib@^1.10.0, tslib@^1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
@@ -20612,6 +21291,15 @@ worker-farm@^1.7.0:
dependencies:
errno "~0.1.7"
+wrap-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-4.0.0.tgz#b3570d7c70156159a2d42be5cc942e957f7b1131"
+ integrity sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==
+ dependencies:
+ ansi-styles "^3.2.0"
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+
wrap-ansi@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
@@ -20727,6 +21415,11 @@ ws@^7.2.3, ws@^7.3.0:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7"
integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==
+ws@^7.4.1:
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz#0033bafea031fb9df041b2026fc72a571ca44691"
+ integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==
+
ws@~7.4.2:
version "7.4.5"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
@@ -20890,6 +21583,14 @@ yargs@^16.2.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
+yauzl@^2.10.0:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+ integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
+ dependencies:
+ buffer-crc32 "~0.2.3"
+ fd-slicer "~1.1.0"
+
yeast@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
From bd5fe4f39371ed0d16091778291b37f21fb2abf5 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Wed, 23 Jun 2021 23:30:18 +0200
Subject: [PATCH 05/27] chore: gitignore .envrc.ps1
---
.gitignore | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 61fc950c6..9655584cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,8 +9,9 @@ coverage
.idea
.vscode
.envrc
+.envrc.ps1
.publish-log.txt
.yarn-error.log
-
-.vercel
+
+.vercel
From a67216f90463cb771ef89d9aa86bb303d62f03a8 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Wed, 23 Jun 2021 23:39:28 +0200
Subject: [PATCH 06/27] ci(e2e): add PERCY_TOKEN
---
.github/workflows/e2e.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index bc28b66a8..b6e31bb98 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -35,6 +35,6 @@ jobs:
record: false # todo: true
parallel: false # todo: true
config-file: packages/e2e/cypress.json
- # spec: packages/e2e/integration/**/*.ts
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
+ PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
From fef3229ab86a719445107ac5b9b7b9c63f2b0f6e Mon Sep 17 00:00:00 2001
From: hasparus
Date: Wed, 23 Jun 2021 23:47:26 +0200
Subject: [PATCH 07/27] chore: exclude packages/e2e from default tsconfig
---
packages/e2e/tsconfig.json | 7 ++++---
tsconfig.json | 3 ++-
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/packages/e2e/tsconfig.json b/packages/e2e/tsconfig.json
index 94a21a073..74d990481 100644
--- a/packages/e2e/tsconfig.json
+++ b/packages/e2e/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../tsconfig.base.json",
+ "extends": "../../tsconfig.options.json",
"compilerOptions": {
"types": ["cypress", "node", "@percy/cypress", "@testing-library/cypress"]
},
@@ -10,7 +10,8 @@
"../../node_modules/@percy/cypress",
"./integration/**/*.ts",
"./support.ts",
- "./plugins.js"
-, "integration/docs-color-modes.ts" ],
+ "./plugins.js",
+ "integration/docs-color-modes.ts"
+ ],
"exclude": ["../../node_modules/@types/jest"]
}
diff --git a/tsconfig.json b/tsconfig.json
index b6039a491..699b0c846 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -5,6 +5,7 @@
"node_modules",
"./packages/*/dist",
"./packages/*/node_modules",
- "./packages/*/test"
+ "./packages/*/test",
+ "./packages/e2e"
]
}
From f8d572b2b9712adcf85d555b9858d70aeb64f353 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Thu, 24 Jun 2021 00:03:30 +0200
Subject: [PATCH 08/27] ci(e2e): set working-directory
---
.github/workflows/e2e.yml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index b6e31bb98..266d9c48b 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -30,11 +30,15 @@ jobs:
with:
install-command: yarn --pure-lockfile --non-interactive
+ - run: yarn build:docs
+
- uses: cypress-io/github-action@v2
with:
record: false # todo: true
parallel: false # todo: true
- config-file: packages/e2e/cypress.json
+ working-directory: packages/e2e
+ start: cd ../.. && yarn workspace docs serve
+ wait: 'http://localhost:9000'
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
From 4b0316a03a03adb4aadf6e1e4ad159158159ab8b Mon Sep 17 00:00:00 2001
From: hasparus
Date: Fri, 25 Jun 2021 11:34:35 +0200
Subject: [PATCH 09/27] ci(e2e): fix start script
---
.github/workflows/e2e.yml | 4 ++--
packages/e2e/package.json | 3 ++-
packages/e2e/support.ts | 2 --
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index 266d9c48b..e5d543d2b 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -37,8 +37,8 @@ jobs:
record: false # todo: true
parallel: false # todo: true
working-directory: packages/e2e
- start: cd ../.. && yarn workspace docs serve
- wait: 'http://localhost:9000'
+ start: yarn serve-docs
+ wait-on: 'http://localhost:9000'
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
diff --git a/packages/e2e/package.json b/packages/e2e/package.json
index 9e55774e3..a5995693d 100644
--- a/packages/e2e/package.json
+++ b/packages/e2e/package.json
@@ -5,7 +5,8 @@
"description": "Cypress tests ran against Theme UI docs and examples",
"scripts": {
"open": "cypress open",
- "start": "percy exec -- cypress run"
+ "start": "percy exec -- cypress run",
+ "serve-docs": "cd ../.. && yarn workspace docs serve"
},
"optionalDependencies": {
"@bahmutov/cypress-esbuild-preprocessor": "^2.1.0",
diff --git a/packages/e2e/support.ts b/packages/e2e/support.ts
index 100b89052..861886d32 100644
--- a/packages/e2e/support.ts
+++ b/packages/e2e/support.ts
@@ -9,8 +9,6 @@ if (typeof global === 'undefined') {
require('@testing-library/cypress/add-commands')
require('@percy/cypress')
-const { default: userEvent } =
- require('@testing-library/user-event') as typeof import('@testing-library/user-event')
declare global {
namespace Cypress {
From f6854faa276b2ad15f175b2e6f88076f5156ba79 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Fri, 25 Jun 2021 13:11:24 +0200
Subject: [PATCH 10/27] ci(e2e): enable Cypress recording
---
.github/workflows/e2e.yml | 6 +++---
packages/e2e/cypress.json | 3 ++-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index e5d543d2b..95f79af4f 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -18,7 +18,7 @@ jobs:
# https://github.com/cypress-io/github-action/issues/48
fail-fast: false
matrix:
- containers: [1]
+ containers: [1, 2]
steps:
- uses: actions/checkout@v2
@@ -34,8 +34,8 @@ jobs:
- uses: cypress-io/github-action@v2
with:
- record: false # todo: true
- parallel: false # todo: true
+ record: true
+ parallel: true
working-directory: packages/e2e
start: yarn serve-docs
wait-on: 'http://localhost:9000'
diff --git a/packages/e2e/cypress.json b/packages/e2e/cypress.json
index cd4b7e67e..bbc50d2f0 100644
--- a/packages/e2e/cypress.json
+++ b/packages/e2e/cypress.json
@@ -11,5 +11,6 @@
"retries": {
"runMode": 1,
"openMode": 3
- }
+ },
+ "projectId": "fmfid1"
}
From e38d064ba7b23bbc1035b59f8755eea92e0d0d1e Mon Sep 17 00:00:00 2001
From: hasparus
Date: Fri, 25 Jun 2021 13:20:46 +0200
Subject: [PATCH 11/27] ci(e2e): use only one container
---
.github/workflows/e2e.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index 95f79af4f..f31a19c6a 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -18,7 +18,7 @@ jobs:
# https://github.com/cypress-io/github-action/issues/48
fail-fast: false
matrix:
- containers: [1, 2]
+ containers: [1] # todo: change to [1, 2] - there's only 1 test file now
steps:
- uses: actions/checkout@v2
From 44b7cd0db9bad3f21d5078c167ba7aad7101b02a Mon Sep 17 00:00:00 2001
From: hasparus
Date: Fri, 25 Jun 2021 13:28:37 +0200
Subject: [PATCH 12/27] chore(ci): add GITHUB_TOKEN
---
.github/workflows/e2e.yml | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index f31a19c6a..e24e30625 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -9,8 +9,8 @@ on:
- ci/*
jobs:
run-cypress:
- runs-on: ubuntu-20.04
- container: cypress/browsers:node12.13.0-chrome78-ff70
+ runs-on: ubuntu-latest
+ # container: cypress/browsers:node12.13.0-chrome78-ff70
strategy:
# when one test fails, DO NOT cancel the other
# containers, because this will kill Cypress processes
@@ -39,6 +39,12 @@ jobs:
working-directory: packages/e2e
start: yarn serve-docs
wait-on: 'http://localhost:9000'
+ tag: ${{ github.event_name }}
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ COMMIT_INFO_MESSAGE:
+ ${{ github.event.pull_request.title && format('{PR {0} - {1}}',
+ github.event.pull_request.number, github.event.pull_request.title)
+ }}
From 53ab8f2b4d21c41f4c6dfbc8edb7b1479ee07d77 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Fri, 25 Jun 2021 17:46:28 +0200
Subject: [PATCH 13/27] chore(ci): stop running push events on ci/ PRs
---
.github/workflows/e2e.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index e24e30625..a66e94801 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -6,7 +6,6 @@ on:
branches:
- develop
- stable
- - ci/*
jobs:
run-cypress:
runs-on: ubuntu-latest
From 59bd858f1296aaab60d4af301129d22303220736 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:07:12 +0200
Subject: [PATCH 14/27] chore(ci): use `start` command to run Percy screenshots
---
.github/workflows/e2e.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index a66e94801..74d9784b1 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -36,6 +36,7 @@ jobs:
record: true
parallel: true
working-directory: packages/e2e
+ command: yarn start
start: yarn serve-docs
wait-on: 'http://localhost:9000'
tag: ${{ github.event_name }}
From e12c71368b8ded5d8d65151c6693daa9cf3b37bd Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:13:58 +0200
Subject: [PATCH 15/27] chore(ci): fix format string
---
.github/workflows/e2e.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index 74d9784b1..d66ceff0e 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -45,6 +45,6 @@ jobs:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMMIT_INFO_MESSAGE:
- ${{ github.event.pull_request.title && format('{PR {0} - {1}}',
+ ${{ github.event.pull_request.title && format('PR {0} - {1}',
github.event.pull_request.number, github.event.pull_request.title)
}}
From 8bb4efeedb03d7c39e23f7e06986926bd269b743 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:18:46 +0200
Subject: [PATCH 16/27] chore(ci): comment out ci/ branch trigger
---
.github/workflows/ci.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index dbbb07f87..078406d09 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -7,7 +7,7 @@ on:
branches:
- develop
- stable
- - ci/*
+ # - ci/* # uncomment this when workin on CI without PR
jobs:
build:
From f7fa9d1f1e94d31e113a2a5dfb6fff3742e08790 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:21:02 +0200
Subject: [PATCH 17/27] chore(ci): provide --record flag
---
.github/workflows/e2e.yml | 2 +-
packages/e2e/package.json | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index d66ceff0e..a860875f9 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -36,7 +36,7 @@ jobs:
record: true
parallel: true
working-directory: packages/e2e
- command: yarn start
+ command: yarn record
start: yarn serve-docs
wait-on: 'http://localhost:9000'
tag: ${{ github.event_name }}
diff --git a/packages/e2e/package.json b/packages/e2e/package.json
index a5995693d..76ac7c0ca 100644
--- a/packages/e2e/package.json
+++ b/packages/e2e/package.json
@@ -6,6 +6,7 @@
"scripts": {
"open": "cypress open",
"start": "percy exec -- cypress run",
+ "record": "percy exec -- cypress run --record",
"serve-docs": "cd ../.. && yarn workspace docs serve"
},
"optionalDependencies": {
From 935121ffddf8c102f32937c2c75c51827072cdd5 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:27:12 +0200
Subject: [PATCH 18/27] docs(readme): add Percy badge
---
packages/theme-ui/README.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/packages/theme-ui/README.md b/packages/theme-ui/README.md
index ab35b9f16..7fea9234a 100644
--- a/packages/theme-ui/README.md
+++ b/packages/theme-ui/README.md
@@ -59,6 +59,9 @@
+
+
+
\
@@ -132,8 +135,7 @@ custom color palettes, typographic scales, fonts, and more. Read more about
// example theme.js
export default {
fonts: {
- body:
- 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
+ body: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
heading: '"Avenir Next", sans-serif',
monospace: 'Menlo, monospace',
},
From 88e2fff7c07c8e15c6303335c5d1e6df84de6d66 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:28:03 +0200
Subject: [PATCH 19/27] docs(readme): show build status from `stable` branch in
the readme
---
packages/theme-ui/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/theme-ui/README.md b/packages/theme-ui/README.md
index 7fea9234a..b1503a93a 100644
--- a/packages/theme-ui/README.md
+++ b/packages/theme-ui/README.md
@@ -29,7 +29,7 @@
-
+
From cb94e1ab8176ef63a08c38dbc12c29093615a701 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:29:27 +0200
Subject: [PATCH 20/27] chore(ci): remove continue-on-error from release step,
as it won't affect the readme anymore
---
.github/workflows/ci.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 078406d09..4703ebaef 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -89,7 +89,6 @@ jobs:
- name: Create release
if: steps.turnstyle.outcome == 'success'
- continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.AUTO_RELEASE_GH_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
From 1693bf6e39bc6c708e30d132d0d7d9e2df30dc40 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:36:27 +0200
Subject: [PATCH 21/27] docs(readme): add cypress badge
---
packages/theme-ui/README.md | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/packages/theme-ui/README.md b/packages/theme-ui/README.md
index b1503a93a..13aeaf135 100644
--- a/packages/theme-ui/README.md
+++ b/packages/theme-ui/README.md
@@ -28,9 +28,6 @@
-
-
-
@@ -59,6 +56,13 @@
+
+
+
+
+
+
+
From d60720d92dc60373e37d60b0568543f101f629a7 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 22:51:23 +0200
Subject: [PATCH 22/27] chore(ci): remove Discord badge before screenshot in
tests
---
packages/e2e/integration/docs-color-modes.ts | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/packages/e2e/integration/docs-color-modes.ts b/packages/e2e/integration/docs-color-modes.ts
index f95d8aa10..1ed90be70 100644
--- a/packages/e2e/integration/docs-color-modes.ts
+++ b/packages/e2e/integration/docs-color-modes.ts
@@ -28,14 +28,19 @@ const colorModeSwitchByText = (...args: Parameters) =>
.parent({ log: false })
.findByText(...args)
-const removeGraph = () =>
- cy
- .get('svg', { log: false })
+const removeDynamicElements = () => {
+ cy.get('svg', { log: false })
.then((graph) => graph.remove())
.log('removed graph')
+ // tests failing because somebody became online on Discord aren't funny...
+ cy.findByAltText('Join our Discord community')
+ .then((img) => img.remove())
+ .log('removed Discord badge')
+}
+
const screenshot = (message?: string) => {
- removeGraph()
+ removeDynamicElements()
cy.percySnapshot(message)
}
From 095d02e4b3cfc4b8b58862710c503577fe252c05 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 23:02:39 +0200
Subject: [PATCH 23/27] chore(e2e): change Percy link to new URL
---
packages/theme-ui/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/theme-ui/README.md b/packages/theme-ui/README.md
index 13aeaf135..a13f180c2 100644
--- a/packages/theme-ui/README.md
+++ b/packages/theme-ui/README.md
@@ -63,7 +63,7 @@
-
+
From 8c17fdc1282c96249d9a55d06a100421267ac58c Mon Sep 17 00:00:00 2001
From: hasparus
Date: Mon, 28 Jun 2021 23:19:21 +0200
Subject: [PATCH 24/27] docs(index): move readme badges *on index page* to a
seperate component, and update them to match readme
---
packages/docs/src/components/readme-badges.js | 93 +++++++++++++++++++
packages/docs/src/pages/index.mdx | 36 +++----
packages/e2e/integration/docs-color-modes.ts | 6 +-
3 files changed, 111 insertions(+), 24 deletions(-)
create mode 100644 packages/docs/src/components/readme-badges.js
diff --git a/packages/docs/src/components/readme-badges.js b/packages/docs/src/components/readme-badges.js
new file mode 100644
index 000000000..6bce8a013
--- /dev/null
+++ b/packages/docs/src/components/readme-badges.js
@@ -0,0 +1,93 @@
+/** @jsx jsx */
+import { jsx } from 'theme-ui'
+
+// Straight-up copied from README.md
+// We may extract it from that Markdown file in a fancy way some day. Maybe...
+export default function ReadmeBadges() {
+ return (
+
+ )
+}
diff --git a/packages/docs/src/pages/index.mdx b/packages/docs/src/pages/index.mdx
index cdeb281c5..629732164 100644
--- a/packages/docs/src/pages/index.mdx
+++ b/packages/docs/src/pages/index.mdx
@@ -1,7 +1,10 @@
import { Container, Box, Button } from 'theme-ui'
+
import { Banner, Tiles } from '..'
-import Testimonials from './testimonials'
import Graph from '../components/graph'
+import ReadmeBadges from '../components/readme-badges'
+
+import Testimonials from './testimonials'
@@ -9,9 +12,10 @@ import Graph from '../components/graph'
# Theme UI: The Design Graph Framework
-Theme UI is a library for creating themeable user interfaces based on constraint-based design principles.
-Build custom component libraries, design systems, web applications, Gatsby themes, and more
-with a flexible API for best-in-class developer ergonomics.
+Theme UI is a library for creating themeable user interfaces based on
+constraint-based design principles. Build custom component libraries, design
+systems, web applications, Gatsby themes, and more with a flexible API for
+best-in-class developer ergonomics.
[Documentation](/getting-started)
[GitHub](https://github.com/system-ui/theme-ui)
@@ -20,16 +24,7 @@ with a flexible API for best-in-class developer ergonomics.
-[![GitHub Stars](https://badgen.net/github/stars/system-ui/theme-ui)](https://github.com/system-ui/theme-ui/stargazers)
-![npm (latest)](https://img.shields.io/npm/v/theme-ui/latest)
-![npm (next)](https://img.shields.io/npm/v/theme-ui/next?color=%23e044aa)
-[![Build Status](https://github.com/system-ui/theme-ui/workflows/CI/badge.svg)](https://github.com/system-ui/theme-ui/actions?query=workflow%3ACI)
-[![Contributors](https://img.shields.io/github/contributors/system-ui/theme-ui)](https://github.com/system-ui/theme-ui/graphs/contributors)
-[![Activity](https://img.shields.io/github/commit-activity/m/system-ui/theme-ui)](https://github.com/badges/shields/pulse)
-[![Size](https://badgen.net/bundlephobia/minzip/theme-ui)](https://badgen.net/bundlephobia/minzip/theme-ui)
-[![Tree Shaking](https://badgen.net/bundlephobia/tree-shaking/theme-ui)](https://bundlephobia.com/result?p=theme-ui)
-[![MIT license](https://badgen.net/badge/license/MIT/blue)](https://github.com/system-ui/theme-ui/blob/stable/LICENSE.md)
-[![Join our Discord community](https://img.shields.io/discord/778553042466635786?color=%237289da&logo=discord)](https://discord.gg/theme-ui)
+
@@ -70,15 +65,14 @@ export default (props) => (
- ## Ergonomic
- Best-in-class developer ergonomics let you style
- your application quickly and consistently
- based on your theme
+ Best-in-class developer ergonomics let you style your application quickly and
+ consistently based on your theme
- ## Themeable
- Quickly and easily reference values from your theme
- throughout your entire application, on any component
+ Quickly and easily reference values from your theme throughout your entire
+ application, on any component
- ## Constraint-based
- Use color, typography, and layout scales
- rooted in constraint-based design principles
+ Use color, typography, and layout scales rooted in constraint-based design
+ principles
diff --git a/packages/e2e/integration/docs-color-modes.ts b/packages/e2e/integration/docs-color-modes.ts
index 1ed90be70..8ba72b729 100644
--- a/packages/e2e/integration/docs-color-modes.ts
+++ b/packages/e2e/integration/docs-color-modes.ts
@@ -34,9 +34,9 @@ const removeDynamicElements = () => {
.log('removed graph')
// tests failing because somebody became online on Discord aren't funny...
- cy.findByAltText('Join our Discord community')
- .then((img) => img.remove())
- .log('removed Discord badge')
+ cy.findByTestId('readme-badges')
+ .then((badges) => badges.remove())
+ .log('removed readme badges')
}
const screenshot = (message?: string) => {
From 02c5638f4d702f673cb7ea98da1238bd35f65c24 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Sun, 11 Jul 2021 07:38:59 +0200
Subject: [PATCH 25/27] chore(e2e): gitignore screenshots and videos
---
packages/e2e/.gitignore | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 packages/e2e/.gitignore
diff --git a/packages/e2e/.gitignore b/packages/e2e/.gitignore
new file mode 100644
index 000000000..22979b876
--- /dev/null
+++ b/packages/e2e/.gitignore
@@ -0,0 +1,2 @@
+screenshots/*
+videos/*
From 701caa27694c82f3b3575af7073c84a177ceb2a6 Mon Sep 17 00:00:00 2001
From: hasparus
Date: Sun, 11 Jul 2021 07:42:03 +0200
Subject: [PATCH 26/27] chore(ci): bump actions/setup-node to v2
---
.github/workflows/ci.yml | 4 ++--
.github/workflows/e2e.yml | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 4703ebaef..3a2dcd5af 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-node@v1
+ - uses: actions/setup-node@v2
with:
node-version: 14.x
@@ -71,7 +71,7 @@ jobs:
- name: Prepare repository
run: git fetch --unshallow --tags
- - uses: actions/setup-node@v1
+ - uses: actions/setup-node@v2
with:
node-version: 14.x
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index a860875f9..6cb25ee56 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -21,7 +21,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-node@v1
+ - uses: actions/setup-node@v2
with:
node-version: 14.x
From fadff0f5a4a445a9df04b22c78900aef6aa969ea Mon Sep 17 00:00:00 2001
From: hasparus
Date: Sun, 11 Jul 2021 07:51:23 +0200
Subject: [PATCH 27/27] chore(ci): fix line endings
---
.github/workflows/ci.yml | 192 +++++++++++++++++++--------------------
1 file changed, 96 insertions(+), 96 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3a2dcd5af..891298c83 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,96 +1,96 @@
-name: CI
-
-on:
- pull_request:
- types: [opened, synchronize]
- push:
- branches:
- - develop
- - stable
- # - ci/* # uncomment this when workin on CI without PR
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
-
- - uses: actions/setup-node@v2
- with:
- node-version: 14.x
-
- - uses: bahmutov/npm-install@v1
- with:
- # By default, bahmutov/npm-install uses --frozen-lockfile
- install-command:
- yarn --ignore-optional --pure-lockfile --non-interactive
-
- - name: Run tests and collect coverage
- run: yarn test --coverage
-
- - name: Typecheck
- run: yarn typecheck
-
- - name: Build
- run: yarn build
-
- - name: Run Codechecks
- run: yarn codechecks
- env:
- CC_SECRET: ${{ secrets.CC_SECRET }}
- if: ${{ env.CC_SECRET != '' }}
-
- # Dependabot and PRs from forks should not release canaries,
- # but secrets and env vars cannot be read in `job.if`, so we check if
- # GH_TOKEN is present before attempting to release.
- release_check:
- runs-on: ubuntu-latest
- needs: [build]
- steps:
- - id: can_release
- run: echo '::set-output name=CAN_RELEASE::${{ env.CAN_RELEASE }}'
- env:
- CAN_RELEASE: ${{ secrets.AUTO_RELEASE_GH_TOKEN != '' }}
- outputs:
- CAN_RELEASE: ${{ steps.can_release.outputs.CAN_RELEASE }}
-
- release:
- runs-on: ubuntu-latest
- needs: [release_check]
- if: >
- !contains(github.event.head_commit.message, 'ci skip') &&
- !contains(github.event.head_commit.message, 'skip ci') && (
- github.event_name == 'push' ||
- github.event.pull_request.head.repo.full_name == github.repository
- ) && (
- needs.release_check.outputs.CAN_RELEASE == 'true'
- )
- steps:
- - uses: actions/checkout@v2
-
- - name: Prepare repository
- run: git fetch --unshallow --tags
-
- - uses: actions/setup-node@v2
- with:
- node-version: 14.x
-
- - uses: bahmutov/npm-install@v1
- with:
- install-command:
- yarn --ignore-optional --pure-lockfile --non-interactive
-
- - name: Queue in release turnstile
- id: turnstyle
- continue-on-error: true
- uses: softprops/turnstyle@v1
- with:
- abort-after-seconds: 600
-
- - name: Create release
- if: steps.turnstyle.outcome == 'success'
- env:
- GITHUB_TOKEN: ${{ secrets.AUTO_RELEASE_GH_TOKEN }}
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: yarn release
+name: CI
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+ push:
+ branches:
+ - develop
+ - stable
+ # - ci/* # uncomment this when workin on CI without PR
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/setup-node@v2
+ with:
+ node-version: 14.x
+
+ - uses: bahmutov/npm-install@v1
+ with:
+ # By default, bahmutov/npm-install uses --frozen-lockfile
+ install-command:
+ yarn --ignore-optional --pure-lockfile --non-interactive
+
+ - name: Run tests and collect coverage
+ run: yarn test --coverage
+
+ - name: Typecheck
+ run: yarn typecheck
+
+ - name: Build
+ run: yarn build
+
+ - name: Run Codechecks
+ run: yarn codechecks
+ env:
+ CC_SECRET: ${{ secrets.CC_SECRET }}
+ if: ${{ env.CC_SECRET != '' }}
+
+ # Dependabot and PRs from forks should not release canaries,
+ # but secrets and env vars cannot be read in `job.if`, so we check if
+ # GH_TOKEN is present before attempting to release.
+ release_check:
+ runs-on: ubuntu-latest
+ needs: [build]
+ steps:
+ - id: can_release
+ run: echo '::set-output name=CAN_RELEASE::${{ env.CAN_RELEASE }}'
+ env:
+ CAN_RELEASE: ${{ secrets.AUTO_RELEASE_GH_TOKEN != '' }}
+ outputs:
+ CAN_RELEASE: ${{ steps.can_release.outputs.CAN_RELEASE }}
+
+ release:
+ runs-on: ubuntu-latest
+ needs: [release_check]
+ if: >
+ !contains(github.event.head_commit.message, 'ci skip') &&
+ !contains(github.event.head_commit.message, 'skip ci') && (
+ github.event_name == 'push' ||
+ github.event.pull_request.head.repo.full_name == github.repository
+ ) && (
+ needs.release_check.outputs.CAN_RELEASE == 'true'
+ )
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Prepare repository
+ run: git fetch --unshallow --tags
+
+ - uses: actions/setup-node@v2
+ with:
+ node-version: 14.x
+
+ - uses: bahmutov/npm-install@v1
+ with:
+ install-command:
+ yarn --ignore-optional --pure-lockfile --non-interactive
+
+ - name: Queue in release turnstile
+ id: turnstyle
+ continue-on-error: true
+ uses: softprops/turnstyle@v1
+ with:
+ abort-after-seconds: 600
+
+ - name: Create release
+ if: steps.turnstyle.outcome == 'success'
+ env:
+ GITHUB_TOKEN: ${{ secrets.AUTO_RELEASE_GH_TOKEN }}
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+ run: yarn release