diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e636917ab..c773caded 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,9 @@ jobs: name: Build the package steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3 + with: + submodules: true + - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: 22 @@ -24,105 +26,102 @@ jobs: - run: pnpm install env: CYPRESS_INSTALL_BINARY: 0 + CHROMEDRIVER_SKIP_DOWNLOAD: true - run: pnpm build - run: pnpm test:unit - # Use cache to share the output across different jobs - # No need to cache node_modules because they are all bundled - - uses: actions/cache/save@v4 - id: cache - with: - path: outfile.cjs - key: ${{ github.sha }}-${{ hashFiles('pnpm-lock.yaml') }} + - run: pnpm snapshot - test: + # Use artifact to share the output across different jobs + # No need to save node_modules because they are all bundled + - uses: actions/upload-artifact@v4 + with: + name: build-output + path: | + outfile.cjs + playground + retention-days: 3 + + verify-scripts: + needs: build + strategy: + matrix: + node-version: [18, 20, 22] + os: [ubuntu-latest, windows-latest, macos-latest] + verification-script: + - pnpm --filter '!*typescript*' build + - pnpm --filter '*typescript*' build + - pnpm --filter '*vitest*' test:unit + - pnpm --filter '*eslint*' lint --no-fix --max-warnings=0 + - pnpm --filter '*prettier*' format --write --check + # FIXME: it's failing now + # - pnpm --filter '*with-tests*' test:unit + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.os == 'windows-latest' }} + env: + CYPRESS_INSTALL_BINARY: 0 + CHROMEDRIVER_SKIP_DOWNLOAD: true + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - uses: pnpm/action-setup@v4 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + # use artifacts to share the playground across different jobs + - uses: actions/download-artifact@v4 + with: + name: build-output + + - name: Install dependencies to avoid tsconfig warnings + run: pnpm install + - name: Install dependencies in playground + working-directory: ./playground + run: pnpm install --no-frozen-lockfile + + - name: Run build script in playground + working-directory: ./playground + run: ${{ matrix.verification-script }} + + verify-e2e: needs: build strategy: matrix: - flag-for-ts: ['', '--typescript'] - flag-for-jsx: ['', '--jsx'] - flag-for-router: ['', '--router'] - flag-for-pinia: ['', '--pinia'] - flag-for-vitest: ['', '--vitest'] - - # It's quite costly to install Cypress & Playwright even with cache. - # Maybe we can split them into another job so that all the projects - # can share the same binary installation. - flag-for-e2e: ['', '--cypress', '--playwright'] - - # Skip ESLint/Prettier tests as we've reached the limit of job numbers - # TODO: Find a way to test them without adding new jobs - + e2e-framework: ['cypress', 'playwright'] node-version: [22] - os: [ubuntu-latest] - - # Run a few tests on other systems and Node.js versions - include: - - node-version: 22 - os: windows-latest - flag-for-ts: '--typescript' - flag-for-jsx: '--jsx' - flag-for-router: '--router' - flag-for-pinia: '--pinia' - flag-for-vitest: '--vitest' - flag-for-e2e: '--cypress' - flag-for-eslint: '--eslint' - - - node-version: 22 - os: macos-latest - flag-for-ts: '--typescript' - flag-for-jsx: '--jsx' - flag-for-router: '--router' - flag-for-pinia: '--pinia' - flag-for-vitest: '--vitest' - flag-for-e2e: '--cypress' - flag-for-eslint: '--eslint' - - - node-version: 18 - os: ubuntu-latest - flag-for-ts: '--typescript' - flag-for-jsx: '--jsx' - flag-for-router: '--router' - flag-for-pinia: '--pinia' - flag-for-vitest: '--vitest' - flag-for-e2e: '--cypress' - flag-for-eslint: '--eslint' - - - node-version: 20 - os: ubuntu-latest - flag-for-ts: '--typescript' - flag-for-jsx: '--jsx' - flag-for-router: '--router' - flag-for-pinia: '--pinia' - flag-for-vitest: '--vitest' - flag-for-e2e: '--cypress' - flag-for-eslint: '--eslint' + os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.os == 'windows-latest' }} env: - FEATURE_FLAGS: ${{ matrix.flag-for-ts }} ${{ matrix.flag-for-jsx }} ${{ matrix.flag-for-router }} ${{ matrix.flag-for-pinia }} ${{ matrix.flag-for-vitest }} ${{ matrix.flag-for-e2e }} ${{matrix.flag-for-eslint}} # Sometimes the Linux runner can't verify Cypress in 30s CYPRESS_VERIFY_TIMEOUT: 60000 steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3 + with: + submodules: true + - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' - - uses: actions/cache/restore@v4 - id: cache-restore + + # use artifacts to share the playground across different jobs + - uses: actions/download-artifact@v4 with: - path: outfile.cjs - key: ${{ github.sha }}-${{ hashFiles('pnpm-lock.yaml') }} - - name: Build the package on cache miss - if: steps.cache-restore.outputs.cache-hit != 'true' - run: pnpm install && pnpm build + name: build-output + + - name: Install dependencies to avoid tsconfig warnings + run: pnpm install + - name: Install dependencies in playground + working-directory: ./playground + run: pnpm install --no-frozen-lockfile # https://github.com/vitejs/vite/blob/main/.github/workflows/ci.yml#L62 # Install playwright's binary under custom directory to cache - name: Set Playwright & Cypress path - if: runner.os != 'Windows' run: | echo "PLAYWRIGHT_BROWSERS_PATH=$HOME/.cache/playwright-bin" >> $GITHUB_ENV echo "CYPRESS_CACHE_FOLDER=$HOME/.cache/cypress-bin" >> $GITHUB_ENV @@ -132,7 +131,7 @@ jobs: echo "PLAYWRIGHT_BROWSERS_PATH=$HOME\.cache\playwright-bin" >> $env:GITHUB_ENV echo "CYPRESS_CACHE_FOLDER=$HOME\.cache\cypress-bin" >> $env:GITHUB_ENV - - if: ${{ contains(matrix.flag-for-e2e, '--cypress') }} + - if: ${{ contains(matrix.e2e-framework, 'cypress') }} name: Cache Cypress binaries id: cache-cypress uses: actions/cache@v4 @@ -141,7 +140,7 @@ jobs: key: ${{ runner.os }}-cypress-bin path: ${{ env.CYPRESS_CACHE_FOLDER }} - - if: ${{ contains(matrix.flag-for-e2e, '--playwright') }} + - if: ${{ contains(matrix.e2e-framework, 'playwright') }} name: Cache Playwright's binary uses: actions/cache@v4 with: @@ -150,47 +149,29 @@ jobs: key: ${{ runner.os }}-playwright-bin-v1 path: ${{ env.PLAYWRIGHT_BROWSERS_PATH }} - - if: ${{ (contains(env.FEATURE_FLAGS, '--')) }} - name: Create the sample project with feature flags - working-directory: ../ - run: node ./create-vue/outfile.cjs sample-project ${{ env.FEATURE_FLAGS }} - - - if: ${{ !(contains(env.FEATURE_FLAGS, '--')) }} - name: Create the sample project with default options - working-directory: ../ - run: node ./create-vue/outfile.cjs sample-project --default - - - name: Install dependencies in the sample project - working-directory: ../sample-project - run: pnpm install - - - if: ${{ contains(matrix.flag-for-vitest, '--') }} - name: Run unit test script - working-directory: ../sample-project - run: pnpm test:unit - - - name: Run build script - working-directory: ../sample-project - run: pnpm build - - name: Download Cypress - if: ${{ contains(matrix.flag-for-e2e, '--cypress') }} - working-directory: ../sample-project + if: ${{ contains(matrix.e2e-framework, 'cypress') }} + working-directory: ./playground/cypress run: | pnpm exec cypress cache list pnpm exec cypress install - - if: ${{ contains(matrix.flag-for-e2e, '--playwright') }} + - if: ${{ contains(matrix.e2e-framework, 'playwright') }} name: Install Playwright dependencies - working-directory: ../sample-project - run: npx playwright install --with-deps - - - if: ${{ contains(matrix.flag-for-e2e, '--') }} - name: Run e2e test script - working-directory: ../sample-project - run: pnpm test:e2e - - - if: ${{ contains(matrix.flag-for-eslint, '--') }} - name: Run lint script - working-directory: ../sample-project - run: pnpm lint --no-fix --max-warnings=0 + working-directory: ./playground/playwright + run: pnpm exec playwright install --with-deps + + - name: Run build script + working-directory: ./playground + run: pnpm --filter '*${{ matrix.e2e-framework }}*' build + + - name: Run e2e test script + working-directory: ./playground + # bare templates can't pass e2e tests because their page structures don't match the example tests + run: pnpm --filter '*${{ matrix.e2e-framework }}*' --filter '!*bare*' --workspace-concurrency 1 test:e2e + + - name: Cypress component testing for projects without Vitest + if: ${{ contains(matrix.e2e-framework, 'cypress') }} + run: pnpm --filter '*cypress*' --filter '!*vitest*' --workspace-concurrency 1 test:unit + + # FIXME: `--with-tests` folders. It's failing now. diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e3eac4f7c..b729f9324 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,6 +23,6 @@ jobs: node-version: 'lts/*' registry-url: 'https://registry.npmjs.org' - run: pnpm install - - run: pnpm publish + - run: pnpm publish --no-git-checks env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/README.md b/README.md index be7ad171e..075dff142 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,9 @@ npm create vue@latest > [!NOTE] > (`@latest` or `@legacy`) MUST NOT be omitted, otherwise `npm` may resolve to a cached and outdated version of the package. -Or, if you need to support IE11, you can create a Vue 2 project with: +By default the command will run in interactive mode, but you can also provide feature flags in the CLI arguments to skip the prompts. Run `npm create vue@latest --help` to see all available options. + +If you need to support IE11, you can create a Vue 2 project with: ```sh npm create vue@legacy diff --git a/index.ts b/index.ts index 40f70304b..004f97873 100755 --- a/index.ts +++ b/index.ts @@ -6,7 +6,7 @@ import * as path from 'node:path' import { parseArgs } from 'node:util' import prompts from 'prompts' -import { red, green, bold } from 'kleur/colors' +import { red, green, cyan, bold } from 'kleur/colors' import ejs from 'ejs' @@ -18,6 +18,9 @@ import generateReadme from './utils/generateReadme' import getCommand from './utils/getCommand' import getLanguage from './utils/getLanguage' import renderEslint from './utils/renderEslint' +import trimBoilerplate from './utils/trimBoilerplate' + +import cliPackageJson from './package.json' function isValidPackageName(projectName) { return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(projectName) @@ -60,31 +63,56 @@ function emptyDir(dir) { ) } -async function init() { - console.log() - console.log( - process.stdout.isTTY && process.stdout.getColorDepth() > 8 - ? banners.gradientBanner - : banners.defaultBanner, - ) - console.log() +const helpMessage = `\ +Usage: create-vue [FEATURE_FLGAS...] [OPTIONS...] [DIRECTORY] + +Create a new Vue.js project. +Start the CLI in interactive mode when no FEATURE_FLAGS is provided, or if the DIRECTORY argument is not a valid package name. + +Options: + --force + Create the project even if the directory is not empty. + --bare + Create a barebone project without example code. + --help + Display this help message. + --version + Display the version number of this CLI. + +Available feature flags: + --default + Create a project with the default configuration without any additional features. + --ts, --typescript + Add TypeScript support. + --jsx + Add JSX support. + --router, --vue-router + Add Vue Router for SPA development. + --pinia + Add Pinia for state management. + --vitest + Add Vitest for unit testing. + --cypress + Add Cypress for end-to-end testing. + If used without ${cyan('--vitest')}, it will also add Cypress Component Testing. + --playwright + Add Playwright for end-to-end testing. + --nightwatch + Add Nightwatch for end-to-end testing. + If used without ${cyan('--vitest')}, it will also add Nightwatch Component Testing. + --eslint + Add ESLint for code quality. + --eslint-with-prettier + Add Prettier for code formatting in addition to ESLint. + +Unstable feature flags: + --tests, --with-tests + Add both unit testing and end-to-end testing support. + Currently equivalent to ${cyan('--vitest --cypress')}, but may change in the future. +` +async function init() { const cwd = process.cwd() - // possible options: - // --default - // --typescript / --ts - // --jsx - // --router / --vue-router - // --pinia - // --with-tests / --tests (equals to `--vitest --cypress`) - // --vitest - // --cypress - // --nightwatch - // --playwright - // --eslint - // --eslint-with-prettier (only support prettier through eslint for simplicity) - // --force (for force overwriting) - const args = process.argv.slice(2) // alias is not supported by parseArgs @@ -103,6 +131,16 @@ async function init() { strict: false, }) + if (argv.help) { + console.log(helpMessage) + process.exit(0) + } + + if (argv.version) { + console.log(`${cliPackageJson.name} v${cliPackageJson.version}`) + process.exit(0) + } + // if any of the feature flags is set, we would skip the feature prompts const isFeatureFlagsUsed = typeof ( @@ -142,6 +180,14 @@ async function init() { needsPrettier?: boolean } = {} + console.log() + console.log( + process.stdout.isTTY && process.stdout.getColorDepth() > 8 + ? banners.gradientBanner + : banners.defaultBanner, + ) + console.log() + try { // Prompts: // - Project name: @@ -319,8 +365,8 @@ async function init() { packageName = projectName ?? defaultProjectName, shouldOverwrite = argv.force, needsJsx = argv.jsx, - needsTypeScript = argv.ts || argv.typescript, - needsRouter = argv.router || argv['vue-router'], + needsTypeScript = (argv.ts || argv.typescript) as boolean, + needsRouter = (argv.router || argv['vue-router']) as boolean, needsPinia = argv.pinia, needsVitest = argv.vitest || argv.tests, needsPrettier = argv['eslint-with-prettier'], @@ -563,6 +609,25 @@ async function init() { ) } + if (argv.bare) { + trimBoilerplate(root, { needsTypeScript, needsRouter }) + render('bare/base') + + // TODO: refactor the `render` utility to avoid this kind of manual mapping? + if (needsTypeScript) { + render('bare/typescript') + } + if (needsVitest) { + render('bare/vitest') + } + if (needsCypressCT) { + render('bare/cypress-ct') + } + if (needsNightwatchCT) { + render('bare/nightwatch-ct') + } + } + // Instructions: // Supported package managers: pnpm > yarn > bun > npm const userAgent = process.env.npm_config_user_agent ?? '' diff --git a/package.json b/package.json index d7ad847dd..933b31f67 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "create-vue", - "version": "3.12.2", + "version": "3.13.0", "description": "🛠️ The recommended way to start a Vite-powered Vue project", "type": "module", - "packageManager": "pnpm@9.14.2", + "packageManager": "pnpm@9.15.1", "bin": { "create-vue": "outfile.cjs" }, @@ -40,20 +40,20 @@ "devDependencies": { "@tsconfig/node22": "^22.0.0", "@types/eslint": "^9.6.1", - "@types/node": "^22.9.3", + "@types/node": "^22.10.2", "@types/prompts": "^2.4.9", "@vue/create-eslint-config": "^0.6.1", "@vue/tsconfig": "^0.7.0", "ejs": "^3.1.10", - "esbuild": "^0.24.0", + "esbuild": "^0.24.2", "esbuild-plugin-license": "^1.2.3", "husky": "^9.1.7", "kleur": "^4.1.5", - "lint-staged": "^15.2.10", - "prettier": "^3.3.3", + "lint-staged": "^15.2.11", + "prettier": "^3.4.2", "prompts": "^2.4.2", - "vitest": "^2.1.5", - "zx": "^8.2.2" + "vitest": "^2.1.8", + "zx": "^8.2.4" }, "lint-staged": { "*.{js,ts,vue,json}": [ diff --git a/playground b/playground index 9a1642285..7dd69dda9 160000 --- a/playground +++ b/playground @@ -1 +1 @@ -Subproject commit 9a16422856efe28f0a614671d3206163822aa0cd +Subproject commit 7dd69dda910f667eeca012809fd59c0d40c95e22 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 63aa68da4..f734b16e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^9.6.1 version: 9.6.1 '@types/node': - specifier: ^22.9.3 - version: 22.9.3 + specifier: ^22.10.2 + version: 22.10.2 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -30,11 +30,11 @@ importers: specifier: ^3.1.10 version: 3.1.10 esbuild: - specifier: ^0.24.0 - version: 0.24.0 + specifier: ^0.24.2 + version: 0.24.2 esbuild-plugin-license: specifier: ^1.2.3 - version: 1.2.3(esbuild@0.24.0) + version: 1.2.3(esbuild@0.24.2) husky: specifier: ^9.1.7 version: 9.1.7 @@ -42,20 +42,20 @@ importers: specifier: ^4.1.5 version: 4.1.5 lint-staged: - specifier: ^15.2.10 - version: 15.2.10 + specifier: ^15.2.11 + version: 15.2.11 prettier: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.2 + version: 3.4.2 prompts: specifier: ^2.4.2 version: 2.4.2 vitest: - specifier: ^2.1.5 - version: 2.1.5(@types/node@22.9.3)(jsdom@25.0.1) + specifier: ^2.1.8 + version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1) zx: - specifier: ^8.2.2 - version: 8.2.2 + specifier: ^8.2.4 + version: 8.2.4 template/base: dependencies: @@ -65,22 +65,22 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)) vite: - specifier: ^6.0.1 - version: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + specifier: ^6.0.5 + version: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) vite-plugin-vue-devtools: - specifier: ^7.6.5 - version: 7.6.5(rollup@4.24.0)(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3)) + specifier: ^7.6.8 + version: 7.6.8(rollup@4.24.0)(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)) template/config/cypress: devDependencies: cypress: - specifier: ^13.16.0 - version: 13.16.0 + specifier: ^13.17.0 + version: 13.17.0 start-server-and-test: - specifier: ^2.0.8 - version: 2.0.8 + specifier: ^2.0.9 + version: 2.0.9 template/config/cypress-ct: dependencies: @@ -89,8 +89,8 @@ importers: version: 3.5.13(typescript@5.6.3) devDependencies: cypress: - specifier: ^13.16.0 - version: 13.16.0 + specifier: ^13.17.0 + version: 13.17.0 template/config/jsx: dependencies: @@ -100,34 +100,34 @@ importers: devDependencies: '@vitejs/plugin-vue-jsx': specifier: ^4.1.1 - version: 4.1.1(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3)) + version: 4.1.1(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)) vite: - specifier: ^6.0.1 - version: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + specifier: ^6.0.5 + version: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) template/config/nightwatch: devDependencies: '@nightwatch/vue': specifier: ^3.1.2 - version: 3.1.2(@types/node@22.9.3)(vue@3.5.13(typescript@5.6.3)) + version: 3.1.2(@types/node@22.10.2)(vue@3.5.13(typescript@5.6.3)) '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)) chromedriver: - specifier: ^131.0.1 - version: 131.0.1 + specifier: ^131.0.4 + version: 131.0.4 geckodriver: specifier: ^5.0.0 version: 5.0.0 nightwatch: specifier: ^3.9.0 - version: 3.9.0(chromedriver@131.0.1)(geckodriver@5.0.0) + version: 3.9.0(chromedriver@131.0.4)(geckodriver@5.0.0) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.9.3)(typescript@5.6.3) + version: 10.9.2(@types/node@22.10.2)(typescript@5.6.3) vite: - specifier: ^6.0.1 - version: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + specifier: ^6.0.5 + version: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) vite-plugin-nightwatch: specifier: ^0.4.6 version: 0.4.6 @@ -145,8 +145,8 @@ importers: template/config/pinia: dependencies: pinia: - specifier: ^2.2.6 - version: 2.2.6(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)) + specifier: ^2.3.0 + version: 2.3.0(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)) vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.6.3) @@ -154,8 +154,8 @@ importers: template/config/playwright: devDependencies: '@playwright/test': - specifier: ^1.49.0 - version: 1.49.0 + specifier: ^1.49.1 + version: 1.49.1 template/config/router: dependencies: @@ -163,17 +163,17 @@ importers: specifier: ^3.5.13 version: 3.5.13(typescript@5.6.3) vue-router: - specifier: ^4.4.5 - version: 4.4.5(vue@3.5.13(typescript@5.6.3)) + specifier: ^4.5.0 + version: 4.5.0(vue@3.5.13(typescript@5.6.3)) template/config/typescript: devDependencies: '@types/node': - specifier: ^22.9.3 - version: 22.9.3 + specifier: ^22.10.2 + version: 22.10.2 npm-run-all2: - specifier: ^7.0.1 - version: 7.0.1 + specifier: ^7.0.2 + version: 7.0.2 typescript: specifier: ~5.6.3 version: 5.6.3 @@ -194,8 +194,8 @@ importers: specifier: ^25.0.1 version: 25.0.1 vitest: - specifier: ^2.1.5 - version: 2.1.5(@types/node@22.9.3)(jsdom@25.0.1) + specifier: ^2.1.8 + version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1) template/tsconfig/base: devDependencies: @@ -387,6 +387,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -405,6 +411,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.15.18': resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} @@ -435,6 +447,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.18.20': resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -453,6 +471,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.18.20': resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -471,6 +495,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.18.20': resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -489,6 +519,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -507,6 +543,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -525,6 +567,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.18.20': resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -543,6 +591,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.18.20': resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -561,6 +615,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.18.20': resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -579,6 +639,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.15.18': resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} @@ -603,6 +669,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.18.20': resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -621,6 +693,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.18.20': resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -639,6 +717,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.18.20': resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -657,6 +741,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.18.20': resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -675,6 +765,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.18.20': resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -693,6 +789,18 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.18.20': resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -711,12 +819,24 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.24.0': resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -735,6 +855,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.18.20': resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -753,6 +879,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.18.20': resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -771,6 +903,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.18.20': resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -789,6 +927,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.18.20': resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -807,6 +951,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -961,8 +1111,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.49.0': - resolution: {integrity: sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==} + '@playwright/test@1.49.1': + resolution: {integrity: sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==} engines: {node: '>=18'} hasBin: true @@ -1058,6 +1208,9 @@ packages: cpu: [x64] os: [win32] + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@sideway/address@4.1.5': resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} @@ -1067,6 +1220,10 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} @@ -1127,8 +1284,8 @@ packages: '@types/nightwatch@2.3.32': resolution: {integrity: sha512-RXAWpe83AERF0MbRHXaEJlMQGDtA6BW5sgbn2jO0z04yzbxc4gUvzaJwHpGULBSa2QKUHfBZoLwe/tuQx0PWLg==} - '@types/node@22.9.3': - resolution: {integrity: sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==} + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} '@types/prompts@2.4.9': resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} @@ -1172,11 +1329,11 @@ packages: vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@vitest/expect@2.1.5': - resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==} + '@vitest/expect@2.1.8': + resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} - '@vitest/mocker@2.1.5': - resolution: {integrity: sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==} + '@vitest/mocker@2.1.8': + resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 @@ -1186,20 +1343,20 @@ packages: vite: optional: true - '@vitest/pretty-format@2.1.5': - resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} + '@vitest/pretty-format@2.1.8': + resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} - '@vitest/runner@2.1.5': - resolution: {integrity: sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==} + '@vitest/runner@2.1.8': + resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} - '@vitest/snapshot@2.1.5': - resolution: {integrity: sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==} + '@vitest/snapshot@2.1.8': + resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} - '@vitest/spy@2.1.5': - resolution: {integrity: sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==} + '@vitest/spy@2.1.8': + resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} - '@vitest/utils@2.1.5': - resolution: {integrity: sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==} + '@vitest/utils@2.1.8': + resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} '@volar/language-core@2.4.8': resolution: {integrity: sha512-K/GxMOXGq997bO00cdFhTNuR85xPxj0BEEAy+BaqqayTmy9Tmhfgmq2wpJcVspRhcwfgPoE2/mEJa26emUhG/g==} @@ -1255,16 +1412,16 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/devtools-core@7.6.5': - resolution: {integrity: sha512-PKTEZVzY4Ef6G8LnbACKkPDOcdr2snFn3Xk8YqyFgugmogDrA3cyYVQ58CS0XTO9AYUXU9E5FFt5JJf22kXF2w==} + '@vue/devtools-core@7.6.8': + resolution: {integrity: sha512-8X4roysTwzQ94o7IobjVcOd1aZF5iunikrMrHPI2uUdigZCi2kFTQc7ffYiFiTNaLElCpjOhCnM7bo7aK1yU7A==} peerDependencies: vue: ^3.0.0 - '@vue/devtools-kit@7.6.5': - resolution: {integrity: sha512-fLQhUwmUbtEDHW1SEiHUF5k2Ptw816As5ZUVb/SzrqkrJzXI8xjEIo8suNBe/N+ewdz/9m5ayeFH8fmcVIbr4Q==} + '@vue/devtools-kit@7.6.8': + resolution: {integrity: sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==} - '@vue/devtools-shared@7.6.5': - resolution: {integrity: sha512-szsXQ0jlpjuFfmxb6F40qkSF4gtLC1W+dKRh/UiTulC+RekZsjqcN/qnVFkzqOO1YnzzShinZwfmv+MbfPJnpw==} + '@vue/devtools-shared@7.6.8': + resolution: {integrity: sha512-9MBPO5Z3X1nYGFqTJyohl6Gmf/J7UNN1oicHdyzBVZP4jnhZ4c20MgtaHDIzWmHDHCMYVS5bwKxT3jxh7gOOKA==} '@vue/language-core@2.1.10': resolution: {integrity: sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==} @@ -1596,8 +1753,8 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} - chromedriver@131.0.1: - resolution: {integrity: sha512-LHRh+oaNU1WowJjAkWsviN8pTzQYJDbv/FvJyrQ7XhjKdIzVh/s3GV1iU7IjMTsxIQnBsTjx+9jWjzCWIXC7ug==} + chromedriver@131.0.4: + resolution: {integrity: sha512-JgIkept8YrnqT05ldLaOzxxEJDUV1t3PFIIMO/gQz9AbnpZx7Pl1zq6tQTTz2HoY5T2JKZ5kyiEWwc48g4fJ5w==} engines: {node: '>=18'} hasBin: true @@ -1719,6 +1876,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + cssstyle@4.1.0: resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==} engines: {node: '>=18'} @@ -1726,8 +1887,8 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - cypress@13.16.0: - resolution: {integrity: sha512-g6XcwqnvzXrqiBQR/5gN+QsyRmKRhls1y5E42fyOvsmU7JuY+wM6uHJWj4ZPttjabzbnRvxcik2WemR8+xT6FA==} + cypress@13.17.0: + resolution: {integrity: sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -1788,6 +1949,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@4.0.0: resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} engines: {node: '>=10'} @@ -2090,6 +2260,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -2147,6 +2322,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + execa@9.5.1: + resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==} + engines: {node: ^18.19.0 || >=20.5.0} + executable@4.1.1: resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} engines: {node: '>=4'} @@ -2181,6 +2360,10 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -2296,6 +2479,10 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-uri@6.0.3: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} @@ -2402,6 +2589,10 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + human-signals@8.0.0: + resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + engines: {node: '>=18.18.0'} + husky@9.1.7: resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} engines: {node: '>=18'} @@ -2537,6 +2728,10 @@ packages: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} @@ -2560,6 +2755,10 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2575,6 +2774,10 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-url@1.2.4: resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} @@ -2724,12 +2927,12 @@ packages: lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} - lint-staged@15.2.10: - resolution: {integrity: sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==} + lint-staged@15.2.11: + resolution: {integrity: sha512-Ev6ivCTYRTGs9ychvpVw35m/bcNDuBN+mnTeObCL5h+boS5WzBEC6LHI4I9F/++sZm1m+J2LEiy0gxL/R9TBqQ==} engines: {node: '>=18.12.0'} hasBin: true @@ -2919,6 +3122,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.0.9: + resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} + engines: {node: ^18 || >=20} + hasBin: true + netmask@2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} @@ -2969,8 +3177,8 @@ packages: resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} engines: {node: ^18.17.0 || >=20.5.0} - npm-run-all2@7.0.1: - resolution: {integrity: sha512-Adbv+bJQ8UTAM03rRODqrO5cx0YU5KCG2CvHtSURiadvdTjjgGJXdbc1oQ9CXBh9dnGfHSoSB1Web/0Dzp6kOQ==} + npm-run-all2@7.0.2: + resolution: {integrity: sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==} engines: {node: ^18.17.0 || >=20.5.0, npm: '>= 9'} hasBin: true @@ -2982,6 +3190,10 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + nwsapi@2.2.13: resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} @@ -3057,6 +3269,10 @@ packages: pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -3128,28 +3344,25 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - pinia@2.2.6: - resolution: {integrity: sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==} + pinia@2.3.0: + resolution: {integrity: sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==} peerDependencies: - '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.5.11 + vue: ^2.7.0 || ^3.5.11 peerDependenciesMeta: - '@vue/composition-api': - optional: true typescript: optional: true piscina@4.7.0: resolution: {integrity: sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==} - playwright-core@1.49.0: - resolution: {integrity: sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==} + playwright-core@1.49.1: + resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==} engines: {node: '>=18'} hasBin: true - playwright@1.49.0: - resolution: {integrity: sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==} + playwright@1.49.1: + resolution: {integrity: sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==} engines: {node: '>=18'} hasBin: true @@ -3161,8 +3374,8 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} engines: {node: '>=14'} hasBin: true @@ -3170,6 +3383,10 @@ packages: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -3423,8 +3640,8 @@ packages: resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} engines: {node: '>=6'} - start-server-and-test@2.0.8: - resolution: {integrity: sha512-v2fV6NV2F7tL1ocwfI4Wpait+IKjRbT5l3ZZ+ZikXdMLmxYsS8ynGAsCQAUVXkVyGyS+UibsRnvgHkMvJIvCsw==} + start-server-and-test@2.0.9: + resolution: {integrity: sha512-DDceIvc4wdpr+z3Aqkot2QMho8TcUBh5qH0wEHDpEexBTzlheOcmh53d3dExABY4J5C7qS2UbSXqRWLtxpbWIQ==} engines: {node: '>=16'} hasBin: true @@ -3479,6 +3696,10 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -3624,8 +3845,12 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} @@ -3662,22 +3887,22 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} - vite-hot-client@0.2.3: - resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} + vite-hot-client@0.2.4: + resolution: {integrity: sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==} peerDependencies: - vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 - vite-node@2.1.5: - resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==} + vite-node@2.1.8: + resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-plugin-inspect@0.8.8: - resolution: {integrity: sha512-aZlBuXsWUPJFmMK92GIv6lH7LrwG2POu4KJ+aEdcqnu92OAf+rhBnfMDQvxIJPEB7hE2t5EyY/PMgf5aDLT8EA==} + vite-plugin-inspect@0.8.9: + resolution: {integrity: sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -3685,16 +3910,16 @@ packages: vite-plugin-nightwatch@0.4.6: resolution: {integrity: sha512-7mxANgh3KA2c/xGJU35T8z1Xj9akWQ4FuyB1PN3nwinqxqYBAx44sW9Z87a2x6efj5TD4lU0Tbuvvgous6F1+Q==} - vite-plugin-vue-devtools@7.6.5: - resolution: {integrity: sha512-5ISMSoLMrOl/77suAC3DigbuI4oSsWW7fgwdAoKbKvtY6+L3Jv51mjCnirzRog2uP0K59iIXwHHtORUg1aBQ2A==} + vite-plugin-vue-devtools@7.6.8: + resolution: {integrity: sha512-32aIps8C1Y7UEoqyWf+ES3J1OozsCYMIqTqd+I5qass+R0Tcf8SaA2bX1/rskAzkcKCteVoBjEENmqwTcMebbw==} engines: {node: '>=v14.21.3'} peerDependencies: vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 - vite-plugin-vue-inspector@5.3.0: - resolution: {integrity: sha512-F6JNRUOrZl8FaUCTxPhsOLn2ka7N7Sz9ppxmmEwpybVBDYnhelbNnnlZpeFPc4ULnxbitSi8b0V2C0KT3CjReg==} + vite-plugin-vue-inspector@5.3.1: + resolution: {integrity: sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==} peerDependencies: - vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 vite@4.5.5: resolution: {integrity: sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==} @@ -3755,8 +3980,8 @@ packages: terser: optional: true - vite@6.0.1: - resolution: {integrity: sha512-Ldn6gorLGr4mCdFnmeAOLweJxZ34HjKnDm4HGo6P66IEqTxQb36VEdFJQENKxWjupNfoIjvRUnswjn1hpYEpjQ==} + vite@6.0.5: + resolution: {integrity: sha512-akD5IAH/ID5imgue2DYhzsEwCi0/4VKY31uhMLEYJwPP4TiUp8pL5PIK+Wo7H8qT8JY9i+pVfPydcFPYD1EL7g==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -3795,15 +4020,15 @@ packages: yaml: optional: true - vitest@2.1.5: - resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==} + vitest@2.1.8: + resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.5 - '@vitest/ui': 2.1.5 + '@vitest/browser': 2.1.8 + '@vitest/ui': 2.1.8 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3837,8 +4062,8 @@ packages: '@vue/composition-api': optional: true - vue-router@4.4.5: - resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} + vue-router@4.5.0: + resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==} peerDependencies: vue: ^3.2.0 @@ -3969,8 +4194,8 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.5.1: - resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} hasBin: true @@ -3997,12 +4222,16 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + zip-stream@4.1.1: resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} engines: {node: '>= 10'} - zx@8.2.2: - resolution: {integrity: sha512-HSIdpU5P2ONI0nssnhsUZNCH9Sd/Z8LIFk9n8QTbu6JufzJx7qR7ajrMN21s06JqWSApcN012377iWsv8Vs5bg==} + zx@8.2.4: + resolution: {integrity: sha512-g9wVU+5+M+zVen/3IyAZfsZFmeqb6vDfjqFggakviz5uLK7OAejOirX+jeTOkyvAh/OYRlCgw+SdqzN7F61QVQ==} engines: {node: '>= 12.17.0'} hasBin: true @@ -4036,7 +4265,7 @@ snapshots: '@babel/traverse': 7.25.9 '@babel/types': 7.26.0 convert-source-map: 2.0.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4194,7 +4423,7 @@ snapshots: '@babel/parser': 7.26.2 '@babel/template': 7.25.9 '@babel/types': 7.26.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -4247,6 +4476,9 @@ snapshots: '@esbuild/aix-ppc64@0.24.0': optional: true + '@esbuild/aix-ppc64@0.24.2': + optional: true + '@esbuild/android-arm64@0.18.20': optional: true @@ -4256,6 +4488,9 @@ snapshots: '@esbuild/android-arm64@0.24.0': optional: true + '@esbuild/android-arm64@0.24.2': + optional: true + '@esbuild/android-arm@0.15.18': optional: true @@ -4271,6 +4506,9 @@ snapshots: '@esbuild/android-arm@0.24.0': optional: true + '@esbuild/android-arm@0.24.2': + optional: true + '@esbuild/android-x64@0.18.20': optional: true @@ -4280,6 +4518,9 @@ snapshots: '@esbuild/android-x64@0.24.0': optional: true + '@esbuild/android-x64@0.24.2': + optional: true + '@esbuild/darwin-arm64@0.18.20': optional: true @@ -4289,6 +4530,9 @@ snapshots: '@esbuild/darwin-arm64@0.24.0': optional: true + '@esbuild/darwin-arm64@0.24.2': + optional: true + '@esbuild/darwin-x64@0.18.20': optional: true @@ -4298,6 +4542,9 @@ snapshots: '@esbuild/darwin-x64@0.24.0': optional: true + '@esbuild/darwin-x64@0.24.2': + optional: true + '@esbuild/freebsd-arm64@0.18.20': optional: true @@ -4307,6 +4554,9 @@ snapshots: '@esbuild/freebsd-arm64@0.24.0': optional: true + '@esbuild/freebsd-arm64@0.24.2': + optional: true + '@esbuild/freebsd-x64@0.18.20': optional: true @@ -4316,6 +4566,9 @@ snapshots: '@esbuild/freebsd-x64@0.24.0': optional: true + '@esbuild/freebsd-x64@0.24.2': + optional: true + '@esbuild/linux-arm64@0.18.20': optional: true @@ -4325,6 +4578,9 @@ snapshots: '@esbuild/linux-arm64@0.24.0': optional: true + '@esbuild/linux-arm64@0.24.2': + optional: true + '@esbuild/linux-arm@0.18.20': optional: true @@ -4334,6 +4590,9 @@ snapshots: '@esbuild/linux-arm@0.24.0': optional: true + '@esbuild/linux-arm@0.24.2': + optional: true + '@esbuild/linux-ia32@0.18.20': optional: true @@ -4343,6 +4602,9 @@ snapshots: '@esbuild/linux-ia32@0.24.0': optional: true + '@esbuild/linux-ia32@0.24.2': + optional: true + '@esbuild/linux-loong64@0.15.18': optional: true @@ -4355,6 +4617,9 @@ snapshots: '@esbuild/linux-loong64@0.24.0': optional: true + '@esbuild/linux-loong64@0.24.2': + optional: true + '@esbuild/linux-mips64el@0.18.20': optional: true @@ -4364,6 +4629,9 @@ snapshots: '@esbuild/linux-mips64el@0.24.0': optional: true + '@esbuild/linux-mips64el@0.24.2': + optional: true + '@esbuild/linux-ppc64@0.18.20': optional: true @@ -4373,6 +4641,9 @@ snapshots: '@esbuild/linux-ppc64@0.24.0': optional: true + '@esbuild/linux-ppc64@0.24.2': + optional: true + '@esbuild/linux-riscv64@0.18.20': optional: true @@ -4382,6 +4653,9 @@ snapshots: '@esbuild/linux-riscv64@0.24.0': optional: true + '@esbuild/linux-riscv64@0.24.2': + optional: true + '@esbuild/linux-s390x@0.18.20': optional: true @@ -4391,6 +4665,9 @@ snapshots: '@esbuild/linux-s390x@0.24.0': optional: true + '@esbuild/linux-s390x@0.24.2': + optional: true + '@esbuild/linux-x64@0.18.20': optional: true @@ -4400,6 +4677,12 @@ snapshots: '@esbuild/linux-x64@0.24.0': optional: true + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + '@esbuild/netbsd-x64@0.18.20': optional: true @@ -4409,9 +4692,15 @@ snapshots: '@esbuild/netbsd-x64@0.24.0': optional: true + '@esbuild/netbsd-x64@0.24.2': + optional: true + '@esbuild/openbsd-arm64@0.24.0': optional: true + '@esbuild/openbsd-arm64@0.24.2': + optional: true + '@esbuild/openbsd-x64@0.18.20': optional: true @@ -4421,6 +4710,9 @@ snapshots: '@esbuild/openbsd-x64@0.24.0': optional: true + '@esbuild/openbsd-x64@0.24.2': + optional: true + '@esbuild/sunos-x64@0.18.20': optional: true @@ -4430,6 +4722,9 @@ snapshots: '@esbuild/sunos-x64@0.24.0': optional: true + '@esbuild/sunos-x64@0.24.2': + optional: true + '@esbuild/win32-arm64@0.18.20': optional: true @@ -4439,6 +4734,9 @@ snapshots: '@esbuild/win32-arm64@0.24.0': optional: true + '@esbuild/win32-arm64@0.24.2': + optional: true + '@esbuild/win32-ia32@0.18.20': optional: true @@ -4448,6 +4746,9 @@ snapshots: '@esbuild/win32-ia32@0.24.0': optional: true + '@esbuild/win32-ia32@0.24.2': + optional: true + '@esbuild/win32-x64@0.18.20': optional: true @@ -4457,6 +4758,9 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true + '@esbuild/win32-x64@0.24.2': + optional: true + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': @@ -4586,12 +4890,12 @@ snapshots: dependencies: archiver: 5.3.2 - '@nightwatch/vue@3.1.2(@types/node@22.9.3)(vue@3.5.13(typescript@5.6.3))': + '@nightwatch/vue@3.1.2(@types/node@22.10.2)(vue@3.5.13(typescript@5.6.3))': dependencies: '@nightwatch/esbuild-utils': 0.2.1 - '@vitejs/plugin-vue': 4.6.2(vite@4.5.5(@types/node@22.9.3))(vue@3.5.13(typescript@5.6.3)) + '@vitejs/plugin-vue': 4.6.2(vite@4.5.5(@types/node@22.10.2))(vue@3.5.13(typescript@5.6.3)) get-port: 5.1.1 - vite: 4.5.5(@types/node@22.9.3) + vite: 4.5.5(@types/node@22.10.2) vite-plugin-nightwatch: 0.4.6 optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -4613,9 +4917,9 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.49.0': + '@playwright/test@1.49.1': dependencies: - playwright: 1.49.0 + playwright: 1.49.1 '@polka/url@1.0.0-next.28': {} @@ -4675,6 +4979,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true + '@sec-ant/readable-stream@0.4.1': {} + '@sideway/address@4.1.5': dependencies: '@hapi/hoek': 9.3.0 @@ -4683,6 +4989,8 @@ snapshots: '@sideway/pinpoint@2.0.0': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 @@ -4727,12 +5035,12 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 22.9.3 + '@types/node': 22.10.2 optional: true '@types/jsdom@21.1.7': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 @@ -4740,28 +5048,28 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 optional: true '@types/nightwatch@2.3.32': dependencies: '@types/chai': 5.0.0 - '@types/node': 22.9.3 + '@types/node': 22.10.2 '@types/selenium-webdriver': 4.1.26 devtools-protocol: 0.0.1025565 - '@types/node@22.9.3': + '@types/node@22.10.2': dependencies: - undici-types: 6.19.8 + undici-types: 6.20.0 '@types/prompts@2.4.9': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 kleur: 3.0.3 '@types/selenium-webdriver@4.1.26': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 '@types/ws': 8.5.12 '@types/sinonjs__fake-timers@8.1.1': {} @@ -4772,70 +5080,70 @@ snapshots: '@types/ws@8.5.12': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 optional: true - '@vitejs/plugin-vue-jsx@4.1.1(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue-jsx@4.1.1(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) - vite: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + vite: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@22.9.3))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@22.10.2))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 4.5.5(@types/node@22.9.3) + vite: 4.5.5(@types/node@22.10.2) vue: 3.5.13(typescript@5.6.3) - '@vitejs/plugin-vue@5.2.1(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + vite: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) vue: 3.5.13(typescript@5.6.3) - '@vitest/expect@2.1.5': + '@vitest/expect@2.1.8': dependencies: - '@vitest/spy': 2.1.5 - '@vitest/utils': 2.1.5 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.9.3))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2))': dependencies: - '@vitest/spy': 2.1.5 + '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.11(@types/node@22.9.3) + vite: 5.4.11(@types/node@22.10.2) - '@vitest/pretty-format@2.1.5': + '@vitest/pretty-format@2.1.8': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.1.5': + '@vitest/runner@2.1.8': dependencies: - '@vitest/utils': 2.1.5 + '@vitest/utils': 2.1.8 pathe: 1.1.2 - '@vitest/snapshot@2.1.5': + '@vitest/snapshot@2.1.8': dependencies: - '@vitest/pretty-format': 2.1.5 + '@vitest/pretty-format': 2.1.8 magic-string: 0.30.12 pathe: 1.1.2 - '@vitest/spy@2.1.5': + '@vitest/spy@2.1.8': dependencies: tinyspy: 3.0.2 - '@vitest/utils@2.1.5': + '@vitest/utils@2.1.8': dependencies: - '@vitest/pretty-format': 2.1.5 + '@vitest/pretty-format': 2.1.8 loupe: 3.1.2 tinyrainbow: 1.2.0 @@ -4937,21 +5245,21 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-core@7.6.5(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3))': + '@vue/devtools-core@7.6.8(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3))': dependencies: - '@vue/devtools-kit': 7.6.5 - '@vue/devtools-shared': 7.6.5 + '@vue/devtools-kit': 7.6.8 + '@vue/devtools-shared': 7.6.8 mitt: 3.0.1 - nanoid: 3.3.7 + nanoid: 5.0.9 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1)) + vite-hot-client: 0.2.4(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1)) vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - vite - '@vue/devtools-kit@7.6.5': + '@vue/devtools-kit@7.6.8': dependencies: - '@vue/devtools-shared': 7.6.5 + '@vue/devtools-shared': 7.6.8 birpc: 0.2.19 hookable: 5.5.3 mitt: 3.0.1 @@ -4959,7 +5267,7 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.1 - '@vue/devtools-shared@7.6.5': + '@vue/devtools-shared@7.6.8': dependencies: rfdc: 1.4.1 @@ -5031,7 +5339,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -5162,9 +5470,9 @@ snapshots: axe-core@4.10.0: {} - axios@1.7.7(debug@4.3.7): + axios@1.7.7(debug@4.4.0): dependencies: - follow-redirects: 1.15.9(debug@4.3.7) + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -5319,10 +5627,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chromedriver@131.0.1: + chromedriver@131.0.4: dependencies: '@testim/chrome-version': 1.1.4 - axios: 1.7.7(debug@4.3.7) + axios: 1.7.7(debug@4.4.0) compare-versions: 6.1.1 extract-zip: 2.0.1(supports-color@8.1.1) proxy-agent: 6.4.0 @@ -5435,13 +5743,19 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + cssstyle@4.1.0: dependencies: rrweb-cssom: 0.7.1 csstype@3.1.3: {} - cypress@13.16.0: + cypress@13.17.0: dependencies: '@cypress/request': 3.0.6 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) @@ -5460,7 +5774,7 @@ snapshots: commander: 6.2.1 common-tags: 1.8.2 dayjs: 1.11.13 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) enquirer: 2.4.1 eventemitter2: 6.4.7 execa: 4.1.0 @@ -5520,7 +5834,11 @@ snapshots: optionalDependencies: supports-color: 8.1.1 - debug@4.3.7(supports-color@8.1.1): + debug@4.3.7: + dependencies: + ms: 2.1.3 + + debug@4.4.0(supports-color@8.1.1): dependencies: ms: 2.1.3 optionalDependencies: @@ -5725,9 +6043,9 @@ snapshots: esbuild-openbsd-64@0.15.18: optional: true - esbuild-plugin-license@1.2.3(esbuild@0.24.0): + esbuild-plugin-license@1.2.3(esbuild@0.24.2): dependencies: - esbuild: 0.24.0 + esbuild: 0.24.2 esbuild-sunos-64@0.15.18: optional: true @@ -5844,6 +6162,34 @@ snapshots: '@esbuild/win32-ia32': 0.24.0 '@esbuild/win32-x64': 0.24.0 + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -5886,7 +6232,7 @@ snapshots: execa@4.1.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 5.2.0 human-signals: 1.1.1 is-stream: 2.0.1 @@ -5920,6 +6266,21 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + execa@9.5.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.2.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 + executable@4.1.1: dependencies: pify: 2.3.0 @@ -5930,7 +6291,7 @@ snapshots: extract-zip@2.0.1(supports-color@8.1.1): dependencies: - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -5955,6 +6316,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -5970,9 +6335,9 @@ snapshots: flat@5.0.2: {} - follow-redirects@1.15.9(debug@4.3.7): + follow-redirects@1.15.9(debug@4.4.0): optionalDependencies: - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) for-each@0.3.3: dependencies: @@ -5980,7 +6345,7 @@ snapshots: foreground-child@3.3.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 forever-agent@0.6.1: {} @@ -6063,11 +6428,16 @@ snapshots: get-stream@8.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-uri@6.0.3: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -6155,7 +6525,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -6168,7 +6538,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -6178,6 +6548,8 @@ snapshots: human-signals@5.0.0: {} + human-signals@8.0.0: {} + husky@9.1.7: {} iconv-lite@0.6.3: @@ -6284,6 +6656,8 @@ snapshots: is-plain-obj@2.1.0: {} + is-plain-obj@4.1.0: {} + is-potential-custom-element-name@1.0.1: {} is-regex@1.1.4: @@ -6301,6 +6675,8 @@ snapshots: is-stream@3.0.0: {} + is-stream@4.0.1: {} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 @@ -6313,6 +6689,8 @@ snapshots: is-unicode-supported@0.1.0: {} + is-unicode-supported@2.1.0: {} + is-url@1.2.4: {} is-weakmap@2.0.2: {} @@ -6493,20 +6871,20 @@ snapshots: dependencies: immediate: 3.0.6 - lilconfig@3.1.2: {} + lilconfig@3.1.3: {} - lint-staged@15.2.10: + lint-staged@15.2.11: dependencies: chalk: 5.3.0 commander: 12.1.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) execa: 8.0.1 - lilconfig: 3.1.2 + lilconfig: 3.1.3 listr2: 8.2.5 micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.5.1 + yaml: 2.6.1 transitivePeerDependencies: - supports-color @@ -6690,13 +7068,15 @@ snapshots: nanoid@3.3.7: {} + nanoid@5.0.9: {} + netmask@2.0.2: {} nightwatch-axe-verbose@2.3.1: dependencies: axe-core: 4.10.0 - nightwatch@3.9.0(chromedriver@131.0.1)(geckodriver@5.0.0): + nightwatch@3.9.0(chromedriver@131.0.4)(geckodriver@5.0.0): dependencies: '@nightwatch/chai': 5.0.3 '@nightwatch/html-reporter-template': 0.3.0 @@ -6733,7 +7113,7 @@ snapshots: untildify: 4.0.0 uuid: 8.3.2 optionalDependencies: - chromedriver: 131.0.1 + chromedriver: 131.0.4 geckodriver: 5.0.0 transitivePeerDependencies: - bufferutil @@ -6767,10 +7147,10 @@ snapshots: npm-normalize-package-bin@4.0.0: {} - npm-run-all2@7.0.1: + npm-run-all2@7.0.2: dependencies: ansi-styles: 6.2.1 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 memorystream: 0.3.1 minimatch: 9.0.5 pidtree: 0.6.0 @@ -6786,6 +7166,11 @@ snapshots: dependencies: path-key: 4.0.0 + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + nwsapi@2.2.13: {} object-inspect@1.13.2: {} @@ -6863,7 +7248,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.1 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) get-uri: 6.0.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 @@ -6881,6 +7266,8 @@ snapshots: pako@1.0.11: {} + parse-ms@4.0.0: {} + parse5@7.1.2: dependencies: entities: 4.5.0 @@ -6928,23 +7315,25 @@ snapshots: pify@2.3.0: {} - pinia@2.2.6(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)): + pinia@2.3.0(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 vue: 3.5.13(typescript@5.6.3) vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3)) optionalDependencies: typescript: 5.6.3 + transitivePeerDependencies: + - '@vue/composition-api' piscina@4.7.0: optionalDependencies: '@napi-rs/nice': 1.0.1 - playwright-core@1.49.0: {} + playwright-core@1.49.1: {} - playwright@1.49.0: + playwright@1.49.1: dependencies: - playwright-core: 1.49.0 + playwright-core: 1.49.1 optionalDependencies: fsevents: 2.3.2 @@ -6956,10 +7345,14 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - prettier@3.3.3: {} + prettier@3.4.2: {} pretty-bytes@5.6.0: {} + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + process-nextick-args@2.0.1: {} process@0.11.10: {} @@ -6974,7 +7367,7 @@ snapshots: proxy-agent@6.4.0: dependencies: agent-base: 7.1.1 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -7218,7 +7611,7 @@ snapshots: socks-proxy-agent@8.0.4: dependencies: agent-base: 7.1.1 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -7259,16 +7652,16 @@ snapshots: dependencies: type-fest: 0.7.1 - start-server-and-test@2.0.8: + start-server-and-test@2.0.9: dependencies: arg: 5.0.2 bluebird: 3.7.2 check-more-types: 2.24.0 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) execa: 5.1.1 lazy-ass: 1.6.0 ps-tree: 1.2.0 - wait-on: 8.0.1(debug@4.3.7) + wait-on: 8.0.1(debug@4.4.0) transitivePeerDependencies: - supports-color @@ -7330,6 +7723,8 @@ snapshots: strip-final-newline@3.0.0: {} + strip-final-newline@4.0.0: {} + strip-json-comments@3.1.1: {} superjson@2.2.1: @@ -7426,14 +7821,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@22.9.3)(typescript@5.6.3): + ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.9.3 + '@types/node': 22.10.2 acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -7464,7 +7859,9 @@ snapshots: typescript@5.6.3: {} - undici-types@6.19.8: {} + undici-types@6.20.0: {} + + unicorn-magic@0.3.0: {} universalify@0.2.0: {} @@ -7495,17 +7892,17 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite-hot-client@0.2.3(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1)): + vite-hot-client@0.2.4(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1)): dependencies: - vite: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + vite: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) - vite-node@2.1.5(@types/node@22.9.3): + vite-node@2.1.8(@types/node@22.10.2): dependencies: cac: 6.7.14 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.9.3) + vite: 5.4.11(@types/node@22.10.2) transitivePeerDependencies: - '@types/node' - less @@ -7517,18 +7914,18 @@ snapshots: - supports-color - terser - vite-plugin-inspect@0.8.8(rollup@4.24.0)(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1)): + vite-plugin-inspect@0.8.9(rollup@4.24.0)(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.24.0) - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 open: 10.1.0 perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.0 - vite: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + vite: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) transitivePeerDependencies: - rollup - supports-color @@ -7547,23 +7944,23 @@ snapshots: - supports-color - utf-8-validate - vite-plugin-vue-devtools@7.6.5(rollup@4.24.0)(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3)): + vite-plugin-vue-devtools@7.6.8(rollup@4.24.0)(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)): dependencies: - '@vue/devtools-core': 7.6.5(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1))(vue@3.5.13(typescript@5.6.3)) - '@vue/devtools-kit': 7.6.5 - '@vue/devtools-shared': 7.6.5 - execa: 8.0.1 + '@vue/devtools-core': 7.6.8(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3)) + '@vue/devtools-kit': 7.6.8 + '@vue/devtools-shared': 7.6.8 + execa: 9.5.1 sirv: 3.0.0 - vite: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) - vite-plugin-inspect: 0.8.8(rollup@4.24.0)(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1)) - vite-plugin-vue-inspector: 5.3.0(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1)) + vite: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) + vite-plugin-inspect: 0.8.9(rollup@4.24.0)(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1)) + vite-plugin-vue-inspector: 5.3.1(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.3.0(vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1)): + vite-plugin-vue-inspector@5.3.1(vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1)): dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.26.0) @@ -7574,49 +7971,49 @@ snapshots: '@vue/compiler-dom': 3.5.13 kolorist: 1.8.0 magic-string: 0.30.12 - vite: 6.0.1(@types/node@22.9.3)(yaml@2.5.1) + vite: 6.0.5(@types/node@22.10.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - vite@4.5.5(@types/node@22.9.3): + vite@4.5.5(@types/node@22.10.2): dependencies: esbuild: 0.18.20 postcss: 8.4.49 rollup: 3.29.5 optionalDependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 fsevents: 2.3.3 - vite@5.4.11(@types/node@22.9.3): + vite@5.4.11(@types/node@22.10.2): dependencies: esbuild: 0.21.5 postcss: 8.4.49 rollup: 4.24.0 optionalDependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 fsevents: 2.3.3 - vite@6.0.1(@types/node@22.9.3)(yaml@2.5.1): + vite@6.0.5(@types/node@22.10.2)(yaml@2.6.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 rollup: 4.24.0 optionalDependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 fsevents: 2.3.3 - yaml: 2.5.1 + yaml: 2.6.1 - vitest@2.1.5(@types/node@22.9.3)(jsdom@25.0.1): + vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1): dependencies: - '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.9.3)) - '@vitest/pretty-format': 2.1.5 - '@vitest/runner': 2.1.5 - '@vitest/snapshot': 2.1.5 - '@vitest/spy': 2.1.5 - '@vitest/utils': 2.1.5 + '@vitest/expect': 2.1.8 + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.8 + '@vitest/snapshot': 2.1.8 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 chai: 5.1.2 - debug: 4.3.7(supports-color@8.1.1) + debug: 4.3.7 expect-type: 1.1.0 magic-string: 0.30.12 pathe: 1.1.2 @@ -7625,11 +8022,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.9.3) - vite-node: 2.1.5(@types/node@22.9.3) + vite: 5.4.11(@types/node@22.10.2) + vite-node: 2.1.8(@types/node@22.10.2) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.9.3 + '@types/node': 22.10.2 jsdom: 25.0.1 transitivePeerDependencies: - less @@ -7650,7 +8047,7 @@ snapshots: dependencies: vue: 3.5.13(typescript@5.6.3) - vue-router@4.4.5(vue@3.5.13(typescript@5.6.3)): + vue-router@4.5.0(vue@3.5.13(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 vue: 3.5.13(typescript@5.6.3) @@ -7676,9 +8073,9 @@ snapshots: dependencies: xml-name-validator: 5.0.0 - wait-on@8.0.1(debug@4.3.7): + wait-on@8.0.1(debug@4.4.0): dependencies: - axios: 1.7.7(debug@4.3.7) + axios: 1.7.7(debug@4.4.0) joi: 17.13.3 lodash: 4.17.21 minimist: 1.2.8 @@ -7785,7 +8182,7 @@ snapshots: yallist@4.0.0: {} - yaml@2.5.1: {} + yaml@2.6.1: {} yargs-parser@20.2.4: {} @@ -7815,13 +8212,15 @@ snapshots: yocto-queue@0.1.0: {} + yoctocolors@2.1.1: {} + zip-stream@4.1.1: dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 readable-stream: 3.6.2 - zx@8.2.2: + zx@8.2.4: optionalDependencies: '@types/fs-extra': 11.0.4 - '@types/node': 22.9.3 + '@types/node': 22.10.2 diff --git a/scripts/snapshot.mjs b/scripts/snapshot.mjs index de5de0b0d..1b523a0fb 100644 --- a/scripts/snapshot.mjs +++ b/scripts/snapshot.mjs @@ -8,6 +8,7 @@ if (!/pnpm/.test(process.env.npm_config_user_agent ?? '')) throw new Error("Please use pnpm ('pnpm run snapshot') to generate snapshots!") const featureFlags = [ + 'bare', 'typescript', 'jsx', 'router', @@ -54,12 +55,7 @@ function fullCombination(arr) { } let flagCombinations = fullCombination(featureFlags) -flagCombinations.push( - ['default'], - ['router', 'pinia'], - ['eslint'], - ['eslint-with-prettier'], -) +flagCombinations.push(['default'], ['bare', 'default'], ['eslint'], ['eslint-with-prettier']) // `--with-tests` are equivalent of `--vitest --cypress` // Previously it means `--cypress` without `--vitest`. @@ -85,10 +81,15 @@ for (const flags of flagCombinations) { } // Filter out combinations that are not allowed -flagCombinations = flagCombinations.filter( - (combination) => - !featureFlagsDenylist.some((denylist) => denylist.every((flag) => combination.includes(flag))), -) +flagCombinations = flagCombinations + .filter( + (combination) => + !featureFlagsDenylist.some((denylist) => + denylist.every((flag) => combination.includes(flag)), + ), + ) + // `--bare` is a supplementary flag and should not be used alone + .filter((combination) => !(combination.length === 1 && combination[0] === 'bare')) const bin = path.posix.relative('../playground/', '../outfile.cjs') diff --git a/template/bare/base/src/App.vue b/template/bare/base/src/App.vue new file mode 100644 index 000000000..6ca279f5d --- /dev/null +++ b/template/bare/base/src/App.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/template/bare/cypress-ct/src/__tests__/App.cy.js b/template/bare/cypress-ct/src/__tests__/App.cy.js new file mode 100644 index 000000000..55f8caa1b --- /dev/null +++ b/template/bare/cypress-ct/src/__tests__/App.cy.js @@ -0,0 +1,8 @@ +import App from '../App.vue' + +describe('App', () => { + it('mounts and renders properly', () => { + cy.mount(App) + cy.get('h1').should('contain', 'Hello World') + }) +}) diff --git a/template/bare/nightwatch-ct/src/__tests__/App.spec.js b/template/bare/nightwatch-ct/src/__tests__/App.spec.js new file mode 100644 index 000000000..86cd9e122 --- /dev/null +++ b/template/bare/nightwatch-ct/src/__tests__/App.spec.js @@ -0,0 +1,14 @@ +describe('App', function () { + before((browser) => { + browser.init() + }) + + it('mounts and renders properly', async function () { + const appComponent = await browser.mountComponent('/src/App.vue'); + + browser.expect.element(appComponent).to.be.present; + browser.expect.element('h1').text.to.contain('Hello World'); + }) + + after((browser) => browser.end()) +}) diff --git a/template/bare/typescript/src/App.vue b/template/bare/typescript/src/App.vue new file mode 100644 index 000000000..c2903a622 --- /dev/null +++ b/template/bare/typescript/src/App.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/template/bare/vitest/src/__tests__/App.spec.js b/template/bare/vitest/src/__tests__/App.spec.js new file mode 100644 index 000000000..607fbfbab --- /dev/null +++ b/template/bare/vitest/src/__tests__/App.spec.js @@ -0,0 +1,11 @@ +import { describe, it, expect } from 'vitest' + +import { mount } from '@vue/test-utils' +import App from '../App.vue' + +describe('App', () => { + it('mounts renders properly', () => { + const wrapper = mount(App) + expect(wrapper.text()).toContain('Hello World') + }) +}) diff --git a/template/base/package.json b/template/base/package.json index 0a8466643..6791c922c 100644 --- a/template/base/package.json +++ b/template/base/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", - "vite": "^6.0.1", - "vite-plugin-vue-devtools": "^7.6.5" + "vite": "^6.0.5", + "vite-plugin-vue-devtools": "^7.6.8" } } diff --git a/template/code/default/src/components/TheWelcome.vue b/template/code/default/src/components/TheWelcome.vue index acb6a2da1..e02c38f90 100644 --- a/template/code/default/src/components/TheWelcome.vue +++ b/template/code/default/src/components/TheWelcome.vue @@ -5,6 +5,8 @@ import ToolingIcon from './icons/IconTooling.vue' import EcosystemIcon from './icons/IconEcosystem.vue' import CommunityIcon from './icons/IconCommunity.vue' import SupportIcon from './icons/IconSupport.vue' + +const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md')