From 45ead7f33dc165e6fe637bc02f7efd92b7e85730 Mon Sep 17 00:00:00 2001 From: Jessica Sachs Date: Wed, 19 Jan 2022 21:14:41 -0500 Subject: [PATCH 01/10] chore: adding cypress integration tests --- .github/workflows/ci.yml | 15 + cypress.json | 9 + cypress/e2e/smoke.cy.ts | 7 + cypress/plugins/e2e.ts | 4 + cypress/support/commands.js | 25 + cypress/support/index.js | 20 + cypress/tsconfig.json | 8 + package.json | 9 +- pnpm-lock.yaml | 889 ++++++++++++++++++++++++++++++++---- 9 files changed, 900 insertions(+), 86 deletions(-) create mode 100644 cypress.json create mode 100644 cypress/e2e/smoke.cy.ts create mode 100644 cypress/plugins/e2e.ts create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/index.js create mode 100644 cypress/tsconfig.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ae48deec26..26ea321b8d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,21 @@ on: pull_request: jobs: + test-browser: + runs-on: 16 + name: 'Build Docs & Run E2E tests' + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 6 + - name: Install deps + run: pnpm install + - name: Run E2E + run: pnpm test:e2e test: runs-on: ${{ matrix.os }} strategy: diff --git a/cypress.json b/cypress.json new file mode 100644 index 00000000000..39b8f186a36 --- /dev/null +++ b/cypress.json @@ -0,0 +1,9 @@ +{ + "video": false, + "e2e": { + "baseUrl": "http://localhost:3000", + "integrationFolder": "cypress/e2e", + "testFiles": "**/*.cy.*", + "pluginsFile": "cypress/plugins/e2e.ts" + } +} diff --git a/cypress/e2e/smoke.cy.ts b/cypress/e2e/smoke.cy.ts new file mode 100644 index 00000000000..decc910061b --- /dev/null +++ b/cypress/e2e/smoke.cy.ts @@ -0,0 +1,7 @@ + +describe('Smoke Test', () => { + it('compiles the playground page', () => { + cy.visit('/playground/') + cy.contains('Playground under construction') + }) +}) diff --git a/cypress/plugins/e2e.ts b/cypress/plugins/e2e.ts new file mode 100644 index 00000000000..ca2490d406b --- /dev/null +++ b/cypress/plugins/e2e.ts @@ -0,0 +1,4 @@ + +export default (on, config) => { + return config +} diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 00000000000..119ab03f7cd --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/cypress/support/index.js b/cypress/support/index.js new file mode 100644 index 00000000000..d68db96df26 --- /dev/null +++ b/cypress/support/index.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/cypress/tsconfig.json b/cypress/tsconfig.json new file mode 100644 index 00000000000..f87a578b65c --- /dev/null +++ b/cypress/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["es5", "dom"], + "types": ["cypress"] + }, + "include": ["**/*.ts"] +} diff --git a/package.json b/package.json index 0c5c9301a8b..401a16f96e0 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "generate:api-docs": "esno scripts/apidoc.ts", "docs:build": "run-s docs:prepare docs:build:run", "docs:build:run": "vitepress build docs", - "docs:build:ci": "run-s build docs:build", + "docs:build:ci": "run-s build docs:build test:e2e:run", "docs:prepare": "run-s generate:api-docs", "docs:dev": "run-s docs:prepare docs:dev:run", "docs:dev:run": "vitepress dev docs", @@ -67,7 +67,11 @@ "format": "prettier --write .", "lint": "echo 'TODO eslint'", "test": "vitest", - "coverage": "vitest run --coverage" + "coverage": "vitest run --coverage", + "cypress": "cypress", + "test:e2e": "pnpm docs:build:ci", + "test:e2e:run": "run-p --race docs:serve :3000 'cypress run'", + "test:e2e:open": "run-p --race docs:serve :3000 'cypress open'" }, "simple-git-hooks": { "pre-commit": "npx lint-staged --concurrent false", @@ -85,6 +89,7 @@ "@vitest/ui": "~0.1.24", "c8": "~7.11.0", "conventional-changelog-cli": "~2.2.2", + "cypress": "~9.3.1", "esbuild": "~0.14.13", "eslint": "^6.5.1", "esno": "~0.13.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3d88d331a85..daeab6880d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,7 @@ specifiers: '@vitest/ui': ~0.1.24 c8: ~7.11.0 conventional-changelog-cli: ~2.2.2 + cypress: ~9.3.1 esbuild: ~0.14.13 eslint: ^6.5.1 esno: ~0.13.0 @@ -24,7 +25,8 @@ devDependencies: '@vitest/ui': 0.1.27 c8: 7.11.0 conventional-changelog-cli: 2.2.2 - esbuild: 0.14.13 + cypress: 9.3.1 + esbuild: 0.14.14 eslint: 6.8.0 esno: 0.13.0_typescript@4.5.5 lint-staged: 9.5.0 @@ -183,6 +185,37 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@cypress/request/2.88.10: + resolution: {integrity: sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==} + engines: {node: '>= 6'} + dependencies: + aws-sign2: 0.7.0 + aws4: 1.11.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + http-signature: 1.3.6 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.34 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 8.3.2 + dev: true + + /@cypress/xvfb/1.2.4: + resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} + dependencies: + debug: 3.2.7 + lodash.once: 4.1.1 + dev: true + /@docsearch/css/3.0.0-alpha.42: resolution: {integrity: sha512-AGwI2AXUacYhVOHmYnsXoYDJKO6Ued2W+QO80GERbMLhC7GH5tfvtW5REs/s7jSdcU3vzFoxT8iPDBCh/PkrlQ==} dev: true @@ -191,7 +224,7 @@ packages: resolution: {integrity: sha512-8rxxsvFKS5GzDX2MYMETeib4EOwAkoxVUHFP5R4tSENXojhuCEy3np+k3Q0c9WPT+MUmWLxKJab5jyl0jmaeBQ==} dependencies: '@docsearch/react': 3.0.0-alpha.42 - preact: 10.6.4 + preact: 10.6.5 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -279,7 +312,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 17.0.12 + '@types/node': 17.0.13 dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -294,14 +327,34 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/17.0.12: - resolution: {integrity: sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==} + /@types/node/14.18.9: + resolution: {integrity: sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==} + dev: true + + /@types/node/17.0.13: + resolution: {integrity: sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==} dev: true /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true + /@types/sinonjs__fake-timers/8.1.1: + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} + dev: true + + /@types/sizzle/2.3.3: + resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==} + dev: true + + /@types/yauzl/2.9.2: + resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==} + requiresBuild: true + dependencies: + '@types/node': 14.18.9 + dev: true + optional: true + /@vitejs/plugin-vue/2.1.0_vite@2.7.13+vue@3.2.29: resolution: {integrity: sha512-AZ78WxvFMYd8JmM/GBV6a6SGGTU0GgN/0/4T+FnMMsLzFEzTeAUwuraapy50ifHZsC+G5SvWs86bvaCPTneFlA==} engines: {node: '>=12.0.0'} @@ -464,6 +517,11 @@ packages: '@algolia/transporter': 4.12.0 dev: true + /ansi-colors/4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + dev: true + /ansi-escapes/3.2.0: resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} engines: {node: '>=4'} @@ -520,6 +578,10 @@ packages: engines: {node: '>=6'} dev: true + /arch/2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: true + /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -540,6 +602,17 @@ packages: engines: {node: '>=0.10.0'} dev: true + /asn1/0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus/1.0.0: + resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=} + engines: {node: '>=0.8'} + dev: true + /assertion-error/1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true @@ -549,10 +622,54 @@ packages: engines: {node: '>=4'} dev: true + /astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async/3.2.3: + resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} + dev: true + + /asynckit/0.4.0: + resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + dev: true + + /at-least-node/1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /aws-sign2/0.7.0: + resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=} + dev: true + + /aws4/1.11.0: + resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} + dev: true + /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /bcrypt-pbkdf/1.0.2: + resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /blob-util/2.0.2: + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} + dev: true + + /bluebird/3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -567,6 +684,17 @@ packages: fill-range: 7.0.1 dev: true + /buffer-crc32/0.2.13: + resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} + dev: true + + /buffer/5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + /builtins/4.0.0: resolution: {integrity: sha512-qC0E2Dxgou1IHhvJSLwGDSTvokbRovU5zZFuDY6oY8Y2lF3nGt5Ad8YZK7GMtqzY84Wu7pXTPeHQeHcXSXsRhw==} dependencies: @@ -592,6 +720,11 @@ packages: yargs-parser: 20.2.9 dev: true + /cachedir/2.3.0: + resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + engines: {node: '>=6'} + dev: true + /call-bind/1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -637,15 +770,19 @@ packages: engines: {node: '>=6'} dev: true - /chai/4.3.5: - resolution: {integrity: sha512-0gKhNDL29PUlmwz1CG42p/OaBf1v0YD3oH4//YMS1niT7rLH9tC+lqTgk+SvdbhMLd7ToTtxA61orNBmpSO/DA==} + /caseless/0.12.0: + resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} + dev: true + + /chai/4.3.6: + resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.2 deep-eql: 3.0.1 get-func-name: 2.0.0 - loupe: 2.3.0 + loupe: 2.3.1 pathval: 1.1.1 type-detect: 4.0.8 dev: true @@ -686,6 +823,15 @@ packages: resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} dev: true + /check-more-types/2.24.0: + resolution: {integrity: sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=} + engines: {node: '>= 0.8.0'} + dev: true + + /ci-info/3.3.0: + resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} + dev: true + /clean-stack/2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -705,6 +851,15 @@ packages: restore-cursor: 3.1.0 dev: true + /cli-table3/0.6.1: + resolution: {integrity: sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==} + engines: {node: 10.* || >= 12.*} + dependencies: + string-width: 4.2.3 + optionalDependencies: + colors: 1.4.0 + dev: true + /cli-truncate/0.2.1: resolution: {integrity: sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=} engines: {node: '>=0.10.0'} @@ -713,6 +868,14 @@ packages: string-width: 1.0.2 dev: true + /cli-truncate/2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + /cli-width/3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} @@ -752,10 +915,38 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /colorette/2.0.16: + resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} + dev: true + + /colors/1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true + optional: true + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true + /commander/5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + dev: true + + /common-tags/1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + /compare-func/2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -931,6 +1122,10 @@ packages: safe-buffer: 5.1.2 dev: true + /core-util-is/1.0.2: + resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} + dev: true + /core-util-is/1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true @@ -969,11 +1164,68 @@ packages: resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==} dev: true + /cypress/9.3.1: + resolution: {integrity: sha512-BODdPesxX6bkVUnH8BVsV8I/jn57zQtO1FEOUTiuG2us3kslW7g0tcuwiny7CKCmJUZz8S/D587ppC+s58a+5Q==} + engines: {node: '>=12.0.0'} + hasBin: true + requiresBuild: true + dependencies: + '@cypress/request': 2.88.10 + '@cypress/xvfb': 1.2.4 + '@types/node': 14.18.9 + '@types/sinonjs__fake-timers': 8.1.1 + '@types/sizzle': 2.3.3 + arch: 2.2.0 + blob-util: 2.0.2 + bluebird: 3.7.2 + buffer: 5.7.1 + cachedir: 2.3.0 + chalk: 4.1.2 + check-more-types: 2.24.0 + cli-cursor: 3.1.0 + cli-table3: 0.6.1 + commander: 5.1.0 + common-tags: 1.8.2 + dayjs: 1.10.7 + debug: 4.3.3_supports-color@8.1.1 + enquirer: 2.3.6 + eventemitter2: 6.4.5 + execa: 4.1.0 + executable: 4.1.1 + extract-zip: 2.0.1_supports-color@8.1.1 + figures: 3.2.0 + fs-extra: 9.1.0 + getos: 3.2.1 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + lazy-ass: 1.6.0 + listr2: 3.14.0_enquirer@2.3.6 + lodash: 4.17.21 + log-symbols: 4.1.0 + minimist: 1.2.5 + ospath: 1.2.2 + pretty-bytes: 5.6.0 + proxy-from-env: 1.0.0 + 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 + dev: true + /dargs/7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} engines: {node: '>=8'} dev: true + /dashdash/1.14.1: + resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + /date-fns/1.30.1: resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} dev: true @@ -982,6 +1234,16 @@ packages: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true + /dayjs/1.10.7: + resolution: {integrity: sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==} + dev: true + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + dependencies: + ms: 2.1.3 + dev: true + /debug/4.3.3: resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} @@ -994,6 +1256,19 @@ packages: ms: 2.1.2 dev: true + /debug/4.3.3_supports-color@8.1.1: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 8.1.1 + dev: true + /decamelize-keys/1.1.0: resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=} engines: {node: '>=0.10.0'} @@ -1043,6 +1318,11 @@ packages: slash: 3.0.0 dev: true + /delayed-stream/1.0.0: + resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + engines: {node: '>=0.4.0'} + dev: true + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1064,6 +1344,13 @@ packages: is-obj: 2.0.0 dev: true + /ecc-jsbn/0.1.2: + resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + /elegant-spinner/1.0.1: resolution: {integrity: sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=} engines: {node: '>=0.10.0'} @@ -1083,6 +1370,13 @@ packages: once: 1.4.0 dev: true + /enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.1 + dev: true + /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -1132,8 +1426,8 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.13: - resolution: {integrity: sha512-rhtwl+KJ3BzzXkK09N3/YbEF1i5WhriysJEStoeWNBzchx9hlmzyWmDGQQhu56HF78ua3JrVPyLOsdLGvtMvxQ==} + /esbuild-android-arm64/0.14.14: + resolution: {integrity: sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ==} cpu: [arm64] os: [android] requiresBuild: true @@ -1148,8 +1442,8 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.13: - resolution: {integrity: sha512-Fl47xIt5RMu50WIgMU93kwmUUJb+BPuL8R895n/aBNQqavS+KUMpLPoqKGABBV4myfx/fnAD/97X8Gt1C1YW6w==} + /esbuild-darwin-64/0.14.14: + resolution: {integrity: sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg==} cpu: [x64] os: [darwin] requiresBuild: true @@ -1164,8 +1458,8 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.13: - resolution: {integrity: sha512-UttqKRFXsWvuivcyAbFmo54vdkC9Me1ZYQNuoz/uBYDbkb2MgqKYG2+xoVKPBhLvhT0CKM5QGKD81flMH5BE6A==} + /esbuild-darwin-arm64/0.14.14: + resolution: {integrity: sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -1180,8 +1474,8 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.13: - resolution: {integrity: sha512-dlIhPFSp29Yq2TPh7Cm3/4M0uKjlfvOylHVNCRvRNiOvDbBol6/NZ3kLisczms+Yra0rxVapBPN1oMbSMuts9g==} + /esbuild-freebsd-64/0.14.14: + resolution: {integrity: sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA==} cpu: [x64] os: [freebsd] requiresBuild: true @@ -1196,8 +1490,8 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.13: - resolution: {integrity: sha512-bNOHLu7Oq6RwaAMnwPbJ40DVGPl9GlAOnfH/dFZ792f8hFEbopkbtVzo1SU1jjfY3TGLWOgqHNWxPxx1N7Au+g==} + /esbuild-freebsd-arm64/0.14.14: + resolution: {integrity: sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA==} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -1212,8 +1506,8 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.13: - resolution: {integrity: sha512-WzXyBx6zx16adGi7wPBvH2lRCBzYMcqnBRrJ8ciLIqYyruGvprZocX1nFWfiexjLcFxIElWnMNPX6LG7ULqyXA==} + /esbuild-linux-32/0.14.14: + resolution: {integrity: sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg==} cpu: [ia32] os: [linux] requiresBuild: true @@ -1228,8 +1522,8 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.13: - resolution: {integrity: sha512-P6OFAfcoUvE7g9h/0UKm3qagvTovwqpCF1wbFLWe/BcCY8BS1bR/+SxUjCeKX2BcpIsg4/43ezHDE/ntg/iOpw==} + /esbuild-linux-64/0.14.14: + resolution: {integrity: sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -1244,8 +1538,8 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.13: - resolution: {integrity: sha512-4jmm0UySCg3Wi6FEBS7jpiPb1IyckI5um5kzYRwulHxPzkiokd6cgpcsTakR4/Y84UEicS8LnFAghHhXHZhbFg==} + /esbuild-linux-arm/0.14.14: + resolution: {integrity: sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ==} cpu: [arm] os: [linux] requiresBuild: true @@ -1260,8 +1554,8 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.14.13: - resolution: {integrity: sha512-k/uIvmkm4mc7vyMvJVwILgGxi2F+FuvLdmESIIWoHrnxEfEekC5AWpI/R6GQ2OMfp8snebSQLs8KL05QPnt1zA==} + /esbuild-linux-arm64/0.14.14: + resolution: {integrity: sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw==} cpu: [arm64] os: [linux] requiresBuild: true @@ -1276,8 +1570,8 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.14.13: - resolution: {integrity: sha512-vwYtgjQ1TRlUGL88km9wH9TjXsdZyZ/Xht1ASptg5XGRlqGquVjLGH11PfLLunoMdkQ0YTXR68b4l5gRfjVbyg==} + /esbuild-linux-mips64le/0.14.14: + resolution: {integrity: sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg==} cpu: [mips64el] os: [linux] requiresBuild: true @@ -1292,16 +1586,16 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.13: - resolution: {integrity: sha512-0KqDSIkZaYugtcdpFCd3eQ38Fg6TzhxmOpkhDIKNTwD/W2RoXeiS+Z4y5yQ3oysb/ySDOxWkwNqTdXS4sz2LdQ==} + /esbuild-linux-ppc64le/0.14.14: + resolution: {integrity: sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-s390x/0.14.13: - resolution: {integrity: sha512-bG20i7d0CN97fwPN9LaLe64E2IrI0fPZWEcoiff9hzzsvo/fQCx0YjMbPC2T3gqQ48QZRltdU9hQilTjHk3geQ==} + /esbuild-linux-s390x/0.14.14: + resolution: {integrity: sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw==} cpu: [s390x] os: [linux] requiresBuild: true @@ -1316,8 +1610,8 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.13: - resolution: {integrity: sha512-jz96PQb0ltqyqLggPpcRbWxzLvWHvrZBHZQyjcOzKRDqg1fR/R1y10b1Cuv84xoIbdAf+ceNUJkMN21FfR9G2g==} + /esbuild-netbsd-64/0.14.14: + resolution: {integrity: sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ==} cpu: [x64] os: [netbsd] requiresBuild: true @@ -1329,7 +1623,7 @@ packages: peerDependencies: typescript: ^4.0 dependencies: - esbuild: 0.14.13 + esbuild: 0.14.14 typescript: 4.5.5 dev: true @@ -1341,20 +1635,20 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.13: - resolution: {integrity: sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw==} + /esbuild-openbsd-64/0.14.14: + resolution: {integrity: sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg==} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /esbuild-register/3.3.2_esbuild@0.14.13: + /esbuild-register/3.3.2_esbuild@0.14.14: resolution: {integrity: sha512-jceAtTO6zxPmCfSD5cBb3rgIK1vmuqCKYwgylHiS1BF4pq0jJiJb4K2QMuqF4BEw7XDBRatYzip0upyTzfkgsQ==} peerDependencies: esbuild: '>=0.12 <1' dependencies: - esbuild: 0.14.13 + esbuild: 0.14.14 dev: true /esbuild-sunos-64/0.13.15: @@ -1365,8 +1659,8 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.13: - resolution: {integrity: sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ==} + /esbuild-sunos-64/0.14.14: + resolution: {integrity: sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ==} cpu: [x64] os: [sunos] requiresBuild: true @@ -1381,8 +1675,8 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.13: - resolution: {integrity: sha512-MW3BMIi9+fzTyDdljH0ftfT/qlD3t+aVzle1O+zZ2MgHRMQD20JwWgyqoJXhe6uDVyunrAUbcjH3qTIEZN3isg==} + /esbuild-windows-32/0.14.14: + resolution: {integrity: sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg==} cpu: [ia32] os: [win32] requiresBuild: true @@ -1397,8 +1691,8 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.13: - resolution: {integrity: sha512-d7+0N+EOgBKdi/nMxlQ8QA5xHBlpcLtSrYnHsA+Xp4yZk28dYfRw1+embsHf5uN5/1iPvrJwPrcpgDH1xyy4JA==} + /esbuild-windows-64/0.14.14: + resolution: {integrity: sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A==} cpu: [x64] os: [win32] requiresBuild: true @@ -1413,8 +1707,8 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.13: - resolution: {integrity: sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw==} + /esbuild-windows-arm64/0.14.14: + resolution: {integrity: sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg==} cpu: [arm64] os: [win32] requiresBuild: true @@ -1445,29 +1739,29 @@ packages: esbuild-windows-arm64: 0.13.15 dev: true - /esbuild/0.14.13: - resolution: {integrity: sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA==} + /esbuild/0.14.14: + resolution: {integrity: sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg==} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-arm64: 0.14.13 - esbuild-darwin-64: 0.14.13 - esbuild-darwin-arm64: 0.14.13 - esbuild-freebsd-64: 0.14.13 - esbuild-freebsd-arm64: 0.14.13 - esbuild-linux-32: 0.14.13 - esbuild-linux-64: 0.14.13 - esbuild-linux-arm: 0.14.13 - esbuild-linux-arm64: 0.14.13 - esbuild-linux-mips64le: 0.14.13 - esbuild-linux-ppc64le: 0.14.13 - esbuild-linux-s390x: 0.14.13 - esbuild-netbsd-64: 0.14.13 - esbuild-openbsd-64: 0.14.13 - esbuild-sunos-64: 0.14.13 - esbuild-windows-32: 0.14.13 - esbuild-windows-64: 0.14.13 - esbuild-windows-arm64: 0.14.13 + esbuild-android-arm64: 0.14.14 + esbuild-darwin-64: 0.14.14 + esbuild-darwin-arm64: 0.14.14 + esbuild-freebsd-64: 0.14.14 + esbuild-freebsd-arm64: 0.14.14 + esbuild-linux-32: 0.14.14 + esbuild-linux-64: 0.14.14 + esbuild-linux-arm: 0.14.14 + esbuild-linux-arm64: 0.14.14 + esbuild-linux-mips64le: 0.14.14 + esbuild-linux-ppc64le: 0.14.14 + esbuild-linux-s390x: 0.14.14 + esbuild-netbsd-64: 0.14.14 + esbuild-openbsd-64: 0.14.14 + esbuild-sunos-64: 0.14.14 + esbuild-windows-32: 0.14.14 + esbuild-windows-64: 0.14.14 + esbuild-windows-arm64: 0.14.14 dev: true /escalade/3.1.1: @@ -1551,9 +1845,9 @@ packages: hasBin: true dependencies: cross-spawn: 7.0.3 - esbuild: 0.14.13 + esbuild: 0.14.14 esbuild-node-loader: 0.6.4_typescript@4.5.5 - esbuild-register: 3.3.2_esbuild@0.14.13 + esbuild-register: 3.3.2_esbuild@0.14.14 import-meta-resolve: 1.1.1 transitivePeerDependencies: - typescript @@ -1607,6 +1901,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /eventemitter2/6.4.5: + resolution: {integrity: sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==} + dev: true + /execa/2.1.0: resolution: {integrity: sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==} engines: {node: ^8.12.0 || >=9.7.0} @@ -1622,6 +1920,32 @@ packages: strip-final-newline: 2.0.0 dev: true + /execa/4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.6 + strip-final-newline: 2.0.0 + dev: true + + /executable/4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} + dependencies: + pify: 2.3.0 + dev: true + + /extend/3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + /external-editor/3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -1631,6 +1955,25 @@ packages: tmp: 0.0.33 dev: true + /extract-zip/2.0.1_supports-color@8.1.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + dependencies: + debug: 4.3.3_supports-color@8.1.1 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.9.2 + transitivePeerDependencies: + - supports-color + dev: true + + /extsprintf/1.3.0: + resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=} + engines: {'0': node >=0.6.0} + dev: true + /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -1660,6 +2003,12 @@ packages: reusify: 1.0.4 dev: true + /fd-slicer/1.1.0: + resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} + dependencies: + pend: 1.2.0 + dev: true + /figures/1.7.0: resolution: {integrity: sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=} engines: {node: '>=0.10.0'} @@ -1740,6 +2089,29 @@ packages: signal-exit: 3.0.6 dev: true + /forever-agent/0.6.1: + resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=} + dev: true + + /form-data/2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.34 + dev: true + + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.9 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: true @@ -1807,6 +2179,18 @@ packages: get-intrinsic: 1.1.1 dev: true + /getos/3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + dependencies: + async: 3.2.3 + dev: true + + /getpass/0.1.7: + resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=} + dependencies: + assert-plus: 1.0.0 + dev: true + /git-raw-commits/2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} @@ -1860,6 +2244,13 @@ packages: path-is-absolute: 1.0.1 dev: true + /global-dirs/3.0.0: + resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==} + engines: {node: '>=10'} + dependencies: + ini: 2.0.0 + dev: true + /globals/12.4.0: resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} engines: {node: '>=8'} @@ -1895,7 +2286,7 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.14.5 + uglify-js: 3.15.0 dev: true /hard-rejection/2.1.0: @@ -1958,6 +2349,20 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true + /http-signature/1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + jsprim: 2.0.2 + sshpk: 1.17.0 + dev: true + + /human-signals/1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -1965,6 +2370,10 @@ packages: safer-buffer: 2.1.2 dev: true + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + /ignore/4.0.6: resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} engines: {node: '>= 4'} @@ -2027,6 +2436,11 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true + /ini/2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: true + /inquirer/7.3.3: resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} engines: {node: '>=8.0.0'} @@ -2078,6 +2492,13 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-ci/3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.3.0 + dev: true + /is-core-module/2.8.1: resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} dependencies: @@ -2125,6 +2546,14 @@ packages: is-extglob: 2.1.1 dev: true + /is-installed-globally/0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + dependencies: + global-dirs: 3.0.0 + is-path-inside: 3.0.3 + dev: true + /is-negative-zero/2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -2226,6 +2655,15 @@ packages: text-extensions: 1.9.0 dev: true + /is-typedarray/1.0.0: + resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + dev: true + + /is-unicode-supported/0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + /is-weakref/1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: @@ -2240,6 +2678,10 @@ packages: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true + /isstream/0.1.2: + resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} + dev: true + /istanbul-lib-coverage/3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -2274,6 +2716,10 @@ packages: esprima: 4.0.1 dev: true + /jsbn/0.1.1: + resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} + dev: true + /json-parse-better-errors/1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true @@ -2286,6 +2732,10 @@ packages: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true + /json-schema/0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + /json-stable-stringify-without-jsonify/1.0.1: resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} dev: true @@ -2298,16 +2748,39 @@ packages: resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==} dev: true + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.9 + dev: true + /jsonparse/1.3.1: resolution: {integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=} engines: {'0': node >= 0.2.0} dev: true + /jsprim/2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + /kind-of/6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} dev: true + /lazy-ass/1.6.0: + resolution: {integrity: sha1-eZllXoZGwX8In90YfRUNMyTVRRM=} + engines: {node: '> 0.8'} + dev: true + /levn/0.3.0: resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} engines: {node: '>= 0.8.0'} @@ -2392,6 +2865,26 @@ packages: - zen-observable dev: true + /listr2/3.14.0_enquirer@2.3.6: + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.16 + enquirer: 2.3.6 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.0 + rxjs: 7.5.2 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + /load-json-file/4.0.0: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} @@ -2433,6 +2926,10 @@ packages: resolution: {integrity: sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=} dev: true + /lodash.once/4.1.1: + resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} + dev: true + /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true @@ -2451,6 +2948,14 @@ packages: chalk: 2.4.2 dev: true + /log-symbols/4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + /log-update/2.3.0: resolution: {integrity: sha1-iDKP19HOeTiykoN0bwsbwSayRwg=} engines: {node: '>=4'} @@ -2460,11 +2965,20 @@ packages: wrap-ansi: 3.0.1 dev: true - /loupe/2.3.0: - resolution: {integrity: sha512-b6TVXtF01VErh8IxN/MfdiWLQmttrenN98PPGS01kym8kGycJ9tqBXD6D+4sNEDhgE83+H0Mk1cVSl0mD1nNSg==} + /log-update/4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /loupe/2.3.1: + resolution: {integrity: sha512-EN1D3jyVmaX4tnajVlfbREU4axL647hLec1h/PXAb8CPDMJiYitcWF2UeLVNttRqaIqQs4x+mRvXf+d+TlDrCA==} dependencies: get-func-name: 2.0.0 - type-detect: 4.0.8 dev: true /lru-cache/6.0.0: @@ -2501,8 +3015,8 @@ packages: engines: {node: '>=8'} dev: true - /marked/4.0.10: - resolution: {integrity: sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==} + /marked/4.0.12: + resolution: {integrity: sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==} engines: {node: '>= 12'} hasBin: true dev: true @@ -2546,6 +3060,18 @@ packages: picomatch: 2.3.1 dev: true + /mime-db/1.51.0: + resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types/2.1.34: + resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.51.0 + dev: true + /mimic-fn/1.2.0: resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} engines: {node: '>=4'} @@ -2601,6 +3127,10 @@ packages: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + /mute-stream/0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true @@ -2670,6 +3200,13 @@ packages: path-key: 3.1.1 dev: true + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + /number-is-nan/1.0.1: resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=} engines: {node: '>=0.10.0'} @@ -2736,6 +3273,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /ospath/1.2.2: + resolution: {integrity: sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=} + dev: true + /p-finally/2.0.1: resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} engines: {node: '>=8'} @@ -2795,6 +3336,13 @@ packages: aggregate-error: 3.1.0 dev: true + /p-map/4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + /p-try/1.0.0: resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} engines: {node: '>=4'} @@ -2875,6 +3423,14 @@ packages: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true + /pend/1.2.0: + resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} + dev: true + + /performance-now/2.1.0: + resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} + dev: true + /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -2915,8 +3471,8 @@ packages: source-map-js: 1.0.2 dev: true - /preact/10.6.4: - resolution: {integrity: sha512-WyosM7pxGcndU8hY0OQlLd54tOU+qmG45QXj2dAYrL11HoyU/EzOSTlpJsirbBr1QW7lICxSsVJJmcmUglovHQ==} + /preact/10.6.5: + resolution: {integrity: sha512-i+LXM6JiVjQXSt2jG2vZZFapGpCuk1fl8o6ii3G84MA3xgj686FKjs4JFDkmUVhtxyq21+4ay74zqPykz9hU6w==} dev: true /prelude-ls/1.1.2: @@ -2930,6 +3486,11 @@ packages: hasBin: true dev: true + /pretty-bytes/5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + /prismjs/1.26.0: resolution: {integrity: sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==} engines: {node: '>=6'} @@ -2944,6 +3505,14 @@ packages: engines: {node: '>=0.4.0'} dev: true + /proxy-from-env/1.0.0: + resolution: {integrity: sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=} + dev: true + + /psl/1.8.0: + resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} + dev: true + /pump/3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -2951,6 +3520,10 @@ packages: once: 1.4.0 dev: true + /punycode/1.3.2: + resolution: {integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=} + dev: true + /punycode/2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} @@ -2961,6 +3534,17 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true + /qs/6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + + /querystring/0.2.0: + resolution: {integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + dev: true + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true @@ -3040,6 +3624,12 @@ packages: engines: {node: '>=6.5.0'} dev: true + /request-progress/3.0.0: + resolution: {integrity: sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=} + dependencies: + throttleit: 1.0.0 + dev: true + /require-directory/2.1.1: resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} engines: {node: '>=0.10.0'} @@ -3085,6 +3675,10 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true + /rfdc/1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + /rimraf/2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} hasBin: true @@ -3125,6 +3719,12 @@ packages: tslib: 1.14.1 dev: true + /rxjs/7.5.2: + resolution: {integrity: sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==} + dependencies: + tslib: 2.3.1 + dev: true + /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true @@ -3241,6 +3841,24 @@ packages: is-fullwidth-code-point: 2.0.0 dev: true + /slice-ansi/3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi/4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -3298,6 +3916,22 @@ packages: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: true + /sshpk/1.17.0: + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + /string-argv/0.3.1: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} @@ -3451,6 +4085,13 @@ packages: has-flag: 4.0.0 dev: true + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -3502,6 +4143,10 @@ packages: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true + /throttleit/1.0.0: + resolution: {integrity: sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=} + dev: true + /through/2.3.8: resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} dev: true @@ -3524,8 +4169,8 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinyspy/0.2.8: - resolution: {integrity: sha512-4VXqQzzh9gC5uOLk77cLr9R3wqJq07xJlgM9IUdCNJCet139r+046ETKbU1x7mGs7B0k7eopyH5U6yflbBXNyA==} + /tinyspy/0.2.10: + resolution: {integrity: sha512-Qij6rGWCDjWIejxCXXVi6bNgvrYBp3PbqC4cBP/0fD6WHDOHCw09Zd13CsxrDqSR5PFq01WeqDws8t5lz5sH0A==} engines: {node: '>=14.0.0'} dev: true @@ -3536,6 +4181,13 @@ packages: os-tmpdir: 1.0.2 dev: true + /tmp/0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -3548,6 +4200,14 @@ packages: engines: {node: '>=6'} dev: true + /tough-cookie/2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.8.0 + punycode: 2.1.1 + dev: true + /trim-newlines/3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -3557,6 +4217,20 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + dev: true + + /tunnel-agent/0.6.0: + resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tweetnacl/0.14.5: + resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} + dev: true + /type-check/0.3.2: resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} engines: {node: '>= 0.8.0'} @@ -3606,7 +4280,7 @@ packages: dependencies: glob: 7.2.0 lunr: 2.3.9 - marked: 4.0.10 + marked: 4.0.12 minimatch: 3.0.4 shiki: 0.10.0 typescript: 4.5.5 @@ -3618,8 +4292,8 @@ packages: hasBin: true dev: true - /uglify-js/3.14.5: - resolution: {integrity: sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==} + /uglify-js/3.15.0: + resolution: {integrity: sha512-x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true @@ -3635,12 +4309,29 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /untildify/4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.1.1 dev: true + /url/0.11.0: + resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=} + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + dev: true + /util-deprecate/1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: true @@ -3651,6 +4342,11 @@ packages: hasBin: true dev: true + /uuid/8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -3671,6 +4367,15 @@ packages: spdx-expression-parse: 3.0.1 dev: true + /verror/1.10.0: + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + /vite/2.7.13: resolution: {integrity: sha512-Mq8et7f3aK0SgSxjDNfOAimZGW9XryfHRa/uV0jseQSilg+KhYDSoNb9h1rknOy6SuMkvNDLKCYAYYUMCE+IgQ==} engines: {node: '>=12.2.0'} @@ -3739,10 +4444,10 @@ packages: '@types/chai-subset': 1.3.3 '@vitest/ui': 0.1.27 c8: 7.11.0 - chai: 4.3.5 + chai: 4.3.6 local-pkg: 0.4.1 tinypool: 0.1.1 - tinyspy: 0.2.8 + tinyspy: 0.2.10 vite: 2.7.13 transitivePeerDependencies: - less @@ -3810,6 +4515,15 @@ packages: strip-ansi: 4.0.0 dev: true + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -3862,6 +4576,13 @@ packages: yargs-parser: 20.2.9 dev: true + /yauzl/2.10.0: + resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} From 076c071685e8c1889a1f759481814a3259e569d0 Mon Sep 17 00:00:00 2001 From: Jessica Sachs Date: Wed, 19 Jan 2022 21:18:35 -0500 Subject: [PATCH 02/10] chore: cleaning up addtl files --- .github/workflows/ci.yml | 3 +-- cypress.json | 4 +++- cypress/e2e/smoke.cy.ts | 9 ++++----- cypress/plugins/e2e.ts | 4 ---- cypress/support/commands.js | 25 ------------------------- cypress/support/index.js | 20 -------------------- 6 files changed, 8 insertions(+), 57 deletions(-) delete mode 100644 cypress/plugins/e2e.ts delete mode 100644 cypress/support/commands.js delete mode 100644 cypress/support/index.js diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 26ea321b8d6..6c7bc25b8f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,13 +13,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - name: Install pnpm uses: pnpm/action-setup@v2 with: version: 6 - name: Install deps - run: pnpm install + run: pnpm install - name: Run E2E run: pnpm test:e2e test: diff --git a/cypress.json b/cypress.json index 39b8f186a36..2923eb82986 100644 --- a/cypress.json +++ b/cypress.json @@ -4,6 +4,8 @@ "baseUrl": "http://localhost:3000", "integrationFolder": "cypress/e2e", "testFiles": "**/*.cy.*", - "pluginsFile": "cypress/plugins/e2e.ts" + "pluginsFile": false, + "supportFile": false, + "fixturesFolder": false } } diff --git a/cypress/e2e/smoke.cy.ts b/cypress/e2e/smoke.cy.ts index decc910061b..860f1340373 100644 --- a/cypress/e2e/smoke.cy.ts +++ b/cypress/e2e/smoke.cy.ts @@ -1,7 +1,6 @@ - describe('Smoke Test', () => { it('compiles the playground page', () => { - cy.visit('/playground/') - cy.contains('Playground under construction') - }) -}) + cy.visit('/playground/'); + cy.contains('Playground under construction'); + }); +}); diff --git a/cypress/plugins/e2e.ts b/cypress/plugins/e2e.ts deleted file mode 100644 index ca2490d406b..00000000000 --- a/cypress/plugins/e2e.ts +++ /dev/null @@ -1,4 +0,0 @@ - -export default (on, config) => { - return config -} diff --git a/cypress/support/commands.js b/cypress/support/commands.js deleted file mode 100644 index 119ab03f7cd..00000000000 --- a/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/cypress/support/index.js b/cypress/support/index.js deleted file mode 100644 index d68db96df26..00000000000 --- a/cypress/support/index.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') From 9adebc969a0a316b939992610211983eca14bb70 Mon Sep 17 00:00:00 2001 From: Jessica Sachs Date: Wed, 19 Jan 2022 21:22:08 -0500 Subject: [PATCH 03/10] chore: updating cache dir for cy --- netlify.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/netlify.toml b/netlify.toml index 2fa705182e9..c73450ea069 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,6 +1,13 @@ [build.environment] NODE_VERSION = "16" NPM_FLAGS = "--version" # prevent Netlify npm install + + # cache Cypress binary in local "node_modules" folder + # so Netlify caches it + CYPRESS_CACHE_FOLDER = "./node_modules/CypressBinary" + + # set TERM variable for terminal output + TERM = "xterm" [build] publish = "docs/.vitepress/dist" command = "npx pnpm i --store=node_modules/.pnpm-store && npm run docs:build:ci" From ae1f921d471b4f049ad82186685e0361ee30f7cc Mon Sep 17 00:00:00 2001 From: Jessica Sachs Date: Wed, 19 Jan 2022 21:28:28 -0500 Subject: [PATCH 04/10] chore: netlify cache w cy --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index c73450ea069..11a0a08becb 100644 --- a/netlify.toml +++ b/netlify.toml @@ -4,7 +4,7 @@ # cache Cypress binary in local "node_modules" folder # so Netlify caches it - CYPRESS_CACHE_FOLDER = "./node_modules/CypressBinary" + CYPRESS_CACHE_FOLDER = "/opt/buildhome/.cache/Cypress" # set TERM variable for terminal output TERM = "xterm" From 560f3db646a05cd9155fd56c625c86b534cc3645 Mon Sep 17 00:00:00 2001 From: Jess Date: Wed, 19 Jan 2022 21:51:09 -0500 Subject: [PATCH 05/10] Update ci.yml --- .github/workflows/ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c7bc25b8f5..ed3608d0efb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,13 @@ on: jobs: test-browser: - runs-on: 16 + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + node_version: [16] + include: + - os: macos-latest name: 'Build Docs & Run E2E tests' steps: - name: Checkout From 6a051ead6732f4c0fd60fc3ccff98d7af367f7ee Mon Sep 17 00:00:00 2001 From: Shinigami92 Date: Thu, 27 Jan 2022 21:59:47 +0100 Subject: [PATCH 06/10] build: improve e2e-test --- .github/workflows/ci.yml | 42 +++++++++++++++++++--------------------- package.json | 1 - 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed3608d0efb..7d7f7eef41c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,27 +7,7 @@ on: pull_request: jobs: - test-browser: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest] - node_version: [16] - include: - - os: macos-latest - name: 'Build Docs & Run E2E tests' - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 6 - - name: Install deps - run: pnpm install - - name: Run E2E - run: pnpm test:e2e - test: + unit-test: runs-on: ${{ matrix.os }} strategy: matrix: @@ -40,7 +20,7 @@ jobs: node_version: 16 fail-fast: false - name: 'Build & Test: node-${{ matrix.node_version }}, ${{ matrix.os }}' + name: 'Build & Unit Test: node-${{ matrix.node_version }}, ${{ matrix.os }}' steps: - name: Checkout uses: actions/checkout@v2 @@ -65,6 +45,24 @@ jobs: - name: Test run: pnpm run test + e2e-test: + runs-on: ubuntu-latest + name: 'E2E Doc Test: node-16, ubuntu-latest' + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 6 + + - name: Install deps + run: pnpm install + + - name: Run E2E + run: pnpm run docs:build:ci + lint: runs-on: ubuntu-latest name: 'Lint: node-16, ubuntu-latest' diff --git a/package.json b/package.json index 401a16f96e0..0bf28b03ed5 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,6 @@ "test": "vitest", "coverage": "vitest run --coverage", "cypress": "cypress", - "test:e2e": "pnpm docs:build:ci", "test:e2e:run": "run-p --race docs:serve :3000 'cypress run'", "test:e2e:open": "run-p --race docs:serve :3000 'cypress open'" }, From c4f295cdb98ad9c9e148a099e4a508a0b3534fb7 Mon Sep 17 00:00:00 2001 From: Shinigami92 Date: Thu, 27 Jan 2022 22:08:28 +0100 Subject: [PATCH 07/10] test: fix config --- cypress.json | 2 +- cypress/e2e/smoke.cy.ts | 11 ++++++++--- cypress/tsconfig.json | 4 ++-- package.json | 4 ++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/cypress.json b/cypress.json index 2923eb82986..fd984a2b9bf 100644 --- a/cypress.json +++ b/cypress.json @@ -1,7 +1,7 @@ { "video": false, "e2e": { - "baseUrl": "http://localhost:3000", + "baseUrl": "http://localhost:5000", "integrationFolder": "cypress/e2e", "testFiles": "**/*.cy.*", "pluginsFile": false, diff --git a/cypress/e2e/smoke.cy.ts b/cypress/e2e/smoke.cy.ts index 860f1340373..6b3bc06be59 100644 --- a/cypress/e2e/smoke.cy.ts +++ b/cypress/e2e/smoke.cy.ts @@ -1,6 +1,11 @@ describe('Smoke Test', () => { - it('compiles the playground page', () => { - cy.visit('/playground/'); - cy.contains('Playground under construction'); + it('compiles the guide page', () => { + cy.visit('/guide/'); + cy.contains('Getting Started'); }); + + // it('compiles the playground page', () => { + // cy.visit('/playground/'); + // cy.contains('Playground under construction'); + // }); }); diff --git a/cypress/tsconfig.json b/cypress/tsconfig.json index f87a578b65c..5e8cb532f20 100644 --- a/cypress/tsconfig.json +++ b/cypress/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], + "target": "ES5", + "lib": ["ES5", "DOM"], "types": ["cypress"] }, "include": ["**/*.ts"] diff --git a/package.json b/package.json index 0bf28b03ed5..c998f50cd1f 100644 --- a/package.json +++ b/package.json @@ -69,8 +69,8 @@ "test": "vitest", "coverage": "vitest run --coverage", "cypress": "cypress", - "test:e2e:run": "run-p --race docs:serve :3000 'cypress run'", - "test:e2e:open": "run-p --race docs:serve :3000 'cypress open'" + "test:e2e:run": "run-p --race docs:serve 'cypress run'", + "test:e2e:open": "run-p --race docs:serve 'cypress open'" }, "simple-git-hooks": { "pre-commit": "npx lint-staged --concurrent false", From 34e887e1884fb7f914391e31a1d05dfcf9a522bc Mon Sep 17 00:00:00 2001 From: Shinigami92 Date: Thu, 27 Jan 2022 22:09:44 +0100 Subject: [PATCH 08/10] chore: prefix with docs: --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index c998f50cd1f..dc68a7249c7 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "generate:api-docs": "esno scripts/apidoc.ts", "docs:build": "run-s docs:prepare docs:build:run", "docs:build:run": "vitepress build docs", - "docs:build:ci": "run-s build docs:build test:e2e:run", + "docs:build:ci": "run-s build docs:build docs:test:e2e:run", "docs:prepare": "run-s generate:api-docs", "docs:dev": "run-s docs:prepare docs:dev:run", "docs:dev:run": "vitepress dev docs", @@ -69,8 +69,8 @@ "test": "vitest", "coverage": "vitest run --coverage", "cypress": "cypress", - "test:e2e:run": "run-p --race docs:serve 'cypress run'", - "test:e2e:open": "run-p --race docs:serve 'cypress open'" + "docs:test:e2e:run": "run-p --race docs:serve 'cypress run'", + "docs:test:e2e:open": "run-p --race docs:serve 'cypress open'" }, "simple-git-hooks": { "pre-commit": "npx lint-staged --concurrent false", From b0395b8947959523cbeaa8791101a628f1f58f95 Mon Sep 17 00:00:00 2001 From: Shinigami92 Date: Thu, 27 Jan 2022 22:13:16 +0100 Subject: [PATCH 09/10] ci: do not run e2e doc tests on netlify chore: revert netlify toml changes --- netlify.toml | 7 ------- package.json | 3 ++- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/netlify.toml b/netlify.toml index 11a0a08becb..2fa705182e9 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,13 +1,6 @@ [build.environment] NODE_VERSION = "16" NPM_FLAGS = "--version" # prevent Netlify npm install - - # cache Cypress binary in local "node_modules" folder - # so Netlify caches it - CYPRESS_CACHE_FOLDER = "/opt/buildhome/.cache/Cypress" - - # set TERM variable for terminal output - TERM = "xterm" [build] publish = "docs/.vitepress/dist" command = "npx pnpm i --store=node_modules/.pnpm-store && npm run docs:build:ci" diff --git a/package.json b/package.json index dc68a7249c7..827beae11a1 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "generate:api-docs": "esno scripts/apidoc.ts", "docs:build": "run-s docs:prepare docs:build:run", "docs:build:run": "vitepress build docs", - "docs:build:ci": "run-s build docs:build docs:test:e2e:run", + "docs:build:ci": "run-s build docs:build", "docs:prepare": "run-s generate:api-docs", "docs:dev": "run-s docs:prepare docs:dev:run", "docs:dev:run": "vitepress dev docs", @@ -69,6 +69,7 @@ "test": "vitest", "coverage": "vitest run --coverage", "cypress": "cypress", + "docs:test:e2e:ci": "run-s docs:build:ci docs:test:e2e:run", "docs:test:e2e:run": "run-p --race docs:serve 'cypress run'", "docs:test:e2e:open": "run-p --race docs:serve 'cypress open'" }, From 7b0c810619515f725d983e998b9eb87c5f9ff33c Mon Sep 17 00:00:00 2001 From: Shinigami Date: Fri, 28 Jan 2022 11:22:17 +0100 Subject: [PATCH 10/10] chore: use escaped double quotes to support windows Co-authored-by: Daniel Bannert --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 827beae11a1..e7bd58701ae 100644 --- a/package.json +++ b/package.json @@ -70,8 +70,8 @@ "coverage": "vitest run --coverage", "cypress": "cypress", "docs:test:e2e:ci": "run-s docs:build:ci docs:test:e2e:run", - "docs:test:e2e:run": "run-p --race docs:serve 'cypress run'", - "docs:test:e2e:open": "run-p --race docs:serve 'cypress open'" + "docs:test:e2e:run": "run-p --race docs:serve \"cypress run\"", + "docs:test:e2e:open": "run-p --race docs:serve \"cypress open\"" }, "simple-git-hooks": { "pre-commit": "npx lint-staged --concurrent false",