diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 087e999db..b018f7694 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -93,4 +93,75 @@ jobs: - run: pnpm install --frozen-lockfile - run: pnpm keychain exec playwright install - - run: pnpm test:storybook + + # Run tests and capture the output + - run: pnpm test:storybook:ci + id: test-storybook + + # Check for visual differences + - name: Check for visual differences + id: check-diffs + run: | + if [ -n "$(ls -A packages/ui-next/__image_snapshots__/__diff_output__ 2>/dev/null)" ] || \ + [ -n "$(ls -A packages/keychain/__image_snapshots__/__diff_output__ 2>/dev/null)" ]; then + echo "SNAPSHOT_FAILED=true" >> $GITHUB_ENV + fi + + # Upload image diffs as artifacts + - uses: actions/upload-artifact@v4 + if: env.SNAPSHOT_FAILED == 'true' && github.event_name == 'pull_request' + with: + name: image-snapshots + path: | + packages/ui-next/__image_snapshots__/__diff_output__ + packages/keychain/__image_snapshots__/__diff_output__ + + # Create PR comment with results + - uses: actions/github-script@v7 + if: github.event_name == 'pull_request' + with: + script: | + const fs = require('fs'); + + let comment = '### 🎨 Visual Regression Test Results\n\n'; + + if (process.env.SNAPSHOT_FAILED === 'true') { + comment += '❌ Visual differences detected\n\n'; + + // Find and process diff images + const uiNextDiffs = './packages/ui-next/__image_snapshots__/__diff_output__'; + const keychainDiffs = './packages/keychain/__image_snapshots__/__diff_output__'; + + async function processDiffs(directory, packageName) { + if (fs.existsSync(directory)) { + const files = fs.readdirSync(directory); + if (files.length > 0) { + comment += `#### ${packageName} Changes:\n\n`; + for (const file of files) { + if (file.endsWith('.png')) { + const base64Image = fs.readFileSync(`${directory}/${file}`, 'base64'); + const storyName = file.replace('-diff.png', ''); + comment += `
${storyName}\n\n`; + comment += `![${storyName}][data:image/png;base64,${base64Image}]\n\n`; + comment += '
\n\n'; + } + } + } + } + } + + await processDiffs(uiNextDiffs, '@cartridge/ui-next'); + await processDiffs(keychainDiffs, '@cartridge/keychain'); + + comment += '\n[View All Artifacts](' + + `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID})`; + } else { + comment += '✅ All visual tests passed!\n'; + } + + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: comment + }); diff --git a/package.json b/package.json index 26458d2a6..da4e19322 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,8 @@ "example:svelte": "pnpm --filter @cartridge/controller-example-svelte", "test": "pnpm keychain test", "test:ci": "pnpm keychain test:ci", - "test:storybook": "pnpm turbo build:deps test:storybook" + "test:storybook": "pnpm turbo build:deps test:storybook", + "test:storybook:update": "pnpm turbo build:deps test:storybook:update" }, "dependencies": { "@cartridge/presets": "github:cartridge-gg/presets#b0def0f" @@ -42,4 +43,4 @@ "vercel": "^37.4.2", "@types/react": "^18.3.12" } -} +} \ No newline at end of file diff --git a/packages/keychain/.storybook/test-runner.ts b/packages/keychain/.storybook/test-runner.ts new file mode 100644 index 000000000..f9a2bb49f --- /dev/null +++ b/packages/keychain/.storybook/test-runner.ts @@ -0,0 +1,33 @@ +import { TestRunnerConfig, waitForPageReady } from "@storybook/test-runner"; +import { toMatchImageSnapshot } from "jest-image-snapshot"; +import path from "path"; + +const customSnapshotsDir = path.join(process.cwd(), "__image_snapshots__"); + +const config: TestRunnerConfig = { + setup() { + expect.extend({ toMatchImageSnapshot }); + }, + async postVisit(page, context) { + // Wait for the page to be ready before taking a screenshot + await waitForPageReady(page); + + // Wait an extra second for transitions to complete + await page.waitForTimeout(1000); + + // Get browser name to handle different browsers if needed + const browserName = + page.context().browser()?.browserType().name() ?? "unknown"; + + const image = await page.screenshot(); + expect(image).toMatchImageSnapshot({ + customSnapshotsDir, + customSnapshotIdentifier: `${context.id}-${browserName}`, + // Add some threshold to handle minor rendering differences + failureThreshold: 0.01, + failureThresholdType: "percent", + }); + }, +}; + +export default config; diff --git a/packages/keychain/__image_snapshots__/.gitignore b/packages/keychain/__image_snapshots__/.gitignore new file mode 100644 index 000000000..bf8efdbf8 --- /dev/null +++ b/packages/keychain/__image_snapshots__/.gitignore @@ -0,0 +1 @@ +__diff_output__ \ No newline at end of file diff --git a/packages/keychain/__image_snapshots__/components-confirmtransaction--default-chromium.png b/packages/keychain/__image_snapshots__/components-confirmtransaction--default-chromium.png new file mode 100644 index 000000000..a05461310 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-confirmtransaction--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-authenticate--default-chromium.png b/packages/keychain/__image_snapshots__/components-connect-authenticate--default-chromium.png new file mode 100644 index 000000000..f6e07c05f Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-authenticate--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--default-chromium.png b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--default-chromium.png new file mode 100644 index 000000000..b0b244783 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-generic-error-chromium.png b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-generic-error-chromium.png new file mode 100644 index 000000000..31288fa67 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-generic-error-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-light-mode-chromium.png b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-light-mode-chromium.png new file mode 100644 index 000000000..b0b244783 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-light-mode-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-theme-chromium.png b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-theme-chromium.png new file mode 100644 index 000000000..f4050b37e Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-theme-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-timeout-error-chromium.png b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-timeout-error-chromium.png new file mode 100644 index 000000000..08afbe07a Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-timeout-error-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-validation-error-chromium.png b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-validation-error-chromium.png new file mode 100644 index 000000000..15d8b97e8 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-create-createcontroller--with-validation-error-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-createsession--default-chromium.png b/packages/keychain/__image_snapshots__/components-connect-createsession--default-chromium.png new file mode 100644 index 000000000..cdb57474c Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-createsession--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-createsession--with-preset-chromium.png b/packages/keychain/__image_snapshots__/components-connect-createsession--with-preset-chromium.png new file mode 100644 index 000000000..3e6f5b613 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-createsession--with-preset-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-connect-upgrade--default-chromium.png b/packages/keychain/__image_snapshots__/components-connect-upgrade--default-chromium.png new file mode 100644 index 000000000..894e2907f Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-connect-upgrade--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-controllererroralert--all-chromium.png b/packages/keychain/__image_snapshots__/components-controllererroralert--all-chromium.png new file mode 100644 index 000000000..9df6c14c8 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-controllererroralert--all-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-deploycontroller--default-chromium.png b/packages/keychain/__image_snapshots__/components-deploycontroller--default-chromium.png new file mode 100644 index 000000000..23868ff4e Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-deploycontroller--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-erroralert--default-chromium.png b/packages/keychain/__image_snapshots__/components-erroralert--default-chromium.png new file mode 100644 index 000000000..c21c12dd3 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-erroralert--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-erroralert--error-chromium.png b/packages/keychain/__image_snapshots__/components-erroralert--error-chromium.png new file mode 100644 index 000000000..52e9c5f2c Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-erroralert--error-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-erroralert--info-chromium.png b/packages/keychain/__image_snapshots__/components-erroralert--info-chromium.png new file mode 100644 index 000000000..78b178b98 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-erroralert--info-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-erroralert--long-title-chromium.png b/packages/keychain/__image_snapshots__/components-erroralert--long-title-chromium.png new file mode 100644 index 000000000..72d0f8f4d Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-erroralert--long-title-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-erroralert--warning-chromium.png b/packages/keychain/__image_snapshots__/components-erroralert--warning-chromium.png new file mode 100644 index 000000000..38dac8931 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-erroralert--warning-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-errorpage--default-chromium.png b/packages/keychain/__image_snapshots__/components-errorpage--default-chromium.png new file mode 100644 index 000000000..950df2e14 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-errorpage--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-errorpage--long-error-chromium.png b/packages/keychain/__image_snapshots__/components-errorpage--long-error-chromium.png new file mode 100644 index 000000000..8776fa704 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-errorpage--long-error-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-failure--default-chromium.png b/packages/keychain/__image_snapshots__/components-failure--default-chromium.png new file mode 100644 index 000000000..ca10a061b Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-failure--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-funding--default-chromium.png b/packages/keychain/__image_snapshots__/components-funding--default-chromium.png new file mode 100644 index 000000000..e63293c50 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-funding--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-layout-container-header-banner--compressed-chromium.png b/packages/keychain/__image_snapshots__/components-layout-container-header-banner--compressed-chromium.png new file mode 100644 index 000000000..b8208c792 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-layout-container-header-banner--compressed-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-layout-container-header-banner--expanded-chromium.png b/packages/keychain/__image_snapshots__/components-layout-container-header-banner--expanded-chromium.png new file mode 100644 index 000000000..2911ec7b0 Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-layout-container-header-banner--expanded-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-pending--default-chromium.png b/packages/keychain/__image_snapshots__/components-pending--default-chromium.png new file mode 100644 index 000000000..aa5e7c79c Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-pending--default-chromium.png differ diff --git a/packages/keychain/__image_snapshots__/components-settings--default-chromium.png b/packages/keychain/__image_snapshots__/components-settings--default-chromium.png new file mode 100644 index 000000000..0de387fcb Binary files /dev/null and b/packages/keychain/__image_snapshots__/components-settings--default-chromium.png differ diff --git a/packages/keychain/package.json b/packages/keychain/package.json index 2e43af99f..86a9f6281 100644 --- a/packages/keychain/package.json +++ b/packages/keychain/package.json @@ -15,7 +15,9 @@ "test:ci": "vitest run", "storybook": "storybook dev -p 6001", "storybook:build": "storybook build", - "test:storybook": "pnpm concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"pnpm storybook:build --quiet && pnpm http-server storybook-static --port 6006 --silent\" \"pnpm wait-on tcp:6006 && pnpm test-storybook\"" + "storybook:serve": "pnpm storybook:build --quiet && pnpm http-server -c-1 storybook-static --port 6006 --silent", + "test:storybook:update": "start-server-and-test 'pnpm storybook:serve' 6006 'pnpm test-storybook -u'", + "test:storybook": "start-server-and-test 'pnpm storybook:serve' 6006 'pnpm test-storybook'" }, "dependencies": { "@cartridge/account-wasm": "workspace:*", @@ -66,21 +68,23 @@ "@storybook/test": "^8.4.7", "@storybook/test-runner": "^0.21.0", "@testing-library/react": "^13.4.0", + "@types/jest-image-snapshot": "^6.4.0", "@types/js-cookie": "^3.0.2", "@types/node": "^20.6.0", "@types/react-dom": "^18.3.1", "@vitejs/plugin-react-swc": "^3.5.0", "@vitest/coverage-v8": "2.1.8", "autoprefixer": "^10.4.18", - "concurrently": "^9.0.1", "eslint": "^9.12.0", "eslint-plugin-storybook": "^0.6.13", "http-server": "^14.1.1", + "jest-image-snapshot": "^6.4.0", "jsdom": "^25.0.1", "playwright": "^1.47.1", "postcss": "^8.4.35", "prettier": "^2.7.1", "rollup-plugin-visualizer": "^5.12.0", + "start-server-and-test": "^2.0.9", "storybook": "^8.4.7", "tailwindcss": "^3.4.3", "typescript": "^5.4.5", @@ -88,8 +92,7 @@ "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-top-level-await": "^1.4.4", "vite-plugin-wasm": "^3.3.0", - "vitest": "^2.1.8", - "wait-on": "^8.0.1" + "vitest": "^2.1.8" }, "peerDependencies": { "@chakra-ui/react": "^2.8.1", diff --git a/packages/ui-next/.storybook/test-runner.ts b/packages/ui-next/.storybook/test-runner.ts new file mode 100644 index 000000000..a7ac0bb3b --- /dev/null +++ b/packages/ui-next/.storybook/test-runner.ts @@ -0,0 +1,30 @@ +import { TestRunnerConfig, waitForPageReady } from "@storybook/test-runner"; +import { toMatchImageSnapshot } from "jest-image-snapshot"; +import path from "path"; + +const customSnapshotsDir = path.join(process.cwd(), "__image_snapshots__"); + +const config: TestRunnerConfig = { + setup() { + expect.extend({ toMatchImageSnapshot }); + }, + async postVisit(page, context) { + // Wait for the page to be ready before taking a screenshot + await waitForPageReady(page); + + // Get browser name to handle different browsers if needed + const browserName = + page.context().browser()?.browserType().name() ?? "unknown"; + + const image = await page.screenshot(); + expect(image).toMatchImageSnapshot({ + customSnapshotsDir, + customSnapshotIdentifier: `${context.id}-${browserName}`, + // Add some threshold to handle minor rendering differences + failureThreshold: 0.01, + failureThresholdType: "percent", + }); + }, +}; + +export default config; diff --git a/packages/ui-next/__image_snapshots__/.gitignore b/packages/ui-next/__image_snapshots__/.gitignore new file mode 100644 index 000000000..bf8efdbf8 --- /dev/null +++ b/packages/ui-next/__image_snapshots__/.gitignore @@ -0,0 +1 @@ +__diff_output__ \ No newline at end of file diff --git a/packages/ui-next/__image_snapshots__/accordion--default-chromium.png b/packages/ui-next/__image_snapshots__/accordion--default-chromium.png new file mode 100644 index 000000000..6c9b4cc4f Binary files /dev/null and b/packages/ui-next/__image_snapshots__/accordion--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/alert--alert-destructive-chromium.png b/packages/ui-next/__image_snapshots__/alert--alert-destructive-chromium.png new file mode 100644 index 000000000..98b382357 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/alert--alert-destructive-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/alert--default-chromium.png b/packages/ui-next/__image_snapshots__/alert--default-chromium.png new file mode 100644 index 000000000..214ec6dd5 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/alert--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/badge--default-chromium.png b/packages/ui-next/__image_snapshots__/badge--default-chromium.png new file mode 100644 index 000000000..2e91193a6 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/badge--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/badge--muted-chromium.png b/packages/ui-next/__image_snapshots__/badge--muted-chromium.png new file mode 100644 index 000000000..333c9e20b Binary files /dev/null and b/packages/ui-next/__image_snapshots__/badge--muted-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/badge--primary-chromium.png b/packages/ui-next/__image_snapshots__/badge--primary-chromium.png new file mode 100644 index 000000000..caa6cd69a Binary files /dev/null and b/packages/ui-next/__image_snapshots__/badge--primary-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/badge--tab-chromium.png b/packages/ui-next/__image_snapshots__/badge--tab-chromium.png new file mode 100644 index 000000000..d46699e38 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/badge--tab-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/breadcrumb--custom-separator-chromium.png b/packages/ui-next/__image_snapshots__/breadcrumb--custom-separator-chromium.png new file mode 100644 index 000000000..3b4d3d262 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/breadcrumb--custom-separator-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/breadcrumb--default-chromium.png b/packages/ui-next/__image_snapshots__/breadcrumb--default-chromium.png new file mode 100644 index 000000000..91c3f7b7d Binary files /dev/null and b/packages/ui-next/__image_snapshots__/breadcrumb--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--default-chromium.png b/packages/ui-next/__image_snapshots__/button--default-chromium.png new file mode 100644 index 000000000..c4feb5766 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--disabled-chromium.png b/packages/ui-next/__image_snapshots__/button--disabled-chromium.png new file mode 100644 index 000000000..4f409c94e Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--disabled-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--ghost-chromium.png b/packages/ui-next/__image_snapshots__/button--ghost-chromium.png new file mode 100644 index 000000000..ced2747c7 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--ghost-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--icon-chromium.png b/packages/ui-next/__image_snapshots__/button--icon-chromium.png new file mode 100644 index 000000000..a4adf464f Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--icon-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--loading-chromium.png b/packages/ui-next/__image_snapshots__/button--loading-chromium.png new file mode 100644 index 000000000..62c573f90 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--loading-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--medium-chromium.png b/packages/ui-next/__image_snapshots__/button--medium-chromium.png new file mode 100644 index 000000000..c4feb5766 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--medium-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--outline-chromium.png b/packages/ui-next/__image_snapshots__/button--outline-chromium.png new file mode 100644 index 000000000..6b0223d0e Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--outline-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--secondary-chromium.png b/packages/ui-next/__image_snapshots__/button--secondary-chromium.png new file mode 100644 index 000000000..61b17d7f8 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--secondary-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/button--with-icon-chromium.png b/packages/ui-next/__image_snapshots__/button--with-icon-chromium.png new file mode 100644 index 000000000..1e89de1e7 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/button--with-icon-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/card--card-list-chromium.png b/packages/ui-next/__image_snapshots__/card--card-list-chromium.png new file mode 100644 index 000000000..21513d5ef Binary files /dev/null and b/packages/ui-next/__image_snapshots__/card--card-list-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/card--default-chromium.png b/packages/ui-next/__image_snapshots__/card--default-chromium.png new file mode 100644 index 000000000..69f019976 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/card--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/card--icon-header-chromium.png b/packages/ui-next/__image_snapshots__/card--icon-header-chromium.png new file mode 100644 index 000000000..18c71dce1 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/card--icon-header-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/card--only-title-chromium.png b/packages/ui-next/__image_snapshots__/card--only-title-chromium.png new file mode 100644 index 000000000..3d982382d Binary files /dev/null and b/packages/ui-next/__image_snapshots__/card--only-title-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/checkbox--default-chromium.png b/packages/ui-next/__image_snapshots__/checkbox--default-chromium.png new file mode 100644 index 000000000..7b070041a Binary files /dev/null and b/packages/ui-next/__image_snapshots__/checkbox--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--accent-chromium.png b/packages/ui-next/__image_snapshots__/colors--accent-chromium.png new file mode 100644 index 000000000..5e6630076 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--accent-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--card-chromium.png b/packages/ui-next/__image_snapshots__/colors--card-chromium.png new file mode 100644 index 000000000..0c2fc99f6 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--card-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--default-chromium.png b/packages/ui-next/__image_snapshots__/colors--default-chromium.png new file mode 100644 index 000000000..16749379e Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--destructive-chromium.png b/packages/ui-next/__image_snapshots__/colors--destructive-chromium.png new file mode 100644 index 000000000..31f3f809f Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--destructive-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--muted-chromium.png b/packages/ui-next/__image_snapshots__/colors--muted-chromium.png new file mode 100644 index 000000000..4620c0043 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--muted-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--others-chromium.png b/packages/ui-next/__image_snapshots__/colors--others-chromium.png new file mode 100644 index 000000000..6a12bdbd8 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--others-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--popover-chromium.png b/packages/ui-next/__image_snapshots__/colors--popover-chromium.png new file mode 100644 index 000000000..646677766 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--popover-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--primary-chromium.png b/packages/ui-next/__image_snapshots__/colors--primary-chromium.png new file mode 100644 index 000000000..f94b433d3 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--primary-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--secondary-chromium.png b/packages/ui-next/__image_snapshots__/colors--secondary-chromium.png new file mode 100644 index 000000000..36cfc1def Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--secondary-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/colors--tertiary-chromium.png b/packages/ui-next/__image_snapshots__/colors--tertiary-chromium.png new file mode 100644 index 000000000..c40ee58c8 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/colors--tertiary-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/command--default-chromium.png b/packages/ui-next/__image_snapshots__/command--default-chromium.png new file mode 100644 index 000000000..d8b895031 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/command--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/components-primitives-form--default-chromium.png b/packages/ui-next/__image_snapshots__/components-primitives-form--default-chromium.png new file mode 100644 index 000000000..16322dcff Binary files /dev/null and b/packages/ui-next/__image_snapshots__/components-primitives-form--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/copyaddress--default-chromium.png b/packages/ui-next/__image_snapshots__/copyaddress--default-chromium.png new file mode 100644 index 000000000..8e40dad47 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/copyaddress--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/copyaddress--explicit-length-chromium.png b/packages/ui-next/__image_snapshots__/copyaddress--explicit-length-chromium.png new file mode 100644 index 000000000..150358f2c Binary files /dev/null and b/packages/ui-next/__image_snapshots__/copyaddress--explicit-length-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/copyaddress--large-chromium.png b/packages/ui-next/__image_snapshots__/copyaddress--large-chromium.png new file mode 100644 index 000000000..67d190cf2 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/copyaddress--large-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/copyaddress--small-chromium.png b/packages/ui-next/__image_snapshots__/copyaddress--small-chromium.png new file mode 100644 index 000000000..5165bc753 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/copyaddress--small-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/dialog--alert-dialog-chromium.png b/packages/ui-next/__image_snapshots__/dialog--alert-dialog-chromium.png new file mode 100644 index 000000000..477fa6382 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/dialog--alert-dialog-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/dialog--default-chromium.png b/packages/ui-next/__image_snapshots__/dialog--default-chromium.png new file mode 100644 index 000000000..477fa6382 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/dialog--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/drawer--default-chromium.png b/packages/ui-next/__image_snapshots__/drawer--default-chromium.png new file mode 100644 index 000000000..477fa6382 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/drawer--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/dropdown-menu--default-chromium.png b/packages/ui-next/__image_snapshots__/dropdown-menu--default-chromium.png new file mode 100644 index 000000000..477fa6382 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/dropdown-menu--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/hover-card--default-chromium.png b/packages/ui-next/__image_snapshots__/hover-card--default-chromium.png new file mode 100644 index 000000000..08718255b Binary files /dev/null and b/packages/ui-next/__image_snapshots__/hover-card--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/icons--brand-chromium.png b/packages/ui-next/__image_snapshots__/icons--brand-chromium.png new file mode 100644 index 000000000..e9562e578 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/icons--brand-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/icons--brand-color-chromium.png b/packages/ui-next/__image_snapshots__/icons--brand-color-chromium.png new file mode 100644 index 000000000..7a3c90bd7 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/icons--brand-color-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/icons--directional-chromium.png b/packages/ui-next/__image_snapshots__/icons--directional-chromium.png new file mode 100644 index 000000000..2eaaa37c5 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/icons--directional-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/icons--duotone-chromium.png b/packages/ui-next/__image_snapshots__/icons--duotone-chromium.png new file mode 100644 index 000000000..992562dfc Binary files /dev/null and b/packages/ui-next/__image_snapshots__/icons--duotone-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/icons--state-chromium.png b/packages/ui-next/__image_snapshots__/icons--state-chromium.png new file mode 100644 index 000000000..7073f333e Binary files /dev/null and b/packages/ui-next/__image_snapshots__/icons--state-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/icons--utility-chromium.png b/packages/ui-next/__image_snapshots__/icons--utility-chromium.png new file mode 100644 index 000000000..78be9efb5 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/icons--utility-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/input--clear-chromium.png b/packages/ui-next/__image_snapshots__/input--clear-chromium.png new file mode 100644 index 000000000..42a56add8 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/input--clear-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/input--default-chromium.png b/packages/ui-next/__image_snapshots__/input--default-chromium.png new file mode 100644 index 000000000..c04cb3797 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/input--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/input--loading-chromium.png b/packages/ui-next/__image_snapshots__/input--loading-chromium.png new file mode 100644 index 000000000..9ecdfe853 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/input--loading-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/label--default-chromium.png b/packages/ui-next/__image_snapshots__/label--default-chromium.png new file mode 100644 index 000000000..bc6030b68 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/label--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/menubar--default-chromium.png b/packages/ui-next/__image_snapshots__/menubar--default-chromium.png new file mode 100644 index 000000000..6beab2932 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/menubar--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/network--mainnet-chromium.png b/packages/ui-next/__image_snapshots__/network--mainnet-chromium.png new file mode 100644 index 000000000..ddf0dda6d Binary files /dev/null and b/packages/ui-next/__image_snapshots__/network--mainnet-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/network--sepolia-chromium.png b/packages/ui-next/__image_snapshots__/network--sepolia-chromium.png new file mode 100644 index 000000000..be189cd02 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/network--sepolia-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/network--slot-chromium.png b/packages/ui-next/__image_snapshots__/network--slot-chromium.png new file mode 100644 index 000000000..2c6f50dba Binary files /dev/null and b/packages/ui-next/__image_snapshots__/network--slot-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/network--unknown-chromium.png b/packages/ui-next/__image_snapshots__/network--unknown-chromium.png new file mode 100644 index 000000000..23468722b Binary files /dev/null and b/packages/ui-next/__image_snapshots__/network--unknown-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/popover--default-chromium.png b/packages/ui-next/__image_snapshots__/popover--default-chromium.png new file mode 100644 index 000000000..477fa6382 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/popover--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/progress--default-chromium.png b/packages/ui-next/__image_snapshots__/progress--default-chromium.png new file mode 100644 index 000000000..4910df58b Binary files /dev/null and b/packages/ui-next/__image_snapshots__/progress--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/radio-group--default-chromium.png b/packages/ui-next/__image_snapshots__/radio-group--default-chromium.png new file mode 100644 index 000000000..30ebb68ad Binary files /dev/null and b/packages/ui-next/__image_snapshots__/radio-group--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/scroll-area--default-chromium.png b/packages/ui-next/__image_snapshots__/scroll-area--default-chromium.png new file mode 100644 index 000000000..597b33e2d Binary files /dev/null and b/packages/ui-next/__image_snapshots__/scroll-area--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/select--default-chromium.png b/packages/ui-next/__image_snapshots__/select--default-chromium.png new file mode 100644 index 000000000..a4d6700a2 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/select--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/separator--default-chromium.png b/packages/ui-next/__image_snapshots__/separator--default-chromium.png new file mode 100644 index 000000000..b8b368820 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/separator--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/sheet--default-chromium.png b/packages/ui-next/__image_snapshots__/sheet--default-chromium.png new file mode 100644 index 000000000..477fa6382 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/sheet--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/skeleton--default-chromium.png b/packages/ui-next/__image_snapshots__/skeleton--default-chromium.png new file mode 100644 index 000000000..5f9af031f Binary files /dev/null and b/packages/ui-next/__image_snapshots__/skeleton--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/sonner--default-chromium.png b/packages/ui-next/__image_snapshots__/sonner--default-chromium.png new file mode 100644 index 000000000..b726e43d3 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/sonner--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/switch--default-chromium.png b/packages/ui-next/__image_snapshots__/switch--default-chromium.png new file mode 100644 index 000000000..4833ee4d8 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/switch--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/table--default-chromium.png b/packages/ui-next/__image_snapshots__/table--default-chromium.png new file mode 100644 index 000000000..4010b61e4 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/table--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/tabs--default-chromium.png b/packages/ui-next/__image_snapshots__/tabs--default-chromium.png new file mode 100644 index 000000000..62c46bc44 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/tabs--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/textarea--default-chromium.png b/packages/ui-next/__image_snapshots__/textarea--default-chromium.png new file mode 100644 index 000000000..0187e151f Binary files /dev/null and b/packages/ui-next/__image_snapshots__/textarea--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/toast--default-chromium.png b/packages/ui-next/__image_snapshots__/toast--default-chromium.png new file mode 100644 index 000000000..7ebf61a96 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/toast--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/toggle--default-chromium.png b/packages/ui-next/__image_snapshots__/toggle--default-chromium.png new file mode 100644 index 000000000..534c722a3 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/toggle--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/toggle-group--default-chromium.png b/packages/ui-next/__image_snapshots__/toggle-group--default-chromium.png new file mode 100644 index 000000000..e5e811723 Binary files /dev/null and b/packages/ui-next/__image_snapshots__/toggle-group--default-chromium.png differ diff --git a/packages/ui-next/__image_snapshots__/tooltip--default-chromium.png b/packages/ui-next/__image_snapshots__/tooltip--default-chromium.png new file mode 100644 index 000000000..08718255b Binary files /dev/null and b/packages/ui-next/__image_snapshots__/tooltip--default-chromium.png differ diff --git a/packages/ui-next/package.json b/packages/ui-next/package.json index b41b37b15..9c6062cab 100644 --- a/packages/ui-next/package.json +++ b/packages/ui-next/package.json @@ -28,7 +28,10 @@ "format:check": "prettier --check ./src", "lint": "eslint .", "storybook": "storybook dev -p 6003", - "storybook:build": "storybook build" + "storybook:build": "storybook build", + "storybook:serve": "pnpm storybook:build --quiet && pnpm http-server -c-1 storybook-static --port 6007 --silent", + "test:storybook:update": "start-server-and-test 'pnpm storybook:serve' 6007 'pnpm test-storybook --url http://127.0.0.1:6007 -u'", + "test:storybook": "start-server-and-test 'pnpm storybook:serve' 6007 'pnpm test-storybook --url http://127.0.0.1:6007'" }, "dependencies": { "@cartridge/utils": "workspace:*", @@ -82,7 +85,9 @@ "@storybook/react": "^8.4.7", "@storybook/react-vite": "^8.4.7", "@storybook/test": "^8.4.7", + "@storybook/test-runner": "^0.21.0", "@storybook/theming": "^8.4.7", + "@types/jest-image-snapshot": "^6.4.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@typescript-eslint/eslint-plugin": "^7.0.2", @@ -92,7 +97,11 @@ "eslint": "^9.9.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-storybook": "^0.6.13", + "http-server": "^14.1.1", + "jest-image-snapshot": "^6.4.0", + "playwright": "^1.47.1", "postcss": "^8.4.35", + "start-server-and-test": "^2.0.9", "storybook": "^8.4.7", "tailwindcss": "^3.4.3", "tsc-alias": "^1.8.10", @@ -100,4 +109,4 @@ "typescript-transform-paths": "^3.4.7", "vite": "^5.1.4" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7fc0258ec..75e59f7f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -420,6 +420,9 @@ importers: '@testing-library/react': specifier: ^13.4.0 version: 13.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/jest-image-snapshot': + specifier: ^6.4.0 + version: 6.4.0 '@types/js-cookie': specifier: ^3.0.2 version: 3.0.6 @@ -438,9 +441,6 @@ importers: autoprefixer: specifier: ^10.4.18 version: 10.4.20(postcss@8.4.47) - concurrently: - specifier: ^9.0.1 - version: 9.0.1 eslint: specifier: ^9.12.0 version: 9.12.0(jiti@2.3.3) @@ -450,6 +450,9 @@ importers: http-server: specifier: ^14.1.1 version: 14.1.1 + jest-image-snapshot: + specifier: ^6.4.0 + version: 6.4.0(jest@29.7.0(@types/node@20.16.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@20.16.11)(typescript@5.5.4))) jsdom: specifier: ^25.0.1 version: 25.0.1 @@ -465,6 +468,9 @@ importers: rollup-plugin-visualizer: specifier: ^5.12.0 version: 5.12.0(rollup@4.24.0) + start-server-and-test: + specifier: ^2.0.9 + version: 2.0.9 storybook: specifier: ^8.4.7 version: 8.4.7(prettier@2.8.8) @@ -489,9 +495,6 @@ importers: vitest: specifier: ^2.1.8 version: 2.1.8(@edge-runtime/vm@3.2.0)(@types/node@20.16.11)(jsdom@25.0.1)(terser@5.34.1) - wait-on: - specifier: ^8.0.1 - version: 8.0.1 packages/profile: dependencies: @@ -830,9 +833,15 @@ importers: '@storybook/test': specifier: ^8.4.7 version: 8.4.7(storybook@8.4.7(prettier@3.3.3)) + '@storybook/test-runner': + specifier: ^0.21.0 + version: 0.21.0(@swc/helpers@0.5.5)(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(storybook@8.4.7(prettier@3.3.3))(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) '@storybook/theming': specifier: ^8.4.7 version: 8.4.7(storybook@8.4.7(prettier@3.3.3)) + '@types/jest-image-snapshot': + specifier: ^6.4.0 + version: 6.4.0 '@types/react': specifier: ^18.3.12 version: 18.3.12 @@ -860,9 +869,21 @@ importers: eslint-plugin-storybook: specifier: ^0.6.13 version: 0.6.15(eslint@9.12.0(jiti@2.3.3))(typescript@5.5.4) + http-server: + specifier: ^14.1.1 + version: 14.1.1 + jest-image-snapshot: + specifier: ^6.4.0 + version: 6.4.0(jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))) + playwright: + specifier: ^1.47.1 + version: 1.48.0 postcss: specifier: ^8.4.35 version: 8.4.47 + start-server-and-test: + specifier: ^2.0.9 + version: 2.0.9 storybook: specifier: ^8.4.7 version: 8.4.7(prettier@3.3.3) @@ -5020,6 +5041,12 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/jest-image-snapshot@6.4.0': + resolution: {integrity: sha512-8TQ/EgqFCX0UWSpH488zAc21fCkJNpZPnnp3xWFMqElxApoJV5QOoqajnVRV7AhfF0rbQWTVyc04KG7tXnzCPA==} + + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} + '@types/js-cookie@3.0.6': resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} @@ -5083,6 +5110,9 @@ packages: '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/pixelmatch@5.2.6': + resolution: {integrity: sha512-wC83uexE5KGuUODn6zkm9gMzTwdY5L0chiK+VrKcDfEjzxh1uadlWTvOmAbCpnM9zx/Ww3f8uKlYQVnO/TrqVg==} + '@types/pretty-hrtime@1.0.3': resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} @@ -6080,6 +6110,9 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + bn.js@4.12.1: resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} @@ -6290,6 +6323,10 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + chokidar@3.3.1: resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} engines: {node: '>= 8.10.0'} @@ -6491,11 +6528,6 @@ packages: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} engines: {'0': node >= 0.8} - concurrently@9.0.1: - resolution: {integrity: sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg==} - engines: {node: '>=18'} - hasBin: true - confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -6719,6 +6751,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -6933,6 +6974,9 @@ packages: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} @@ -7475,6 +7519,9 @@ packages: ethereum-cryptography@2.2.1: resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -7751,6 +7798,9 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + fromentries@1.3.2: resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} @@ -7866,6 +7916,10 @@ packages: get-starknet-core@4.0.0: resolution: {integrity: sha512-6pLmidQZkC3wZsrHY99grQHoGpuuXqkbSP65F8ov1/JsEI8DDLkhsAuLCKFzNOK56cJp+f1bWWfTJ57e9r5eqQ==} + get-stdin@5.0.1: + resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==} + engines: {node: '>=0.12.0'} + get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -7963,6 +8017,9 @@ packages: globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + glur@1.1.2: + resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} + gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -8635,6 +8692,15 @@ packages: resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-image-snapshot@6.4.0: + resolution: {integrity: sha512-IWGtSOnelwaVPd09STbJuLmnAwlBC/roJtTLGLb8M3TA0vfku3MRNEXmljTa1EMXqdRbA0oIWiqHFB1ttTGazQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + jest: '>=20 <=29' + peerDependenciesMeta: + jest: + optional: true + jest-junit@16.0.0: resolution: {integrity: sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==} engines: {node: '>=10.12.0'} @@ -8897,6 +8963,10 @@ packages: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} + lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + lazy-universal-dotenv@4.0.0: resolution: {integrity: sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==} engines: {node: '>=14.0.0'} @@ -9069,6 +9139,9 @@ packages: map-or-similar@1.5.0: resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} + map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + markdown-to-jsx@7.5.0: resolution: {integrity: sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==} engines: {node: '>= 10'} @@ -9720,6 +9793,9 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + pbkdf2@3.1.2: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} @@ -9780,6 +9856,10 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} + pixelmatch@5.3.0: + resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} + hasBin: true + pkg-dir@3.0.0: resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} engines: {node: '>=6'} @@ -9809,10 +9889,18 @@ packages: resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} engines: {node: '>=12'} + pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + pngjs@5.0.0: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} engines: {node: '>=10.13.0'} + pngjs@6.0.0: + resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} + engines: {node: '>=12.13.0'} + polished@4.3.1: resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} engines: {node: '>=10'} @@ -10012,6 +10100,11 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} @@ -10715,12 +10808,18 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} + split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + sponge-case@1.0.1: resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + ssim.js@3.5.0: + resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -10731,6 +10830,11 @@ packages: starknet@6.11.0: resolution: {integrity: sha512-u50KrGDi9fbu1Ogu7ynwF/tSeFlp3mzOg1/Y5x50tYFICImo3OfY4lOz9OtYDk404HK4eUujKkhov9tG7GAKlg==} + start-server-and-test@2.0.9: + resolution: {integrity: sha512-DDceIvc4wdpr+z3Aqkot2QMho8TcUBh5qH0wEHDpEexBTzlheOcmh53d3dExABY4J5C7qS2UbSXqRWLtxpbWIQ==} + engines: {node: '>=16'} + hasBin: true + stat-mode@0.3.0: resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} @@ -10779,6 +10883,9 @@ packages: stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + stream-http@3.2.0: resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} @@ -12354,7 +12461,7 @@ snapshots: '@babel/core': 7.25.8 '@babel/helper-compilation-targets': 7.25.7 '@babel/helper-plugin-utils': 7.25.7 - debug: 4.3.7 + debug: 4.4.0 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -14417,6 +14524,41 @@ snapshots: - supports-color - ts-node + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.16.11 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.16.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + '@jest/create-cache-key-function@29.7.0': dependencies: '@jest/types': 29.6.3 @@ -14677,7 +14819,7 @@ snapshots: dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 - debug: 4.3.7 + debug: 4.4.0 semver: 7.6.3 superstruct: 1.0.4 transitivePeerDependencies: @@ -14690,7 +14832,7 @@ snapshots: '@noble/hashes': 1.5.0 '@scure/base': 1.1.9 '@types/debug': 4.1.12 - debug: 4.3.7 + debug: 4.4.0 pony-cause: 2.1.11 semver: 7.6.3 uuid: 9.0.1 @@ -14704,7 +14846,7 @@ snapshots: '@noble/hashes': 1.5.0 '@scure/base': 1.1.9 '@types/debug': 4.1.12 - debug: 4.3.7 + debug: 4.4.0 pony-cause: 2.1.11 semver: 7.6.3 uuid: 9.0.1 @@ -17378,6 +17520,37 @@ snapshots: - supports-color - ts-node + '@storybook/test-runner@0.21.0(@swc/helpers@0.5.5)(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(storybook@8.4.7(prettier@3.3.3))(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))': + dependencies: + '@babel/core': 7.25.8 + '@babel/generator': 7.25.7 + '@babel/template': 7.25.7 + '@babel/types': 7.25.8 + '@jest/types': 29.6.3 + '@storybook/csf': 0.1.11 + '@swc/core': 1.7.35(@swc/helpers@0.5.5) + '@swc/jest': 0.2.36(@swc/core@1.7.35(@swc/helpers@0.5.5)) + expect-playwright: 0.8.0 + jest: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-junit: 16.0.0 + jest-playwright-preset: 4.0.0(jest-circus@29.7.0(babel-plugin-macros@3.1.0))(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))) + jest-runner: 29.7.0 + jest-serializer-html: 7.1.0 + jest-watch-typeahead: 2.2.2(jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))) + nyc: 15.1.0 + playwright: 1.48.0 + storybook: 8.4.7(prettier@3.3.3) + transitivePeerDependencies: + - '@swc/helpers' + - '@types/node' + - babel-plugin-macros + - debug + - node-notifier + - supports-color + - ts-node + '@storybook/test@8.4.7(storybook@8.4.7(prettier@2.8.8))': dependencies: '@storybook/csf': 0.1.11 @@ -17807,6 +17980,17 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 + '@types/jest-image-snapshot@6.4.0': + dependencies: + '@types/jest': 29.5.14 + '@types/pixelmatch': 5.2.6 + ssim.js: 3.5.0 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + '@types/js-cookie@3.0.6': {} '@types/js-yaml@4.0.9': {} @@ -17861,6 +18045,10 @@ snapshots: '@types/parse-json@4.0.2': {} + '@types/pixelmatch@5.2.6': + dependencies: + '@types/node': 20.16.11 + '@types/pretty-hrtime@1.0.3': {} '@types/prop-types@15.7.13': {} @@ -18065,7 +18253,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.5.4) '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.5.4) - debug: 4.3.7 + debug: 4.4.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 @@ -18128,7 +18316,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1 - debug: 4.3.7 + debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -19115,7 +19303,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -19365,13 +19553,13 @@ snapshots: axios@0.26.1: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) transitivePeerDependencies: - debug - axios@1.7.7: + axios@1.7.7(debug@4.4.0): dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -19543,6 +19731,8 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + bluebird@3.7.2: {} + bn.js@4.12.1: {} bn.js@5.2.1: {} @@ -19841,6 +20031,8 @@ snapshots: check-error@2.1.1: {} + check-more-types@2.24.0: {} + chokidar@3.3.1: dependencies: anymatch: 3.1.3 @@ -20039,16 +20231,6 @@ snapshots: readable-stream: 2.3.8 typedarray: 0.0.6 - concurrently@9.0.1: - dependencies: - chalk: 4.1.2 - lodash: 4.17.21 - rxjs: 7.8.1 - shell-quote: 1.8.1 - supports-color: 8.1.1 - tree-kill: 1.2.2 - yargs: 17.7.2 - confbox@0.1.8: {} consola@3.2.3: {} @@ -20162,6 +20344,21 @@ snapshots: - supports-color - ts-node + create-jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + create-require@1.1.1: {} cross-fetch@3.1.8: @@ -20274,6 +20471,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decamelize@1.2.0: {} decimal.js@10.4.3: {} @@ -20393,7 +20594,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -20468,6 +20669,8 @@ snapshots: dset@3.1.4: {} + duplexer@0.1.2: {} + duplexify@3.7.1: dependencies: end-of-stream: 1.4.4 @@ -21309,6 +21512,16 @@ snapshots: '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 + event-stream@3.3.4: + dependencies: + duplexer: 0.1.2 + from: 0.1.7 + map-stream: 0.1.0 + pause-stream: 0.0.11 + split: 0.3.3 + stream-combiner: 0.0.4 + through: 2.3.8 + eventemitter3@4.0.7: {} eventemitter3@5.0.1: {} @@ -21571,7 +21784,7 @@ snapshots: dependencies: chalk: 4.1.2 commander: 5.1.0 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -21610,7 +21823,9 @@ snapshots: dependencies: tslib: 2.7.0 - follow-redirects@1.15.9: {} + follow-redirects@1.15.9(debug@4.4.0): + optionalDependencies: + debug: 4.4.0 for-each@0.3.3: dependencies: @@ -21665,6 +21880,8 @@ snapshots: fresh@0.5.2: {} + from@0.1.7: {} + fromentries@1.3.2: {} fs-constants@1.0.0: {} @@ -21779,6 +21996,8 @@ snapshots: dependencies: '@starknet-io/types-js': 0.7.7 + get-stdin@5.0.1: {} + get-stream@5.2.0: dependencies: pump: 3.0.2 @@ -21894,6 +22113,8 @@ snapshots: globrex@0.1.2: {} + glur@1.1.2: {} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 @@ -22093,7 +22314,7 @@ snapshots: http-proxy-agent@6.1.1: dependencies: agent-base: 7.1.1 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -22107,7 +22328,7 @@ snapshots: http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -22138,21 +22359,21 @@ snapshots: https-proxy-agent@4.0.0: dependencies: agent-base: 5.1.1 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@6.2.1: dependencies: agent-base: 7.1.1 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -22629,6 +22850,25 @@ snapshots: - supports-color - ts-node + jest-cli@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + jest-config@29.7.0(@types/node@20.16.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@20.16.11)(typescript@5.5.4)): dependencies: '@babel/core': 7.25.8 @@ -22660,6 +22900,68 @@ snapshots: - babel-plugin-macros - supports-color + jest-config@29.7.0(@types/node@20.16.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)): + dependencies: + '@babel/core': 7.25.8 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.25.8) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.16.11 + ts-node: 10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)): + dependencies: + '@babel/core': 7.25.8 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.25.8) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.10.1 + ts-node: 10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -22706,6 +23008,32 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + jest-image-snapshot@6.4.0(jest@29.7.0(@types/node@20.16.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@20.16.11)(typescript@5.5.4))): + dependencies: + chalk: 4.1.2 + get-stdin: 5.0.1 + glur: 1.1.2 + lodash: 4.17.21 + pixelmatch: 5.3.0 + pngjs: 3.4.0 + rimraf: 2.7.1 + ssim.js: 3.5.0 + optionalDependencies: + jest: 29.7.0(@types/node@20.16.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@20.16.11)(typescript@5.5.4)) + + jest-image-snapshot@6.4.0(jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))): + dependencies: + chalk: 4.1.2 + get-stdin: 5.0.1 + glur: 1.1.2 + lodash: 4.17.21 + pixelmatch: 5.3.0 + pngjs: 3.4.0 + rimraf: 2.7.1 + ssim.js: 3.5.0 + optionalDependencies: + jest: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + jest-junit@16.0.0: dependencies: mkdirp: 1.0.4 @@ -22759,6 +23087,22 @@ snapshots: - debug - supports-color + jest-playwright-preset@4.0.0(jest-circus@29.7.0(babel-plugin-macros@3.1.0))(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))): + dependencies: + expect-playwright: 0.8.0 + jest: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-process-manager: 0.4.0 + jest-runner: 29.7.0 + nyc: 15.1.0 + playwright-core: 1.48.0 + rimraf: 3.0.2 + uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): optionalDependencies: jest-resolve: 29.7.0 @@ -22911,6 +23255,17 @@ snapshots: string-length: 5.0.1 strip-ansi: 7.1.0 + jest-watch-typeahead@2.2.2(jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4))): + dependencies: + ansi-escapes: 6.2.1 + chalk: 5.3.0 + jest: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + jest-regex-util: 29.6.3 + jest-watcher: 29.7.0 + slash: 5.1.0 + string-length: 5.0.1 + strip-ansi: 7.1.0 + jest-watcher@29.7.0: dependencies: '@jest/test-result': 29.7.0 @@ -22941,6 +23296,18 @@ snapshots: - supports-color - ts-node + jest@29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@22.10.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.35(@swc/helpers@0.5.5))(@types/node@22.10.1)(typescript@5.5.4)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + jiti@1.17.1: {} jiti@1.21.6: {} @@ -23124,6 +23491,8 @@ snapshots: dependencies: language-subtag-registry: 0.3.23 + lazy-ass@1.6.0: {} + lazy-universal-dotenv@4.0.0: dependencies: app-root-dir: 1.0.2 @@ -23314,6 +23683,8 @@ snapshots: map-or-similar@1.5.0: {} + map-stream@0.1.0: {} + markdown-to-jsx@7.5.0(react@18.3.1): dependencies: react: 18.3.1 @@ -23961,6 +24332,10 @@ snapshots: pathval@2.0.0: {} + pause-stream@0.0.11: + dependencies: + through: 2.3.8 + pbkdf2@3.1.2: dependencies: create-hash: 1.2.0 @@ -24024,6 +24399,10 @@ snapshots: pirates@4.0.6: {} + pixelmatch@5.3.0: + dependencies: + pngjs: 6.0.0 + pkg-dir@3.0.0: dependencies: find-up: 3.0.0 @@ -24054,8 +24433,12 @@ snapshots: dependencies: queue-lit: 1.5.2 + pngjs@3.4.0: {} + pngjs@5.0.0: {} + pngjs@6.0.0: {} + polished@4.3.1: dependencies: '@babel/runtime': 7.25.7 @@ -24245,6 +24628,10 @@ snapshots: proxy-from-env@1.1.0: {} + ps-tree@1.2.0: + dependencies: + event-stream: 3.3.4 + pseudomap@1.0.2: {} psl@1.9.0: {} @@ -24281,7 +24668,7 @@ snapshots: puppeteer-core@2.1.1: dependencies: '@types/mime-types': 2.1.4 - debug: 4.3.7 + debug: 4.4.0 extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -25032,12 +25419,18 @@ snapshots: split2@4.2.0: {} + split@0.3.3: + dependencies: + through: 2.3.8 + sponge-case@1.0.1: dependencies: tslib: 2.7.0 sprintf-js@1.0.3: {} + ssim.js@3.5.0: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -25062,6 +25455,19 @@ snapshots: transitivePeerDependencies: - encoding + start-server-and-test@2.0.9: + dependencies: + arg: 5.0.2 + bluebird: 3.7.2 + check-more-types: 2.24.0 + debug: 4.4.0 + execa: 5.1.1 + lazy-ass: 1.6.0 + ps-tree: 1.2.0 + wait-on: 8.0.1(debug@4.4.0) + transitivePeerDependencies: + - supports-color + stat-mode@0.3.0: {} statuses@1.5.0: {} @@ -25127,6 +25533,10 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + stream-combiner@0.0.4: + dependencies: + duplexer: 0.1.2 + stream-http@3.2.0: dependencies: builtin-status-codes: 3.0.0 @@ -26420,7 +26830,7 @@ snapshots: wait-on@7.2.0: dependencies: - axios: 1.7.7 + axios: 1.7.7(debug@4.4.0) joi: 17.13.3 lodash: 4.17.21 minimist: 1.2.8 @@ -26428,9 +26838,9 @@ snapshots: transitivePeerDependencies: - debug - wait-on@8.0.1: + wait-on@8.0.1(debug@4.4.0): dependencies: - axios: 1.7.7 + axios: 1.7.7(debug@4.4.0) joi: 17.13.3 lodash: 4.17.21 minimist: 1.2.8 @@ -26442,7 +26852,7 @@ snapshots: dependencies: chalk: 2.4.2 commander: 3.0.2 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color diff --git a/turbo.json b/turbo.json index 1de855dfc..bf5b949e9 100644 --- a/turbo.json +++ b/turbo.json @@ -3,11 +3,20 @@ "ui": "tui", "tasks": { "build:deps": { - "dependsOn": ["^build:deps"], - "outputs": ["dist/**", "**/pkg-controller/**", "**/pkg-session/**"] + "dependsOn": [ + "^build:deps" + ], + "outputs": [ + "dist/**", + "**/pkg-controller/**", + "**/pkg-session/**" + ] }, "build": { - "dependsOn": ["^build:deps", "^build"], + "dependsOn": [ + "^build:deps", + "^build" + ], "outputs": [ ".next/**", "dist/**", @@ -17,7 +26,9 @@ }, "dev": { "persistent": true, - "dependsOn": ["^build:deps"], + "dependsOn": [ + "^build:deps" + ], "outputs": [ ".next/**", "dist/**", @@ -27,20 +38,33 @@ }, "storybook": { "persistent": true, - "dependsOn": ["^build:deps"] + "dependsOn": [ + "^build:deps" + ] }, "test:storybook": { - "dependsOn": ["^build:deps"] + "dependsOn": [ + "^build:deps" + ] + }, + "test:storybook:update": { + "dependsOn": [ + "^build:deps" + ] }, "lint": {}, "lint:fix": {}, "format": {}, "format:check": {}, "e2e": { - "dependsOn": ["^build:deps"] + "dependsOn": [ + "^build:deps" + ] }, "e2e:ui": { - "dependsOn": ["^build:deps"], + "dependsOn": [ + "^build:deps" + ], "persistent": true } }, @@ -52,4 +76,4 @@ "packages/account_sdk/src", "packages/account-wasm/src" ] -} +} \ No newline at end of file