diff --git a/docs/generated/packages/vite/executors/test.json b/docs/generated/packages/vite/executors/test.json index 561a924799..fce5afcbd1 100644 --- a/docs/generated/packages/vite/executors/test.json +++ b/docs/generated/packages/vite/executors/test.json @@ -20,6 +20,7 @@ "type": "string", "description": "Directory to write coverage report to." }, + "mode": { "type": "string", "description": "Mode for Vite." }, "testFiles": { "aliases": ["testFile"], "type": "array", diff --git a/package.json b/package.json index b37753d7ed..14626612fc 100644 --- a/package.json +++ b/package.json @@ -290,7 +290,7 @@ "use-sync-external-store": "^1.2.0", "verdaccio": "^5.0.4", "vite": "5.0.8", - "vitest": "^1.0.4", + "vitest": "^1.3.1", "webpack": "5.88.0", "webpack-dev-server": "^4.9.3", "webpack-merge": "^5.8.0", diff --git a/packages/nuxt/src/generators/application/application.spec.ts b/packages/nuxt/src/generators/application/application.spec.ts index 1edbf249fc..a68f86bb83 100644 --- a/packages/nuxt/src/generators/application/application.spec.ts +++ b/packages/nuxt/src/generators/application/application.spec.ts @@ -48,7 +48,7 @@ describe('app', () => { ).toMatchSnapshot(); expect(tree.read('my-app/tsconfig.json', 'utf-8')).toMatchSnapshot(); const packageJson = readJson(tree, 'package.json'); - expect(packageJson.devDependencies['vitest']).toEqual('^1.0.4'); + expect(packageJson.devDependencies['vitest']).toEqual('^1.3.1'); }); it('should configure tsconfig and project.json correctly', () => { diff --git a/packages/vite/migrations.json b/packages/vite/migrations.json index 6a7b8709e3..cd874ecb5f 100644 --- a/packages/vite/migrations.json +++ b/packages/vite/migrations.json @@ -53,6 +53,27 @@ } }, "packageJsonUpdates": { + "18.1.0": { + "version": "18.1.0-beta.1", + "packages": { + "vitest": { + "version": "^1.3.1", + "alwaysAddToPackageJson": false + }, + "@vitest/coverage-v8": { + "version": "^1.3.1", + "alwaysAddToPackageJson": false + }, + "@vitest/ui": { + "version": "^1.3.1", + "alwaysAddToPackageJson": false + }, + "@vitest/coverage-istanbul": { + "version": "^1.3.1", + "alwaysAddToPackageJson": false + } + } + }, "17.3.0": { "version": "17.3.0-beta.0", "packages": { diff --git a/packages/vite/package.json b/packages/vite/package.json index aeb2f523e4..d22dba046d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -38,7 +38,7 @@ }, "peerDependencies": { "vite": "^5.0.0", - "vitest": "^1.0.0" + "vitest": "^1.3.1" }, "publishConfig": { "access": "public" diff --git a/packages/vite/src/executors/test/lib/utils.ts b/packages/vite/src/executors/test/lib/utils.ts index f0a0307a89..4cbe7796fa 100644 --- a/packages/vite/src/executors/test/lib/utils.ts +++ b/packages/vite/src/executors/test/lib/utils.ts @@ -7,13 +7,15 @@ import { import { VitestExecutorOptions } from '../schema'; import { normalizeViteConfigFilePath } from '../../../utils/options-utils'; import { relative } from 'path'; -import { loadViteDynamicImport } from '../../../utils/executor-utils'; +import { + loadViteDynamicImport, + loadVitestDynamicImport, +} from '../../../utils/executor-utils'; export async function getOptions( options: VitestExecutorOptions, context: ExecutorContext, - projectRoot: string, - extraArgs: Record + projectRoot: string ) { // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future. const { loadConfigFromFile, mergeConfig } = await loadViteDynamicImport(); @@ -38,7 +40,7 @@ export async function getOptions( const resolved = await loadConfigFromFile( { - mode: extraArgs?.mode ?? 'production', + mode: options?.mode ?? 'production', command: 'serve', }, viteConfigPath @@ -59,7 +61,12 @@ export async function getOptions( ? process.cwd() : relative(context.cwd, joinPathFragments(context.root, projectRoot)); - const normalizedExtraArgs = normalizeArgs(extraArgs); + const { parseCLI } = await loadVitestDynamicImport(); + + const normalizedExtraArgs = parseCLI([ + 'vitest', + ...getOptionsAsArgv(options), + ]); const settings = { ...normalizedExtraArgs, @@ -72,42 +79,18 @@ export async function getOptions( return mergeConfig(resolved?.config?.['test'] ?? {}, settings); } -export async function getExtraArgs( - options: VitestExecutorOptions -): Promise> { - // support passing extra args to vite cli - const extraArgs: Record = {}; - for (const key of Object.keys(options)) { - extraArgs[key] = options[key]; +export function getOptionsAsArgv(obj: Record): string[] { + const argv: string[] = []; + + for (const [key, value] of Object.entries(obj)) { + if (Array.isArray(value)) { + value.forEach((item) => argv.push(`--${key}=${item}`)); + } else if (typeof value === 'object' && value !== null) { + argv.push(`--${key}='${JSON.stringify(value)}'`); + } else { + argv.push(`--${key}=${value}`); + } } - return extraArgs; -} - -// normalizes some args that were previously normalized by `startVitest` until this is fixed -// https://github.com/vitest-dev/vitest/pull/5126/files#diff-49ef635be88fe607c8682e81ab56b061ba9aafd5c94a5690a70b90a54604cd24L40-L62 -function normalizeArgs(extraArgs: Record) { - const args = { ...extraArgs }; - - if (typeof args.coverage === 'boolean') { - args.coverage = { enabled: args.coverage }; - } - // running "vitest --browser", assumes browser name is set in the config - if (typeof args.browser === 'boolean') { - args.browser = { enabled: args.browser } as any; - } - // running "vitest --browser=chrome" - if (typeof args.browser === 'string') { - args.browser = { enabled: true, name: args.browser }; - } - if (typeof args.typecheck === 'boolean') { - args.typecheck = { enabled: true }; - } - if (typeof args.typecheck?.only === 'boolean') { - args.typecheck ??= {}; - args.typecheck.only = true; - args.typecheck.enabled = true; - } - - return args; + return argv; } diff --git a/packages/vite/src/executors/test/schema.d.ts b/packages/vite/src/executors/test/schema.d.ts index 8e2855f945..fb728d1065 100644 --- a/packages/vite/src/executors/test/schema.d.ts +++ b/packages/vite/src/executors/test/schema.d.ts @@ -3,4 +3,5 @@ export interface VitestExecutorOptions { reportsDirectory?: string; testFiles?: string[]; watch?: boolean; + mode?: string; } diff --git a/packages/vite/src/executors/test/schema.json b/packages/vite/src/executors/test/schema.json index b57afb5bad..1ca14b012e 100644 --- a/packages/vite/src/executors/test/schema.json +++ b/packages/vite/src/executors/test/schema.json @@ -17,6 +17,10 @@ "type": "string", "description": "Directory to write coverage report to." }, + "mode": { + "type": "string", + "description": "Mode for Vite." + }, "testFiles": { "aliases": ["testFile"], "type": "array", diff --git a/packages/vite/src/executors/test/vitest.impl.ts b/packages/vite/src/executors/test/vitest.impl.ts index cf54acc79f..2671098fb5 100644 --- a/packages/vite/src/executors/test/vitest.impl.ts +++ b/packages/vite/src/executors/test/vitest.impl.ts @@ -3,7 +3,8 @@ import { VitestExecutorOptions } from './schema'; import { resolve } from 'path'; import { registerTsConfigPaths } from '@nx/js/src/internal'; import { NxReporter } from './lib/nx-reporter'; -import { getExtraArgs, getOptions } from './lib/utils'; +import { getOptions } from './lib/utils'; +import { loadVitestDynamicImport } from '../../utils/executor-utils'; export async function* vitestExecutor( options: VitestExecutorOptions, @@ -16,13 +17,10 @@ export async function* vitestExecutor( process.env.VITE_CJS_IGNORE_WARNING = 'true'; // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future. - const { startVitest } = await (Function( - 'return import("vitest/node")' - )() as Promise); + const { startVitest } = await loadVitestDynamicImport(); - const extraArgs = await getExtraArgs(options); const resolvedOptions = - (await getOptions(options, context, projectRoot, extraArgs)) ?? {}; + (await getOptions(options, context, projectRoot)) ?? {}; const nxReporter = new NxReporter(resolvedOptions['watch']); if (resolvedOptions['reporters'] === undefined) { diff --git a/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap b/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap index 59f6d546a4..cd122bb659 100644 --- a/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap +++ b/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap @@ -8,10 +8,10 @@ exports[`@nx/vite:init dependencies for package.json should add required package "devDependencies": { "@nx/vite": "0.0.1", "@nx/web": "0.0.1", - "@vitest/ui": "^1.0.4", + "@vitest/ui": "^1.3.1", "existing": "1.0.0", "vite": "~5.0.0", - "vitest": "^1.0.4", + "vitest": "^1.3.1", }, "name": "@proj/source", } diff --git a/packages/vite/src/utils/executor-utils.ts b/packages/vite/src/utils/executor-utils.ts index b9e4a39e60..f92d0a555f 100644 --- a/packages/vite/src/utils/executor-utils.ts +++ b/packages/vite/src/utils/executor-utils.ts @@ -61,3 +61,9 @@ export function createBuildableTsConfig( export function loadViteDynamicImport() { return Function('return import("vite")')() as Promise; } + +export function loadVitestDynamicImport() { + return Function('return import("vitest/node")')() as Promise< + typeof import('vitest/node') + >; +} diff --git a/packages/vite/src/utils/versions.ts b/packages/vite/src/utils/versions.ts index c9f67abfb5..503ba3005f 100644 --- a/packages/vite/src/utils/versions.ts +++ b/packages/vite/src/utils/versions.ts @@ -1,6 +1,6 @@ export const nxVersion = require('../../package.json').version; export const viteVersion = '~5.0.0'; -export const vitestVersion = '^1.0.4'; +export const vitestVersion = '^1.3.1'; export const vitePluginReactVersion = '^4.2.0'; export const vitePluginReactSwcVersion = '^3.5.0'; export const jsdomVersion = '~22.1.0'; diff --git a/packages/vue/src/generators/library/__snapshots__/library.spec.ts.snap b/packages/vue/src/generators/library/__snapshots__/library.spec.ts.snap index a76c7e4714..24344575ab 100644 --- a/packages/vue/src/generators/library/__snapshots__/library.spec.ts.snap +++ b/packages/vue/src/generators/library/__snapshots__/library.spec.ts.snap @@ -186,7 +186,7 @@ exports[`lib should add vue, vite and vitest to package.json 1`] = ` "@typescript-eslint/parser": "^6.13.2", "@vitejs/plugin-vue": "^4.5.0", "@vitest/coverage-v8": "^1.0.4", - "@vitest/ui": "^1.0.4", + "@vitest/ui": "^1.3.1", "@vue/eslint-config-prettier": "7.1.0", "@vue/eslint-config-typescript": "^11.0.3", "@vue/test-utils": "^2.4.1", @@ -197,7 +197,7 @@ exports[`lib should add vue, vite and vitest to package.json 1`] = ` "prettier": "^2.6.2", "typescript": "~5.3.2", "vite": "~5.0.0", - "vitest": "^1.0.4", + "vitest": "^1.3.1", "vue-tsc": "^1.8.8", }, "name": "@proj/source", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 25f4e77276..3245c32060 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,9 +1,5 @@ lockfileVersion: '6.0' -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - overrides: minimist: ^1.2.6 underscore: ^1.12.1 @@ -250,7 +246,7 @@ devDependencies: version: 9.1.6(@nestjs/common@9.1.6)(@nestjs/core@9.1.6) '@nestjs/schematics': specifier: ^9.1.0 - version: 9.1.0(typescript@5.3.3) + version: 9.1.0(chokidar@3.5.3)(typescript@4.9.4) '@nestjs/swagger': specifier: ^6.0.0 version: 6.1.3(@nestjs/common@9.1.6)(@nestjs/core@9.1.6)(reflect-metadata@0.1.14) @@ -310,7 +306,7 @@ devDependencies: version: 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(cypress@13.0.0)(js-yaml@4.1.0)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4) '@nx/vite': specifier: 18.1.0-beta.1 - version: 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.0.4) + version: 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.3.1) '@nx/web': specifier: 18.1.0-beta.1 version: 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4) @@ -945,8 +941,8 @@ devDependencies: specifier: 5.0.8 version: 5.0.8(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) vitest: - specifier: ^1.0.4 - version: 1.0.4(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + specifier: ^1.3.1 + version: 1.3.1(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) webpack: specifier: 5.88.0 version: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5) @@ -6201,7 +6197,7 @@ packages: jest-validate: 29.7.0 jest-watcher: 29.5.0 micromatch: 4.0.5 - pretty-format: 29.4.3 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -6977,20 +6973,6 @@ packages: - chokidar dev: true - /@nestjs/schematics@9.1.0(typescript@5.3.3): - resolution: {integrity: sha512-/7CyMTnPJSK9/xD9CkCqwuHPOlHVlLC2RDnbdCJ7mIO07SdbBbY14msTqtYW9VRQtsjZPLh1GTChf7ryJUImwA==} - peerDependencies: - typescript: '>=4.3.5' - dependencies: - '@angular-devkit/core': 15.2.4(chokidar@3.5.3) - '@angular-devkit/schematics': 15.2.4(chokidar@3.5.3) - jsonc-parser: 3.2.0 - pluralize: 8.0.0 - typescript: 5.3.3 - transitivePeerDependencies: - - chokidar - dev: true - /@nestjs/swagger@6.1.3(@nestjs/common@9.1.6)(@nestjs/core@9.1.6)(reflect-metadata@0.1.14): resolution: {integrity: sha512-H9C/yRgLFb5QrAt6iGrYmIX9X7Q0zXkgZaTNUATljUBra+RCWrEUbLHBcGjTAOtcIyGV/vmyCLv68YSVcZoE0Q==} peerDependencies: @@ -7612,10 +7594,10 @@ packages: - debug dev: true - /@nrwl/vite@18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.0.4): + /@nrwl/vite@18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.3.1): resolution: {integrity: sha512-AECmGPhW1lTDIAuRFgGCEHxjaKrTCs3R7LL2l/J3zL+d56d/XDnZwB3o5E5xvCwoHWY0vGoAjDtCF2GHv1/oiA==} dependencies: - '@nx/vite': 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.0.4) + '@nx/vite': 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.3.1) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -7901,8 +7883,8 @@ packages: ufo: 1.3.2 unenv: 1.9.0 unplugin: 1.6.0 - vite: 5.0.12(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) - vite-node: 1.2.2(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + vite: 5.0.12(@types/node@18.19.8)(less@4.2.0)(sass@1.70.0)(stylus@0.59.0)(terser@5.27.0) + vite-node: 1.3.1(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) vite-plugin-checker: 0.6.4(eslint@8.48.0)(typescript@5.3.3)(vite@5.0.12) vue: 3.4.15(typescript@5.3.3) vue-bundle-renderer: 2.0.0 @@ -8635,13 +8617,13 @@ packages: - verdaccio dev: true - /@nx/vite@18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.0.4): + /@nx/vite@18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.3.1): resolution: {integrity: sha512-/6NGrYBVwTIxcVijZP5wAqH4ZeV+1bvOex5fXePj5nBHKEtGbP82TS43O0x4yDAXo6gP6ugLKrSU5FwhXrDWDw==} peerDependencies: vite: ^5.0.0 vitest: ^1.0.0 dependencies: - '@nrwl/vite': 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.0.4) + '@nrwl/vite': 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4)(vite@5.0.8)(vitest@1.3.1) '@nx/devkit': 18.1.0-beta.1(nx@18.1.0-beta.1) '@nx/js': 18.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@18.1.0-beta.1)(typescript@5.3.3)(verdaccio@5.15.4) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.3.3) @@ -8649,7 +8631,7 @@ packages: enquirer: 2.3.6 tsconfig-paths: 4.1.2 vite: 5.0.8(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) - vitest: 1.0.4(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + vitest: 1.3.1(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -13464,7 +13446,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.23.9) - vite: 5.0.12(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + vite: 5.0.12(@types/node@18.19.8)(less@4.2.0)(sass@1.70.0)(stylus@0.59.0)(terser@5.27.0) vue: 3.4.15(typescript@5.3.3) transitivePeerDependencies: - supports-color @@ -13477,44 +13459,45 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.12(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + vite: 5.0.12(@types/node@18.19.8)(less@4.2.0)(sass@1.70.0)(stylus@0.59.0)(terser@5.27.0) vue: 3.4.15(typescript@5.3.3) dev: true - /@vitest/expect@1.0.4: - resolution: {integrity: sha512-/NRN9N88qjg3dkhmFcCBwhn/Ie4h064pY3iv7WLRsDJW7dXnEgeoa8W9zy7gIPluhz6CkgqiB3HmpIXgmEY5dQ==} + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} dependencies: - '@vitest/spy': 1.0.4 - '@vitest/utils': 1.0.4 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 chai: 4.3.10 dev: true - /@vitest/runner@1.0.4: - resolution: {integrity: sha512-rhOQ9FZTEkV41JWXozFM8YgOqaG9zA7QXbhg5gy6mFOVqh4PcupirIJ+wN7QjeJt8S8nJRYuZH1OjJjsbxAXTQ==} + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} dependencies: - '@vitest/utils': 1.0.4 + '@vitest/utils': 1.3.1 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.0.4: - resolution: {integrity: sha512-vkfXUrNyNRA/Gzsp2lpyJxh94vU2OHT1amoD6WuvUAA12n32xeVZQ0KjjQIf8F6u7bcq2A2k969fMVxEsxeKYA==} + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} dependencies: magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.0.4: - resolution: {integrity: sha512-9ojTFRL1AJVh0hvfzAQpm0QS6xIS+1HFIw94kl/1ucTfGCaj1LV/iuJU4Y6cdR03EzPDygxTHwE1JOm+5RCcvA==} + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.0.4: - resolution: {integrity: sha512-gsswWDXxtt0QvtK/y/LWukN7sGMYmnCcv1qv05CsY6cU/Y1zpGX1QuvLs+GO1inczpE6Owixeel3ShkjhYtGfA==} + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} dependencies: diff-sequences: 29.6.3 + estree-walker: 3.0.3 loupe: 2.3.7 pretty-format: 29.7.0 dev: true @@ -14014,7 +13997,7 @@ packages: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: acorn: 8.11.3 - acorn-walk: 8.3.1 + acorn-walk: 8.3.2 dev: true /acorn-import-assertions@1.9.0(acorn@8.11.3): @@ -14064,8 +14047,8 @@ packages: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - /acorn-walk@8.3.1: - resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} dev: true @@ -15729,7 +15712,7 @@ packages: check-error: 1.0.3 deep-eql: 4.1.3 get-func-name: 2.0.2 - loupe: 2.3.6 + loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 dev: true @@ -21801,7 +21784,7 @@ packages: jest-snapshot: 29.5.0 jest-util: 29.7.0 p-limit: 3.1.0 - pretty-format: 29.5.0 + pretty-format: 29.7.0 pure-rand: 6.0.1 slash: 3.0.0 stack-utils: 2.0.5 @@ -22329,7 +22312,7 @@ packages: chalk: 4.1.2 jest-get-type: 29.4.3 leven: 3.1.0 - pretty-format: 29.5.0 + pretty-format: 29.7.0 dev: true /jest-validate@29.7.0: @@ -23209,13 +23192,6 @@ packages: dependencies: js-tokens: 4.0.0 - /loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} - deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5 - dependencies: - get-func-name: 2.0.2 - dev: true - /loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: @@ -26141,10 +26117,6 @@ packages: engines: {node: '>=12'} dev: true - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - dev: true - /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true @@ -30161,10 +30133,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /std-env@3.6.0: - resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} - dev: true - /std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true @@ -31075,8 +31043,8 @@ packages: resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true - /tinypool@0.8.1: - resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} engines: {node: '>=14.0.0'} dev: true @@ -32444,29 +32412,8 @@ packages: - terser dev: true - /vite-node@1.0.4(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): - resolution: {integrity: sha512-9xQQtHdsz5Qn8hqbV7UKqkm8YkJhzT/zr41Dmt5N7AlD8hJXw/Z7y0QiD5I8lnTthV9Rvcvi0QW7PI0Fq83ZPg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.0.8(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node@1.2.2(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): - resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} + /vite-node@1.3.1(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -32530,7 +32477,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.0.12(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + vite: 5.0.12(@types/node@18.19.8)(less@4.2.0)(sass@1.70.0)(stylus@0.59.0)(terser@5.27.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -32621,45 +32568,6 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.0.12(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.19.8 - esbuild: 0.19.5 - less: 4.1.3 - postcss: 8.4.35 - rollup: 4.9.6 - sass: 1.55.0 - stylus: 0.59.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@5.0.12(@types/node@18.19.8)(less@4.2.0)(sass@1.70.0)(stylus@0.59.0)(terser@5.27.0): resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} engines: {node: ^18.0.0 || >=20.0.0} @@ -32739,15 +32647,15 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.0.4(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): - resolution: {integrity: sha512-s1GQHp/UOeWEo4+aXDOeFBJwFzL6mjycbQwwKWX2QcYfh/7tIerS59hWQ20mxzupTJluA2SdwiBuWwQHH67ckg==} + /vitest@1.3.1(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': ^1.0.0 - '@vitest/ui': ^1.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -32765,26 +32673,25 @@ packages: optional: true dependencies: '@types/node': 18.19.8 - '@vitest/expect': 1.0.4 - '@vitest/runner': 1.0.4 - '@vitest/snapshot': 1.0.4 - '@vitest/spy': 1.0.4 - '@vitest/utils': 1.0.4 - acorn-walk: 8.3.1 - cac: 6.7.14 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 chai: 4.3.10 debug: 4.3.4(supports-color@5.5.0) execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.7 + pathe: 1.1.2 picocolors: 1.0.0 - std-env: 3.6.0 - strip-literal: 1.3.0 + std-env: 3.7.0 + strip-literal: 2.0.0 tinybench: 2.5.1 - tinypool: 0.8.1 + tinypool: 0.8.2 vite: 5.0.8(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) - vite-node: 1.0.4(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + vite-node: 1.3.1(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -33822,3 +33729,7 @@ packages: /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false