diff --git a/.github/actions/test/action.yml b/.github/actions/pnpm/action.yml similarity index 70% rename from .github/actions/test/action.yml rename to .github/actions/pnpm/action.yml index 18e46603..81d0159f 100644 --- a/.github/actions/test/action.yml +++ b/.github/actions/pnpm/action.yml @@ -1,5 +1,5 @@ -name: Test -description: 'Setup and test' +name: pnpm +description: 'Setup node & pnpm' runs: using: "composite" @@ -13,7 +13,4 @@ runs: run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] - - run: pnpm run lint - shell: bash - - run: pnpm test - shell: bash + diff --git a/.github/workflows/examples.yaml b/.github/workflows/examples.yaml new file mode 100644 index 00000000..19125ff3 --- /dev/null +++ b/.github/workflows/examples.yaml @@ -0,0 +1,30 @@ +name: Examples +on: + push: + branches: + - main + paths: + - "examples/**" + pull_request: + branches: + - main + paths: + - "examples/**" +jobs: + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/actions/pnpm + - run: pnpm build:examples + - run: pnpx playwright install --with-deps # install browsers + - run: pnpm test:examples + + # save test report + # - uses: actions/upload-artifact@v3 + # if: always() + # with: + # name: playwright-report + # path: playwright-report/ + # retention-days: 30 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8fac8dee..51f21c0b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,8 +26,10 @@ jobs: path_released: ${{fromJson(needs.release.outputs.paths_released)}} steps: - uses: actions/checkout@v3 - - uses: ./.github/actions/test - - name: Run pnpm publish + - uses: ./.github/actions/pnpm + - run: pnpm lint + - run: pnpm test + - name: pnpm publish run: | cd ${{ matrix.path_released }} pnpm install diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 1c1a87ef..f545af9e 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -12,4 +12,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: ./.github/actions/test + - uses: ./.github/actions/pnpm + - run: pnpm lint + - run: pnpm test diff --git a/examples/react/file-upload/vite.config.js b/examples/react/file-upload/vite.config.js index 335126d5..2dfec155 100644 --- a/examples/react/file-upload/vite.config.js +++ b/examples/react/file-upload/vite.config.js @@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [react()], server: { port: 3000 diff --git a/examples/react/multi-file-upload/vite.config.js b/examples/react/multi-file-upload/vite.config.js index 335126d5..2dfec155 100644 --- a/examples/react/multi-file-upload/vite.config.js +++ b/examples/react/multi-file-upload/vite.config.js @@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [react()], server: { port: 3000 diff --git a/examples/react/sign-up-in/index.html b/examples/react/sign-up-in/index.html index 0a697a39..24c01344 100644 --- a/examples/react/sign-up-in/index.html +++ b/examples/react/sign-up-in/index.html @@ -4,7 +4,7 @@ - W3UI Signup/Login Example App + W3UI Sign Up / Sign In Example App
diff --git a/examples/react/sign-up-in/vite.config.js b/examples/react/sign-up-in/vite.config.js index 335126d5..2dfec155 100644 --- a/examples/react/sign-up-in/vite.config.js +++ b/examples/react/sign-up-in/vite.config.js @@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [react()], server: { port: 3000 diff --git a/examples/react/template/vite.config.js b/examples/react/template/vite.config.js index 335126d5..2dfec155 100644 --- a/examples/react/template/vite.config.js +++ b/examples/react/template/vite.config.js @@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [react()], server: { port: 3000 diff --git a/examples/react/uploads-list/vite.config.js b/examples/react/uploads-list/vite.config.js index 335126d5..2dfec155 100644 --- a/examples/react/uploads-list/vite.config.js +++ b/examples/react/uploads-list/vite.config.js @@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [react()], server: { port: 3000 diff --git a/examples/serve.json b/examples/serve.json new file mode 100644 index 00000000..6d29c3b2 --- /dev/null +++ b/examples/serve.json @@ -0,0 +1,14 @@ +{ + "unlisted": [ + "README.md", + "test", + "serve.json", + "template" + ], + "rewrites": [ + { "source": "/:ui/:eg", "destination": "/:ui/:eg/dist/index.html" }, + { "source": "/:ui/:eg/", "destination": "/:ui/:eg/dist/index.html" }, + { "source": "/:ui/:eg/favicon.ico", "destination": "/:ui/:eg/dist/favicon.ico" }, + { "source": "/:ui/:eg/assets/:x", "destination": "/:ui/:eg/dist/assets/:x" } + ] +} \ No newline at end of file diff --git a/examples/solid/file-upload/vite.config.js b/examples/solid/file-upload/vite.config.js index c7a27868..d34ef912 100644 --- a/examples/solid/file-upload/vite.config.js +++ b/examples/solid/file-upload/vite.config.js @@ -2,6 +2,7 @@ import { defineConfig } from 'vite' import solidPlugin from 'vite-plugin-solid' export default defineConfig({ + base: '', plugins: [solidPlugin()], server: { port: 3000 diff --git a/examples/solid/multi-file-upload/vite.config.js b/examples/solid/multi-file-upload/vite.config.js index c7a27868..d34ef912 100644 --- a/examples/solid/multi-file-upload/vite.config.js +++ b/examples/solid/multi-file-upload/vite.config.js @@ -2,6 +2,7 @@ import { defineConfig } from 'vite' import solidPlugin from 'vite-plugin-solid' export default defineConfig({ + base: '', plugins: [solidPlugin()], server: { port: 3000 diff --git a/examples/solid/sign-up-in/vite.config.js b/examples/solid/sign-up-in/vite.config.js index c7a27868..d34ef912 100644 --- a/examples/solid/sign-up-in/vite.config.js +++ b/examples/solid/sign-up-in/vite.config.js @@ -2,6 +2,7 @@ import { defineConfig } from 'vite' import solidPlugin from 'vite-plugin-solid' export default defineConfig({ + base: '', plugins: [solidPlugin()], server: { port: 3000 diff --git a/examples/solid/template/vite.config.js b/examples/solid/template/vite.config.js index c7a27868..d34ef912 100644 --- a/examples/solid/template/vite.config.js +++ b/examples/solid/template/vite.config.js @@ -2,6 +2,7 @@ import { defineConfig } from 'vite' import solidPlugin from 'vite-plugin-solid' export default defineConfig({ + base: '', plugins: [solidPlugin()], server: { port: 3000 diff --git a/examples/solid/uploads-list/vite.config.js b/examples/solid/uploads-list/vite.config.js index c7a27868..d34ef912 100644 --- a/examples/solid/uploads-list/vite.config.js +++ b/examples/solid/uploads-list/vite.config.js @@ -2,6 +2,7 @@ import { defineConfig } from 'vite' import solidPlugin from 'vite-plugin-solid' export default defineConfig({ + base: '', plugins: [solidPlugin()], server: { port: 3000 diff --git a/examples/test/playwright/.gitignore b/examples/test/playwright/.gitignore new file mode 100644 index 00000000..75e854d8 --- /dev/null +++ b/examples/test/playwright/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +/test-results/ +/playwright-report/ +/playwright/.cache/ diff --git a/examples/test/playwright/README.md b/examples/test/playwright/README.md new file mode 100644 index 00000000..8d3dbcd1 --- /dev/null +++ b/examples/test/playwright/README.md @@ -0,0 +1,61 @@ +# W3UI Playwright tests + +_Test our examples across all UI libraties we support, in real browsers!_ + +## Getting started + +Install the deps and the browsers from the root of the monorepo + +```bash +# update deps +$ pnpm i + +# fetch test browsers +$ pnpx playwright install +``` + +Build the examples to their many dist folders + +```bash +$ pnpm build:examples +``` + +Run the tests + +```bash +$ pnpm test:examples + +examples/test/playwright test$ playwright test +[30 lines collapsed] +│ [30/33] [webkit] › sign-up-in.spec.ts:4:3 › vue: sign in +│ [31/33] [webkit] › uploads-list.spec.ts:4:3 › react: uploads list +│ [32/33] [webkit] › uploads-list.spec.ts:4:3 › solid: uploads list +│ [33/33] [webkit] › uploads-list.spec.ts:4:3 › vue: uploads list +│ +│ 33 passed (7s) +│ To open last HTML report run: +│ +│ npx playwright show-report +│ +└─ Done in 7.6s +``` + +## Debugging + +You can run the test server manually to see what requests are made, and the tests will re-use your running server on http://localhost:1337 - it's powered by `serve` a static webserver running over the examples dir, configured in `examples/serve.json` + +```bash +$ pnpm serve:examples +``` + +You can also run the tests locally from this project, and have it show you the browser as the tests run to aid debugging + +```bash +$ cd examples/test/playwright +$ pnpm test + +# or to see what's going on in the browser as the test runs +$ pnpm test:debug +``` + + diff --git a/examples/test/playwright/package.json b/examples/test/playwright/package.json new file mode 100644 index 00000000..bf85ba2c --- /dev/null +++ b/examples/test/playwright/package.json @@ -0,0 +1,16 @@ +{ + "name": "@w3ui/example-test-playwright", + "version": "1.0.0", + "type": "module", + "scripts": { + "serve": "serve ../../", + "test": "playwright test", + "test:debug": "playwright test --project=chromium --headed" + }, + "author": "olzilla", + "license": "Apache-2.0 OR MIT", + "devDependencies": { + "@playwright/test": "^1.29.2", + "serve": "^14.1.2" + } +} diff --git a/examples/test/playwright/playwright.config.ts b/examples/test/playwright/playwright.config.ts new file mode 100644 index 00000000..973a41fd --- /dev/null +++ b/examples/test/playwright/playwright.config.ts @@ -0,0 +1,101 @@ +import type { PlaywrightTestConfig } from '@playwright/test' +import { devices } from '@playwright/test' + +/** + * See https://playwright.dev/docs/test-configuration. + */ +const config: PlaywrightTestConfig = { + testDir: './src', + timeout: 30 * 1000, + expect: { + /** + * Maximum time expect() should wait for the condition to be met. + * For example in `await expect(locator).toHaveText();` + */ + timeout: 5000 + }, + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, // eslint-disable-line @typescript-eslint/strict-boolean-expressions + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, // eslint-disable-line @typescript-eslint/strict-boolean-expressions + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, // eslint-disable-line @typescript-eslint/strict-boolean-expressions + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ + actionTimeout: 0, + /* Base URL to use in actions like `await page.goto('/')`. */ + baseURL: 'http://localhost:1337', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry' + }, + + /* Run your local dev server before starting the tests */ + webServer: { + reuseExistingServer: !process.env.CI, // eslint-disable-line @typescript-eslint/strict-boolean-expressions + command: 'pnpm run serve -p 1337', + port: 1337 + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { + ...devices['Desktop Chrome'] + } + }, + + { + name: 'firefox', + use: { + ...devices['Desktop Firefox'] + } + }, + + { + name: 'webkit', + use: { + ...devices['Desktop Safari'] + } + } + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { + // ...devices['Pixel 5'], + // }, + // }, + // { + // name: 'Mobile Safari', + // use: { + // ...devices['iPhone 12'], + // }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { + // channel: 'msedge', + // }, + // }, + // { + // name: 'Google Chrome', + // use: { + // channel: 'chrome', + // }, + // }, + ] + + /* Folder for test artifacts such as screenshots, videos, traces, etc. */ + // outputDir: 'test-results/', +} + +export default config diff --git a/examples/test/playwright/src/file-upload.spec.ts b/examples/test/playwright/src/file-upload.spec.ts new file mode 100644 index 00000000..fa5c9e02 --- /dev/null +++ b/examples/test/playwright/src/file-upload.spec.ts @@ -0,0 +1,13 @@ +import { test, expect } from '@playwright/test' + +for (const ui of ['react', 'solid', 'vue'/* 'vanilla' not work atm */]) { + test(`${ui}: file upload`, async ({ page }) => { + await page.goto(`/${ui}/file-upload/`) + await expect(page).toHaveTitle('W3UI File Upload Example App') + + const input = page.getByRole('textbox', { name: 'Email address:' }) + await input.fill('test@example.org') + await input.press('Enter') + await expect(page.getByText('Verify your email address!')).toBeVisible() + }) +} diff --git a/examples/test/playwright/src/multi-file-upload.spec.ts b/examples/test/playwright/src/multi-file-upload.spec.ts new file mode 100644 index 00000000..9df142d5 --- /dev/null +++ b/examples/test/playwright/src/multi-file-upload.spec.ts @@ -0,0 +1,13 @@ +import { test, expect } from '@playwright/test' + +for (const ui of ['react', 'solid'/* `vue` not exit yet, 'vanilla' not work atm */]) { + test(`${ui}: multi file upload`, async ({ page }) => { + await page.goto(`/${ui}/multi-file-upload/`) + await expect(page).toHaveTitle('W3UI Multi File Upload Example App') + + const input = page.getByRole('textbox', { name: 'Email address:' }) + await input.fill('test@example.org') + await input.press('Enter') + await expect(page.getByText('Verify your email address!')).toBeVisible() + }) +} diff --git a/examples/test/playwright/src/sign-up-in.spec.ts b/examples/test/playwright/src/sign-up-in.spec.ts new file mode 100644 index 00000000..bd968218 --- /dev/null +++ b/examples/test/playwright/src/sign-up-in.spec.ts @@ -0,0 +1,13 @@ +import { test, expect } from '@playwright/test' + +for (const ui of ['react', 'solid', 'vue'/* 'vanilla' not work atm */]) { + test(`${ui}: sign in`, async ({ page }) => { + await page.goto(`/${ui}/sign-up-in/`) + await expect(page).toHaveTitle('W3UI Sign Up / Sign In Example App') + + const input = page.getByRole('textbox', { name: 'Email address:' }) + await input.fill('test@example.org') + await input.press('Enter') + await expect(page.getByText('Verify your email address!')).toBeVisible() + }) +} diff --git a/examples/test/playwright/src/uploads-list.spec.ts b/examples/test/playwright/src/uploads-list.spec.ts new file mode 100644 index 00000000..74a02b78 --- /dev/null +++ b/examples/test/playwright/src/uploads-list.spec.ts @@ -0,0 +1,13 @@ +import { test, expect } from '@playwright/test' + +for (const ui of ['react', 'solid', 'vue'/* 'vanilla' not work atm */]) { + test(`${ui}: uploads list`, async ({ page }) => { + await page.goto(`/${ui}/uploads-list/`) + await expect(page).toHaveTitle('W3UI Uploads List Example App') + + const input = page.getByRole('textbox', { name: 'Email address:' }) + await input.fill('test@example.org') + await input.press('Enter') + await expect(page.getByText('Verify your email address!')).toBeVisible() + }) +} diff --git a/examples/vanilla/file-upload/vite.config.js b/examples/vanilla/file-upload/vite.config.js index 2e31bbfc..53764f98 100644 --- a/examples/vanilla/file-upload/vite.config.js +++ b/examples/vanilla/file-upload/vite.config.js @@ -2,5 +2,6 @@ import { defineConfig } from 'vite' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [] }) diff --git a/examples/vanilla/multi-file-upload/vite.config.js b/examples/vanilla/multi-file-upload/vite.config.js index 2e31bbfc..53764f98 100644 --- a/examples/vanilla/multi-file-upload/vite.config.js +++ b/examples/vanilla/multi-file-upload/vite.config.js @@ -2,5 +2,6 @@ import { defineConfig } from 'vite' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [] }) diff --git a/examples/vanilla/sign-up-in/vite.config.js b/examples/vanilla/sign-up-in/vite.config.js index 2e31bbfc..53764f98 100644 --- a/examples/vanilla/sign-up-in/vite.config.js +++ b/examples/vanilla/sign-up-in/vite.config.js @@ -2,5 +2,6 @@ import { defineConfig } from 'vite' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [] }) diff --git a/examples/vanilla/template/vite.config.js b/examples/vanilla/template/vite.config.js index cb8ab0aa..92c81faf 100644 --- a/examples/vanilla/template/vite.config.js +++ b/examples/vanilla/template/vite.config.js @@ -4,6 +4,7 @@ import { defineConfig } from 'vite' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [], resolve: { alias: { diff --git a/examples/vanilla/uploads-list/vite.config.js b/examples/vanilla/uploads-list/vite.config.js index 2e31bbfc..53764f98 100644 --- a/examples/vanilla/uploads-list/vite.config.js +++ b/examples/vanilla/uploads-list/vite.config.js @@ -2,5 +2,6 @@ import { defineConfig } from 'vite' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [] }) diff --git a/examples/vue/file-upload/vite.config.js b/examples/vue/file-upload/vite.config.js index de5cb31c..7d9de6a3 100644 --- a/examples/vue/file-upload/vite.config.js +++ b/examples/vue/file-upload/vite.config.js @@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [vue()], resolve: { alias: { diff --git a/examples/vue/sign-up-in/index.html b/examples/vue/sign-up-in/index.html index 30de142d..25e51d98 100644 --- a/examples/vue/sign-up-in/index.html +++ b/examples/vue/sign-up-in/index.html @@ -4,7 +4,7 @@ - W3UI Sign Up / In Example App + W3UI Sign Up / Sign In Example App
diff --git a/examples/vue/sign-up-in/vite.config.js b/examples/vue/sign-up-in/vite.config.js index de5cb31c..7d9de6a3 100644 --- a/examples/vue/sign-up-in/vite.config.js +++ b/examples/vue/sign-up-in/vite.config.js @@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [vue()], resolve: { alias: { diff --git a/examples/vue/template/vite.config.js b/examples/vue/template/vite.config.js index de5cb31c..7d9de6a3 100644 --- a/examples/vue/template/vite.config.js +++ b/examples/vue/template/vite.config.js @@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [vue()], resolve: { alias: { diff --git a/examples/vue/uploads-list/vite.config.js b/examples/vue/uploads-list/vite.config.js index de5cb31c..7d9de6a3 100644 --- a/examples/vue/uploads-list/vite.config.js +++ b/examples/vue/uploads-list/vite.config.js @@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ + base: '', plugins: [vue()], resolve: { alias: { diff --git a/package.json b/package.json index 2f89881e..365b6af3 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,11 @@ "clean": "rm -rf node_modules package-lock.json coverage packages/*/{package-lock.json,build,node_modules}", "compile": "pnpm run --recursive --if-present compile", "lint": "ts-standard", - "test": "pnpm run --recursive --if-present test", - "typecheck": "tsc -b" + "test": "pnpm run --filter './packages/**' --recursive test", + "typecheck": "tsc -b", + "test:examples": "pnpm run --filter './examples/**' test", + "build:examples": "pnpm run --filter './examples/**' --no-bail build || true", + "serve:examples": "serve examples" }, "devDependencies": { "@babel/plugin-transform-modules-commonjs": "^7.18.6", @@ -47,6 +50,7 @@ "rollup-plugin-size": "^0.2.2", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-visualizer": "^5.8.1", + "serve": "^14.1.2", "solid-js": "^1.5.6", "ts-node": "^10.9.1", "ts-standard": "^12.0.1", @@ -54,5 +58,10 @@ "vitest": "^0.27.0", "vitest-environment-w3ui": "workspace:^", "vue": "^3.2.39" + }, + "ts-standard": { + "ignore": [ + "dist" + ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0a46892..6e65f569 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,6 +31,7 @@ importers: rollup-plugin-size: ^0.2.2 rollup-plugin-terser: ^7.0.2 rollup-plugin-visualizer: ^5.8.1 + serve: ^14.1.2 solid-js: ^1.5.6 ts-node: ^10.9.1 ts-standard: ^12.0.1 @@ -66,6 +67,7 @@ importers: rollup-plugin-size: 0.2.2 rollup-plugin-terser: 7.0.2_rollup@2.79.1 rollup-plugin-visualizer: 5.8.3_rollup@2.79.1 + serve: 14.1.2 solid-js: 1.6.5 ts-node: 10.9.1_typescript@4.9.4 ts-standard: 12.0.1_typescript@4.9.4 @@ -242,6 +244,14 @@ importers: vite: 3.2.5 vite-plugin-solid: 2.5.0_solid-js@1.6.5+vite@3.2.5 + examples/test/playwright: + specifiers: + '@playwright/test': ^1.29.2 + serve: ^14.1.2 + devDependencies: + '@playwright/test': 1.29.2 + serve: 14.1.2 + examples/vanilla/file-upload: specifiers: '@w3ui/keyring-core': workspace:^ @@ -2224,6 +2234,15 @@ packages: fastq: 1.14.0 dev: true + /@playwright/test/1.29.2: + resolution: {integrity: sha512-+3/GPwOgcoF0xLz/opTnahel1/y42PdcgZ4hs+BZGIUjtmEFSXGg+nFoaH3NSmuc7a6GSFwXDJ5L7VXpqzigNg==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@types/node': 18.11.17 + playwright-core: 1.29.2 + dev: true + /@protobufjs/aspromise/1.1.2: resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} dev: false @@ -2853,6 +2872,10 @@ packages: p-retry: 5.1.2 dev: false + /@zeit/schemas/2.21.0: + resolution: {integrity: sha512-/J4WBTpWtQ4itN1rb3ao8LfClmVcmz2pO6oYb7Qd4h7VSqUhIbJIvrykz9Ew1WMg6eFWsKdsMHc5uPbFxqlCpg==} + dev: true + /@zxing/text-encoding/0.9.0: resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==} requiresBuild: true @@ -2863,6 +2886,14 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + /acorn-globals/7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: @@ -2917,6 +2948,15 @@ packages: uri-js: 4.4.1 dev: true + /ajv/8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + /ajv/8.11.2: resolution: {integrity: sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==} dependencies: @@ -2925,6 +2965,12 @@ packages: require-from-string: 2.0.2 uri-js: 4.4.1 + /ansi-align/3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: true + /ansi-escapes/6.0.0: resolution: {integrity: sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==} engines: {node: '>=14.16'} @@ -2963,10 +3009,18 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + /arch/2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: true + /arg/4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true + /arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true @@ -3143,6 +3197,20 @@ packages: inherits: 2.0.4 readable-stream: 3.6.0 + /boxen/7.0.0: + resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.2.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.0.1 + dev: true + /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -3195,6 +3263,11 @@ packages: semver: 7.3.8 dev: true + /bytes/3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: true + /cac/6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -3211,6 +3284,11 @@ packages: engines: {node: '>=6'} dev: true + /camelcase/7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: true + /caniuse-lite/1.0.30001439: resolution: {integrity: sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==} dev: true @@ -3231,6 +3309,13 @@ packages: pathval: 1.1.1 type-detect: 4.0.8 + /chalk-template/0.4.0: + resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} + engines: {node: '>=12'} + dependencies: + chalk: 4.1.2 + dev: true + /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -3248,6 +3333,11 @@ packages: supports-color: 7.2.0 dev: true + /chalk/5.0.1: + resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + /chalk/5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -3267,6 +3357,11 @@ packages: engines: {node: '>=8'} dev: true + /cli-boxes/3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: true + /cli-cursor/4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3281,6 +3376,15 @@ packages: resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==} engines: {node: '>= 12'} + /clipboardy/3.0.0: + resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + arch: 2.2.0 + execa: 5.1.1 + is-wsl: 2.2.0 + dev: true + /cliui/8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -3339,6 +3443,28 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true + /compressible/2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /compression/1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -3358,6 +3484,11 @@ packages: pkg-up: 3.1.0 semver: 7.3.8 + /content-disposition/0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + dev: true + /convert-source-map/1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true @@ -3471,6 +3602,11 @@ packages: dependencies: type-detect: 4.0.8 + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -4248,6 +4384,21 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: false + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + /expect/29.3.1: resolution: {integrity: sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4295,6 +4446,12 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true + /fast-url-parser/1.1.3: + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + dependencies: + punycode: 1.4.1 + dev: true + /fastq/1.14.0: resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} dependencies: @@ -4452,6 +4609,11 @@ packages: engines: {node: '>=10'} dev: true + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + /get-symbol-description/1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} @@ -4601,6 +4763,11 @@ packages: - supports-color dev: true + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -4649,6 +4816,10 @@ packages: /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + /inquirer/9.1.4: resolution: {integrity: sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==} engines: {node: '>=12.0.0'} @@ -4799,6 +4970,11 @@ packages: isobject: 3.0.1 dev: true + /is-port-reachable/4.0.0: + resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /is-potential-custom-element-name/1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true @@ -4823,6 +4999,11 @@ packages: call-bind: 1.0.2 dev: true + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + /is-string/1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -5214,11 +5395,23 @@ packages: picomatch: 2.3.1 dev: true + /mime-db/1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + dev: true + /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} dev: true + /mime-types/2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.33.0 + dev: true + /mime-types/2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -5287,10 +5480,22 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + /node-releases/2.0.7: resolution: {integrity: sha512-EJ3rzxL9pTWPjk5arA0s0dgXpnyiAbJDE6wHT62g7VsgrgQgmmZ+Ru++M1BFofncWja+Pnn3rEr3fieRySAdKQ==} dev: true + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + /nwsapi/2.2.2: resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} dev: true @@ -5363,6 +5568,11 @@ packages: es-abstract: 1.20.5 dev: true + /on-headers/1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: true + /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -5548,6 +5758,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /path-is-inside/1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + dev: true + /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -5556,6 +5770,10 @@ packages: /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + /path-to-regexp/2.2.1: + resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} + dev: true + /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -5631,6 +5849,12 @@ packages: dependencies: find-up: 3.0.0 + /playwright-core/1.29.2: + resolution: {integrity: sha512-94QXm4PMgFoHAhlCuoWyaBYKb92yOcGVHdQLoxQ7Wjlc7Flg4aC/jbFW7xMR52OfXMVkWicue4WXE7QEegbIRA==} + engines: {node: '>=14'} + hasBin: true + dev: true + /postcss/8.4.20: resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} engines: {node: ^10 || ^12 || >=14} @@ -5707,6 +5931,10 @@ packages: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true + /punycode/1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + dev: true + /punycode/2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} @@ -5729,6 +5957,21 @@ packages: safe-buffer: 5.2.1 dev: true + /range-parser/1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + dev: true + + /rc/1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.7 + strip-json-comments: 2.0.1 + dev: true + /react-dom/18.2.0_react@18.2.0: resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -5821,6 +6064,20 @@ packages: unicode-match-property-value-ecmascript: 2.1.0 dev: true + /registry-auth-token/3.3.2: + resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} + dependencies: + rc: 1.2.8 + safe-buffer: 5.2.1 + dev: true + + /registry-url/3.1.0: + resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} + engines: {node: '>=0.10.0'} + dependencies: + rc: 1.2.8 + dev: true + /regjsgen/0.7.1: resolution: {integrity: sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==} dev: true @@ -5959,6 +6216,10 @@ packages: dependencies: tslib: 2.4.1 + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -6009,6 +6270,39 @@ packages: randombytes: 2.1.0 dev: true + /serve-handler/6.1.5: + resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==} + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + fast-url-parser: 1.1.3 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 2.2.1 + range-parser: 1.2.0 + dev: true + + /serve/14.1.2: + resolution: {integrity: sha512-luwVfJwbeE7dhCKeRU0vIBpt4bXdbAfzwsWJIQ5eqrIW2e+4nLWXbSlZ0WzelSFHQq+FlueOW6dr90jEewS9zw==} + engines: {node: '>= 14'} + hasBin: true + dependencies: + '@zeit/schemas': 2.21.0 + ajv: 8.11.0 + arg: 5.0.2 + boxen: 7.0.0 + chalk: 5.0.1 + chalk-template: 0.4.0 + clipboardy: 3.0.0 + compression: 1.7.4 + is-port-reachable: 4.0.0 + serve-handler: 6.1.5 + update-check: 1.5.4 + transitivePeerDependencies: + - supports-color + dev: true + /shallow-clone/3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -6200,6 +6494,16 @@ packages: engines: {node: '>=4'} dev: true + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments/2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -6412,6 +6716,11 @@ packages: engines: {node: '>=6'} dev: true + /type-fest/2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + /type-fest/3.4.0: resolution: {integrity: sha512-PEPg6RHlB9cFwoTMNENNrQFL0cXX04voWr2UPwQBJ3pVs7Mt8Y1oLWdUeMdGEwZE8HFFlujq8gS9enmyiQ8pLg==} engines: {node: '>=14.16'} @@ -6498,6 +6807,13 @@ packages: picocolors: 1.0.0 dev: true + /update-check/1.5.4: + resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} + dependencies: + registry-auth-token: 3.3.2 + registry-url: 3.1.0 + dev: true + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -6546,6 +6862,11 @@ packages: /varint/6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + /vary/1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + /vite-node/0.27.1_@types+node@18.11.17: resolution: {integrity: sha512-d6+ue/3NzsfndWaPbYh/bFkHbmAWfDXI4B874zRx+WREnG6CUHUbBC8lKaRYZjeR6gCPN5m1aVNNRXBYICA9XA==} engines: {node: '>=v14.16.0'} @@ -6909,6 +7230,13 @@ packages: siginfo: 2.0.0 stackback: 0.0.2 + /widest-line/4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: true + /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} diff --git a/tsconfig.json b/tsconfig.json index 3dc2e68f..306535af 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ ] }, "files": [], + "exclude":["**/dist"], "references": [ { "path": "packages/react-keyring"