From 6bbaea29467b5f5d31d5e2b3a1126adbd4d42b98 Mon Sep 17 00:00:00 2001 From: ChengLei Shao Date: Sun, 31 Mar 2024 10:07:18 +0800 Subject: [PATCH] feat: run vitest with coverage (#3802) * chore: vitest coverage * chore: vitest coverage config * chore: vitest coverage config * chore: vitest coverage config * chore: report storage dir * chore: exclude lib dir * chore: coverage report dir * fix: client and server coverage * fix: bug * fix: coverage storage dir --------- Co-authored-by: dream2023 <1098626505@qq.com> --- .gitignore | 1 + package.json | 2 + packages/core/cli/src/commands/index.js | 1 + .../core/cli/src/commands/test-coverage.js | 44 +++ packages/core/cli/src/commands/test.js | 10 + packages/core/test/package.json | 3 + packages/core/test/vitest.mjs | 229 ++++++++++----- .../__tests__/data/field_linkto.ts | 0 .../{ => server}/__tests__/data/field_m2m.ts | 0 .../{ => server}/__tests__/data/field_o2m.ts | 0 .../{ => server}/__tests__/data/field_o2o.ts | 0 .../__tests__/data/snap_linkto.ts | 0 .../{ => server}/__tests__/data/snap_m2m.ts | 0 .../{ => server}/__tests__/data/snap_o2m.ts | 0 .../{ => server}/__tests__/data/snap_o2o.ts | 0 .../{ => server}/__tests__/data/table_a.ts | 0 .../{ => server}/__tests__/data/table_b.ts | 0 .../{ => server}/__tests__/data/table_m2m.ts | 0 .../__tests__/fieldsHistory.test.ts | 0 .../{ => server}/__tests__/snapshots.test.ts | 0 yarn.lock | 278 +++++++++++++++++- 21 files changed, 488 insertions(+), 80 deletions(-) create mode 100644 packages/core/cli/src/commands/test-coverage.js rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/field_linkto.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/field_m2m.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/field_o2m.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/field_o2o.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/snap_linkto.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/snap_m2m.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/snap_o2m.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/snap_o2o.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/table_a.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/table_b.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/data/table_m2m.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/fieldsHistory.test.ts (100%) rename packages/plugins/@nocobase/plugin-snapshot-field/src/{ => server}/__tests__/snapshots.test.ts (100%) diff --git a/.gitignore b/.gitignore index d1badae95..e67138020 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ tsconfig.paths.json ncc-cache/ yarn--** v8-compile-cache-** +vitest.config.mts.timestamp-* diff --git a/package.json b/package.json index 2bc49fdcc..cc28b0357 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,9 @@ "tar": "nocobase tar", "test": "nocobase test", "test:server": "nocobase test:server", + "test:server-coverage": "nocobase test-coverage:server", "test:client": "nocobase test:client", + "test:client-coverage": "nocobase test-coverage:client", "e2e": "nocobase e2e", "ts": "nocobase test:server", "tc": "nocobase test:client", diff --git a/packages/core/cli/src/commands/index.js b/packages/core/cli/src/commands/index.js index 2dc619c51..c75d9a2db 100644 --- a/packages/core/cli/src/commands/index.js +++ b/packages/core/cli/src/commands/index.js @@ -18,6 +18,7 @@ module.exports = (cli) => { require('./doc')(cli); require('./pm2')(cli); require('./test')(cli); + require('./test-coverage')(cli); require('./umi')(cli); require('./upgrade')(cli); require('./postinstall')(cli); diff --git a/packages/core/cli/src/commands/test-coverage.js b/packages/core/cli/src/commands/test-coverage.js new file mode 100644 index 000000000..cecb3ba4a --- /dev/null +++ b/packages/core/cli/src/commands/test-coverage.js @@ -0,0 +1,44 @@ +const { run } = require('../util'); +const fg = require('fast-glob'); + +const coreClientPackages = ['packages/core/client', 'packages/core/sdk']; +const isCore = (dir) => dir.startsWith('packages/core'); + +const getPackagesDir = (isClient) => { + if (process.argv.length > 3 && !process.argv[3].startsWith('-')) { + return [process.argv[3]]; + } + + const allPackageJson = fg.sync(['packages/*/*/package.json', 'packages/*/*/*/package.json'], { + cwd: process.cwd(), + onlyFiles: true, + }); + const res = allPackageJson.map((pkg) => pkg.replace('/package.json', '')); + return isClient + ? res.filter((dir) => (isCore(dir) ? coreClientPackages.includes(dir) : true)) + : res.filter((dir) => (isCore(dir) ? !coreClientPackages.includes(dir) : true)); +}; + +module.exports = (cli) => { + cli.command('test-coverage:server').action(async () => { + const packageRoots = getPackagesDir(false); + for (const dir of packageRoots) { + try { + await run('yarn', ['test:server', '--coverage', dir]); + } catch (e) { + continue; + } + } + }); + + cli.command('test-coverage:client').action(async () => { + const packageRoots = getPackagesDir(true); + for (const dir of packageRoots) { + try { + await run('yarn', ['test:client', '--coverage', dir]); + } catch (e) { + continue; + } + } + }); +}; diff --git a/packages/core/cli/src/commands/test.js b/packages/core/cli/src/commands/test.js index 071e45d39..56ee55b7b 100644 --- a/packages/core/cli/src/commands/test.js +++ b/packages/core/cli/src/commands/test.js @@ -14,6 +14,7 @@ function addTestCommand(name, cli) { .option('--run') .option('--allowOnly') .option('--bail') + .option('--coverage') .option('-h, --help') .option('--single-thread [singleThread]') .arguments('[paths...]') @@ -29,14 +30,18 @@ function addTestCommand(name, cli) { process.env.TEST_ENV = 'server-side'; process.argv.splice(process.argv.indexOf('--server'), 1); } + if (opts.client) { process.env.TEST_ENV = 'client-side'; process.argv.splice(process.argv.indexOf('--client'), 1); } + process.env.NODE_ENV = 'test'; + if (!opts.watch && !opts.run) { process.argv.push('--run'); } + const first = paths?.[0]; if (!process.env.TEST_ENV && first) { const key = first.split(path.sep).join('/'); @@ -46,17 +51,22 @@ function addTestCommand(name, cli) { process.env.TEST_ENV = 'server-side'; } } + if (process.env.TEST_ENV === 'server-side' && opts.singleThread !== 'false') { process.argv.push('--poolOptions.threads.singleThread=true'); } + if (opts.singleThread === 'false') { process.argv.splice(process.argv.indexOf('--single-thread=false'), 1); } + const cliArgs = ['--max_old_space_size=14096', './node_modules/.bin/vitest', ...process.argv.slice(3)]; + if (process.argv.includes('-h') || process.argv.includes('--help')) { await run('node', cliArgs); return; } + if (process.env.TEST_ENV) { console.log('process.env.TEST_ENV', process.env.TEST_ENV, cliArgs); await run('node', cliArgs); diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 46aaa8e6b..e622c2f1a 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -60,6 +60,9 @@ "supertest": "^6.1.6", "vite": "^5.0.0", "vitest": "^1.4.0", + "@vitest/coverage-v8": "^1.4.0", + "@vitest/coverage-istanbul": "^1.4.0", + "vitest-dom": "^0.1.1", "ws": "^8.13.0" }, "gitHead": "d0b4efe4be55f8c79a98a331d99d9f8cf99021a1" diff --git a/packages/core/test/vitest.mjs b/packages/core/test/vitest.mjs index 359d507ff..36e1713f2 100644 --- a/packages/core/test/vitest.mjs +++ b/packages/core/test/vitest.mjs @@ -1,8 +1,12 @@ +/// + import react from '@vitejs/plugin-react'; import fs from 'fs'; import path, { resolve } from 'path'; import { URL } from 'url'; -import { defineConfig as vitestConfig } from 'vitest/config'; +import { mergeConfig, defineConfig as vitestConfig } from 'vitest/config'; + +const CORE_CLIENT_PACKAGES = ['sdk', 'client']; const __dirname = new URL('.', import.meta.url).pathname; @@ -44,75 +48,158 @@ function tsConfigPathsToAlias() { ]; } -export const defineConfig = (config = {}) => { - return vitestConfig( - process.env.TEST_ENV === 'server-side' - ? { - root: process.cwd(), - resolve: { - mainFields: ['module'], - }, - test: { - globals: true, - setupFiles: resolve(__dirname, './setup/server.ts'), - alias: tsConfigPathsToAlias(), - include: ['packages/**/__tests__/**/*.test.ts'], - exclude: [ - '**/node_modules/**', - '**/dist/**', - '**/lib/**', - '**/es/**', - '**/e2e/**', - '**/__e2e__/**', - '**/{vitest,commitlint}.config.*', - 'packages/**/{dumi-theme-nocobase,sdk,client}/**/__tests__/**/*.{test,spec}.{ts,tsx}', - ], - testTimeout: 300000, - hookTimeout: 300000, - // bail: 1, - // 在 GitHub Actions 中不输出日志 - silent: !!process.env.GITHUB_ACTIONS, - // poolOptions: { - // threads: { - // singleThread: process.env.SINGLE_THREAD == 'false' ? false : true, - // }, - // }, - }, - } - : { - plugins: [react()], - resolve: { - mainFields: ['module'], - }, - define: { - 'process.env.__TEST__': true, - 'process.env.__E2E__': false, - }, - test: { - globals: true, - setupFiles: resolve(__dirname, './setup/client.ts'), - environment: 'jsdom', - css: false, - alias: tsConfigPathsToAlias(), - include: ['packages/**/{dumi-theme-nocobase,sdk,client}/**/__tests__/**/*.{test,spec}.{ts,tsx}'], - exclude: [ - '**/node_modules/**', - '**/dist/**', - '**/lib/**', - '**/es/**', - '**/e2e/**', - '**/__e2e__/**', - '**/{vitest,commitlint}.config.*', - ], - testTimeout: 300000, - // 在 GitHub Actions 中不输出日志 - silent: !!process.env.GITHUB_ACTIONS, - server: { - deps: { - inline: ['@juggle/resize-observer', 'clsx'], - }, - }, - }, +const defineCommonConfig = () => { + return vitestConfig({ + root: process.cwd(), + resolve: { + mainFields: ['module'], + }, + test: { + globals: true, + alias: tsConfigPathsToAlias(), + testTimeout: 300000, + hookTimeout: 300000, + silent: !!process.env.GITHUB_ACTIONS, + include: [ + 'packages/**/src/**/__tests__/**/*.test.ts', + ], + exclude: [ + '**/node_modules/**', + '**/dist/**', + '**/lib/**', + '**/es/**', + '**/.dumi/**', + '**/e2e/**', + '**/__e2e__/**', + '**/{vitest,commitlint}.config.*', + ], + watchExclude: [ + '**/node_modules/**', + '**/dist/**', + '**/lib/**', + '**/es/**', + '**/.dumi/**', + '**/e2e/**', + '**/__e2e__/**', + '**/{vitest,commitlint}.config.*', + ], + coverage: { + provider: 'istanbul', + include: [ + 'packages/**/src/**/*.{ts,tsx}', + ], + exclude: ['**/swagger/**', '**/.dumi/**', '**/.umi/**', '**/.plugins/**', '**/lib/**', '**/__tests__/**', '**/e2e/**', '**/client.js', '**/server.js', '**/*.d.ts'] + } + } + }) +} + +function getExclude(isServer) { + return [ + `packages/core/${isServer ? '' : '!'}(${CORE_CLIENT_PACKAGES.join('|')})/**/*`, + `packages/**/src/${isServer ? 'client' : 'server'}/**/*`, + ] +} + +const defineServerConfig = () => { + return vitestConfig({ + test: { + setupFiles: resolve(__dirname, './setup/server.ts'), + exclude: getExclude(true) + }, + coverage: { + exclude: getExclude(true) + } + }) +} + +const defineClientConfig = () => { + return vitestConfig({ + plugins: [react()], + define: { + 'process.env.__TEST__': true, + 'process.env.__E2E__': false, + }, + test: { + environment: 'jsdom', + css: false, + setupFiles: resolve(__dirname, './setup/client.ts'), + server: { + deps: { + inline: ['@juggle/resize-observer', 'clsx'], }, - ); + }, + exclude: getExclude(false), + coverage: { + exclude: getExclude(false) + } + } + }) +} + +export const getFilterInclude = (isServer, isCoverage) => { + let filterFileOrDir = process.argv.slice(2).find(arg => !arg.startsWith('-')); + if (!filterFileOrDir) return; + const absPath = path.join(process.cwd(), filterFileOrDir); + const isDir = fs.existsSync(absPath) && fs.statSync(absPath).isDirectory(); + // 如果是文件,则只测试当前文件 + if (!isDir) { + return [filterFileOrDir]; + } + + const suffix = isCoverage ? `**/*.{ts,tsx}` : `**/__tests__/**/*.{test,spec}.{ts,tsx}` + + // 判断是否为包目录,如果不是包目录,则只测试当前目录 + const isPackage = fs.existsSync(path.join(absPath, 'package.json')); + if (!isPackage) { + return [`${filterFileOrDir}/${suffix}`]; + } + + // 判断是否为 core 包目录,不分 client 和 server + const isCore = absPath.includes('packages/core'); + if (isCore) { + return [`${filterFileOrDir}/src/${suffix}`]; + } + + // 插件目录,区分 client 和 server + return [`${filterFileOrDir}/src/${isServer ? 'server' : 'client'}/${suffix}`]; +} + +export const getReportsDirectory = (isServer) => { + let filterFileOrDir = process.argv.slice(2).find(arg => !arg.startsWith('-')); + if (!filterFileOrDir) return; + const isPackage = fs.existsSync(path.join(process.cwd(), filterFileOrDir, 'package.json')); + if (isPackage) { + let reportsDirectory = `./storage/coverage/${filterFileOrDir.replace('packages/', '')}`; + + const isCore = filterFileOrDir.includes('packages/core'); + + if (!isCore) { + reportsDirectory = `${reportsDirectory}/${isServer ? 'server' : 'client'}`; + } + + return reportsDirectory; + } +} + +export const defineConfig = () => { + const isServer = process.env.TEST_ENV === 'server-side'; + const config = vitestConfig(mergeConfig(defineCommonConfig(), isServer ? defineServerConfig() : defineClientConfig())); + + const filterInclude = getFilterInclude(isServer); + if (filterInclude) { + config.test.include = getFilterInclude(isServer); + } + const isCoverage = process.argv.includes('--coverage'); + if (!isCoverage) { + return config; + } + + config.test.coverage.include = getFilterInclude(isServer, true); + const reportsDirectory = getReportsDirectory(isServer); + if (reportsDirectory) { + config.test.coverage.reportsDirectory = reportsDirectory; + } + + return config; }; diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_linkto.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_linkto.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_linkto.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_linkto.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_m2m.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_m2m.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_m2m.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_m2m.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_o2m.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_o2m.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_o2m.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_o2m.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_o2o.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_o2o.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/field_o2o.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/field_o2o.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_linkto.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_linkto.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_linkto.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_linkto.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_m2m.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_m2m.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_m2m.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_m2m.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_o2m.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_o2m.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_o2m.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_o2m.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_o2o.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_o2o.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/snap_o2o.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/snap_o2o.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/table_a.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/table_a.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/table_a.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/table_a.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/table_b.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/table_b.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/table_b.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/table_b.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/table_m2m.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/table_m2m.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/data/table_m2m.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/data/table_m2m.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/fieldsHistory.test.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/fieldsHistory.test.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/fieldsHistory.test.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/fieldsHistory.test.ts diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/snapshots.test.ts b/packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/snapshots.test.ts similarity index 100% rename from packages/plugins/@nocobase/plugin-snapshot-field/src/__tests__/snapshots.test.ts rename to packages/plugins/@nocobase/plugin-snapshot-field/src/server/__tests__/snapshots.test.ts diff --git a/yarn.lock b/yarn.lock index ef5f675b3..06b5023a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,11 @@ resolved "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== +"@adobe/css-tools@^4.3.2": + version "4.3.3" + resolved "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== + "@ahooksjs/use-url-state@3.5.1": version "3.5.1" resolved "https://registry.npmmirror.com/@ahooksjs/use-url-state/-/use-url-state-3.5.1.tgz#c3ad04e98cbcbc8f9eba476bcbd3237e9809aa5b" @@ -147,6 +152,14 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" +"@ampproject/remapping@^2.2.1": + version "2.3.0" + resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + "@ant-design/charts-util@0.0.1-alpha.5": version "0.0.1-alpha.5" resolved "https://registry.npmmirror.com/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz#bb8ab113194f0ffeddb688d54bfd63d6f0007fb7" @@ -1380,6 +1393,14 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" +"@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" @@ -1448,6 +1469,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.23.9": + version "7.24.3" + resolved "https://registry.npmmirror.com/@babel/core/-/core-7.24.3.tgz#568864247ea10fbd4eff04dda1e05f9e2ea985c3" + integrity sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.1" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.24.1" + "@babel/parser" "^7.24.1" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/eslint-parser@7.22.15": version "7.22.15" resolved "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34" @@ -1467,6 +1509,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.1.tgz#e67e06f68568a4ebf194d1c6014235344f0476d0" + integrity sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A== + dependencies: + "@babel/types" "^7.24.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -1656,6 +1708,15 @@ "@babel/traverse" "^7.23.6" "@babel/types" "^7.23.6" +"@babel/helpers@^7.24.1": + version "7.24.1" + resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.1.tgz#183e44714b9eba36c3038e442516587b1e0a1a94" + integrity sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" + "@babel/highlight@^7.23.4": version "7.23.4" resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" @@ -1665,11 +1726,26 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.24.2": + version "7.24.2" + resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" + integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.10", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.23.6": version "7.23.6" resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== +"@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1": + version "7.24.1" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.1.tgz#1e416d3627393fab1cb5b0f2f1796a100ae9133a" + integrity sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": version "7.23.3" resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" @@ -2390,6 +2466,15 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" +"@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/traverse@^7.22.10", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.6", "@babel/traverse@^7.4.5": version "7.23.6" resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" @@ -2406,6 +2491,22 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.24.1": + version "7.24.1" + resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" + integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== + dependencies: + "@babel/code-frame" "^7.24.1" + "@babel/generator" "^7.24.1" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.1" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.23.6" resolved "https://registry.npmmirror.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" @@ -2415,6 +2516,20 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.24.0": + version "7.24.0" + resolved "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@bloomberg/record-tuple-polyfill@0.0.3": version "0.0.3" resolved "https://registry.npmmirror.com/@bloomberg/record-tuple-polyfill/-/record-tuple-polyfill-0.0.3.tgz#0b03d18b88a30894caab14abd669b1cbbf47b843" @@ -3616,7 +3731,7 @@ js-yaml "^3.13.1" resolve-from "^5.0.0" -"@istanbuljs/schema@^0.1.2": +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" resolved "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== @@ -3690,6 +3805,15 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" @@ -3700,6 +3824,11 @@ resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + "@jridgewell/source-map@^0.3.3": version "0.3.5" resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" @@ -3721,6 +3850,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": version "0.3.20" resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" @@ -5860,6 +5997,20 @@ lz-string "^1.5.0" pretty-format "^27.0.2" +"@testing-library/jest-dom@^6.4.2": + version "6.4.2" + resolved "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz#38949f6b63722900e2d75ba3c6d9bf8cffb3300e" + integrity sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw== + dependencies: + "@adobe/css-tools" "^4.3.2" + "@babel/runtime" "^7.9.2" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.6.3" + lodash "^4.17.15" + redent "^3.0.0" + "@testing-library/react-hooks@^8.0.1": version "8.0.1" resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz#0924bbd5b55e0c0c0502d1754657ada66947ca12" @@ -6399,7 +6550,7 @@ resolved "https://registry.npmmirror.com/@types/ini/-/ini-1.3.34.tgz#99a69ecfccdfc3f6e91b411d4208aaa3c4cc9685" integrity sha512-FafeLhwmWucTi31ZYg/6aHBZNyrogQ35aDvSW7zMAz3HMhUqQ4G/NBya8c5pe2jwoYsDFwra8O9/yZotong76g== -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" resolved "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== @@ -7502,6 +7653,41 @@ "@types/babel__core" "^7.20.5" react-refresh "^0.14.0" +"@vitest/coverage-istanbul@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vitest/coverage-istanbul/-/coverage-istanbul-1.4.0.tgz#583db8e687fdd465f6f4391b48dacc28bb050d35" + integrity sha512-39TjURYyAY6CLDx8M1RNYGoAuWicPWoofk+demJbAZROLCwUgGPgMRSg51GN+snbmQRTpSizuS9XC3cMSdQH2Q== + dependencies: + debug "^4.3.4" + istanbul-lib-coverage "^3.2.2" + istanbul-lib-instrument "^6.0.1" + istanbul-lib-report "^3.0.1" + istanbul-lib-source-maps "^5.0.4" + istanbul-reports "^3.1.6" + magicast "^0.3.3" + picocolors "^1.0.0" + test-exclude "^6.0.0" + +"@vitest/coverage-v8@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vitest/coverage-v8/-/coverage-v8-1.4.0.tgz#78ba9e182ff4cd1eba79c45cfafd2edc4c2941ec" + integrity sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg== + dependencies: + "@ampproject/remapping" "^2.2.1" + "@bcoe/v8-coverage" "^0.2.3" + debug "^4.3.4" + istanbul-lib-coverage "^3.2.2" + istanbul-lib-report "^3.0.1" + istanbul-lib-source-maps "^5.0.4" + istanbul-reports "^3.1.6" + magic-string "^0.30.5" + magicast "^0.3.3" + picocolors "^1.0.0" + std-env "^3.5.0" + strip-literal "^2.0.0" + test-exclude "^6.0.0" + v8-to-istanbul "^9.2.0" + "@vitest/expect@1.4.0": version "1.4.0" resolved "https://registry.npmmirror.com/@vitest/expect/-/expect-1.4.0.tgz#d64e17838a20007fecd252397f9b96a1ca81bfb0" @@ -8217,7 +8403,7 @@ aria-query@5.1.3: dependencies: deep-equal "^2.0.5" -aria-query@^5.3.0: +aria-query@^5.0.0, aria-query@^5.3.0: version "5.3.0" resolved "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== @@ -11797,7 +11983,7 @@ dom-accessibility-api@^0.5.9: resolved "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== -dom-accessibility-api@^0.6.1: +dom-accessibility-api@^0.6.1, dom-accessibility-api@^0.6.3: version "0.6.3" resolved "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== @@ -14875,6 +15061,11 @@ html-entities@^2.1.0: resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + html-minifier-terser@^6.0.2: version "6.1.0" resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" @@ -16091,7 +16282,7 @@ isstream@~0.1.2: resolved "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== -istanbul-lib-coverage@^3.2.0: +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0, istanbul-lib-coverage@^3.2.2: version "3.2.2" resolved "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== @@ -16107,6 +16298,43 @@ istanbul-lib-instrument@^5.0.4: istanbul-lib-coverage "^3.2.0" semver "^6.3.0" +istanbul-lib-instrument@^6.0.1: + version "6.0.2" + resolved "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^5.0.4: + version "5.0.4" + resolved "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz#1947003c72a91b6310efeb92d2a91be8804d92c2" + integrity sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.23" + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + +istanbul-reports@^3.1.6: + version "3.1.7" + resolved "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + istextorbinary@^2.2.1: version "2.6.0" resolved "https://registry.npmmirror.com/istextorbinary/-/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" @@ -17304,6 +17532,15 @@ magic-string@^0.30.0, magic-string@^0.30.5: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +magicast@^0.3.3: + version "0.3.3" + resolved "https://registry.npmmirror.com/magicast/-/magicast-0.3.3.tgz#a15760f982deec9dabc5f314e318d7c6bddcb27b" + integrity sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw== + dependencies: + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + source-map-js "^1.0.2" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.npmmirror.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -17326,6 +17563,13 @@ make-dir@^3.0.0, make-dir@^3.1.0: dependencies: semver "^6.0.0" +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + make-error@^1.1.1: version "1.3.6" resolved "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -20168,7 +20412,7 @@ pg-types@^2.1.0: postgres-date "~1.0.4" postgres-interval "^1.1.0" -pg@^8.7.3: +pg@^8.11.3, pg@^8.7.3: version "8.11.3" resolved "https://registry.npmmirror.com/pg/-/pg-8.11.3.tgz#d7db6e3fe268fcedd65b8e4599cda0b8b4bf76cb" integrity sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== @@ -23038,6 +23282,13 @@ semver@^7.1.1, semver@^7.1.3, semver@^7.2, semver@^7.3.2, semver@^7.3.4, semver@ dependencies: lru-cache "^6.0.0" +semver@^7.5.3: + version "7.6.0" + resolved "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + seq-queue@^0.0.5: version "0.0.5" resolved "https://registry.npmmirror.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" @@ -24585,9 +24836,9 @@ tinycolor2@^1.6.0: integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== tinypool@^0.8.2: - version "0.8.3" - resolved "https://registry.npmmirror.com/tinypool/-/tinypool-0.8.3.tgz#e17d0a5315a7d425f875b05f7af653c225492d39" - integrity sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw== + version "0.8.2" + resolved "https://registry.npmmirror.com/tinypool/-/tinypool-0.8.2.tgz#84013b03dc69dacb322563a475d4c0a9be00f82a" + integrity sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ== tinyspy@^2.2.0: version "2.2.0" @@ -25717,6 +25968,15 @@ v8-compile-cache@2.3.0: resolved "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +v8-to-istanbul@^9.2.0: + version "9.2.0" + resolved "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + v8flags@^3.2.0: version "3.2.0" resolved "https://registry.npmmirror.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656"