mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-21 21:25:11 +00:00
chore: extract @nuxt/test-utils
to separate repo (#24146)
This commit is contained in:
parent
d8674b9982
commit
75cf1914ba
31
.eslintrc
31
.eslintrc
@ -11,7 +11,10 @@
|
|||||||
"NodeJS": true,
|
"NodeJS": true,
|
||||||
"$fetch": true
|
"$fetch": true
|
||||||
},
|
},
|
||||||
"plugins": ["jsdoc", "no-only-tests"],
|
"plugins": [
|
||||||
|
"jsdoc",
|
||||||
|
"no-only-tests"
|
||||||
|
],
|
||||||
"extends": [
|
"extends": [
|
||||||
"plugin:jsdoc/recommended",
|
"plugin:jsdoc/recommended",
|
||||||
"@nuxtjs/eslint-config-typescript",
|
"@nuxtjs/eslint-config-typescript",
|
||||||
@ -41,14 +44,6 @@
|
|||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
"pathGroups": [
|
"pathGroups": [
|
||||||
{
|
|
||||||
"pattern": "@nuxt/test-utils/experimental",
|
|
||||||
"group": "external"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pattern": "@nuxt/test-utils",
|
|
||||||
"group": "external"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"pattern": "#vue-router",
|
"pattern": "#vue-router",
|
||||||
"group": "external"
|
"group": "external"
|
||||||
@ -108,26 +103,36 @@
|
|||||||
"jsdoc/check-tag-names": [
|
"jsdoc/check-tag-names": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
"definedTags": ["__NO_SIDE_EFFECTS__"]
|
"definedTags": [
|
||||||
|
"__NO_SIDE_EFFECTS__"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
"files": ["packages/schema/**"],
|
"files": [
|
||||||
|
"packages/schema/**"
|
||||||
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
"jsdoc/no-undefined-types": "off",
|
"jsdoc/no-undefined-types": "off",
|
||||||
"jsdoc/valid-types": "off",
|
"jsdoc/valid-types": "off",
|
||||||
"jsdoc/check-tag-names": [
|
"jsdoc/check-tag-names": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
"definedTags": ["experimental"]
|
"definedTags": [
|
||||||
|
"experimental"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"files": ["packages/nuxt/src/app/**", "test/**", "**/runtime/**"],
|
"files": [
|
||||||
|
"packages/nuxt/src/app/**",
|
||||||
|
"test/**",
|
||||||
|
"**/runtime/**"
|
||||||
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
"no-console": "off"
|
"no-console": "off"
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
"overrides": {
|
"overrides": {
|
||||||
"@nuxt/kit": "./packages/kit",
|
"@nuxt/kit": "./packages/kit",
|
||||||
"@nuxt/schema": "./packages/schema",
|
"@nuxt/schema": "./packages/schema",
|
||||||
"@nuxt/test-utils": "./packages/test-utils",
|
|
||||||
"@nuxt/vite": "./packages/vite",
|
"@nuxt/vite": "./packages/vite",
|
||||||
"@nuxt/webpack": "./packages/webpack",
|
"@nuxt/webpack": "./packages/webpack",
|
||||||
"nuxt": "./packages/nuxt"
|
"nuxt": "./packages/nuxt"
|
||||||
|
12
knip.json
12
knip.json
@ -12,18 +12,6 @@
|
|||||||
"src/runtime/**/*.ts"
|
"src/runtime/**/*.ts"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"packages/test-utils": {
|
|
||||||
"entry": [
|
|
||||||
"src/experimental.ts",
|
|
||||||
"src/index.ts"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages/nuxi": {
|
|
||||||
"entry": [
|
|
||||||
"src/index.ts",
|
|
||||||
"src/commands/*.ts"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages/nuxt": {
|
"packages/nuxt": {
|
||||||
"entry": [
|
"entry": [
|
||||||
"src/app/**/*.ts",
|
"src/app/**/*.ts",
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
"resolutions": {
|
"resolutions": {
|
||||||
"@nuxt/kit": "workspace:*",
|
"@nuxt/kit": "workspace:*",
|
||||||
"@nuxt/schema": "workspace:*",
|
"@nuxt/schema": "workspace:*",
|
||||||
"@nuxt/test-utils": "workspace:*",
|
|
||||||
"@nuxt/vite-builder": "workspace:*",
|
"@nuxt/vite-builder": "workspace:*",
|
||||||
"@nuxt/webpack-builder": "workspace:*",
|
"@nuxt/webpack-builder": "workspace:*",
|
||||||
"nuxt": "workspace:*",
|
"nuxt": "workspace:*",
|
||||||
@ -38,7 +37,7 @@
|
|||||||
"magic-string": "^0.30.5"
|
"magic-string": "^0.30.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@nuxt/test-utils": "workspace:*",
|
"@nuxt/test-utils": "3.8.1",
|
||||||
"@nuxt/webpack-builder": "workspace:*",
|
"@nuxt/webpack-builder": "workspace:*",
|
||||||
"@nuxtjs/eslint-config-typescript": "12.1.0",
|
"@nuxtjs/eslint-config-typescript": "12.1.0",
|
||||||
"@types/fs-extra": "11.0.3",
|
"@types/fs-extra": "11.0.3",
|
||||||
|
5
packages/test-utils/README.md
Normal file
5
packages/test-utils/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Nuxt Test Utils
|
||||||
|
|
||||||
|
🧪 Test utilities for [Nuxt](https://nuxt.com).
|
||||||
|
|
||||||
|
- 👉 View on GitHub at https://github.com/nuxt/test-utils
|
@ -1,12 +0,0 @@
|
|||||||
import { defineBuildConfig } from 'unbuild'
|
|
||||||
|
|
||||||
export default defineBuildConfig({
|
|
||||||
declaration: true,
|
|
||||||
entries: [
|
|
||||||
'src/index',
|
|
||||||
'src/experimental',
|
|
||||||
{ input: 'src/runtime/', outDir: 'dist/runtime', format: 'esm' }
|
|
||||||
],
|
|
||||||
externals: [
|
|
||||||
]
|
|
||||||
})
|
|
1
packages/test-utils/experimental.d.ts
vendored
1
packages/test-utils/experimental.d.ts
vendored
@ -1 +0,0 @@
|
|||||||
export * from './dist/experimental'
|
|
@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@nuxt/test-utils",
|
|
||||||
"version": "3.8.1",
|
|
||||||
"repository": "nuxt/nuxt",
|
|
||||||
"description": "Test utilities for Nuxt",
|
|
||||||
"license": "MIT",
|
|
||||||
"type": "module",
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"exports": {
|
|
||||||
".": {
|
|
||||||
"types": "./dist/index.d.ts",
|
|
||||||
"import": "./dist/index.mjs"
|
|
||||||
},
|
|
||||||
"./experimental": {
|
|
||||||
"types": "./dist/experimental.d.ts",
|
|
||||||
"import": "./dist/experimental.mjs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"scripts": {
|
|
||||||
"prepack": "unbuild"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@nuxt/kit": "workspace:*",
|
|
||||||
"@nuxt/schema": "workspace:*",
|
|
||||||
"consola": "^3.2.3",
|
|
||||||
"defu": "^6.1.3",
|
|
||||||
"execa": "^8.0.1",
|
|
||||||
"get-port-please": "^3.1.1",
|
|
||||||
"ofetch": "^1.3.3",
|
|
||||||
"pathe": "^1.1.1",
|
|
||||||
"ufo": "^1.3.1"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@jest/globals": "29.7.0",
|
|
||||||
"playwright-core": "1.39.0",
|
|
||||||
"unbuild": "latest",
|
|
||||||
"vitest": "0.33.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@jest/globals": "^29.5.0",
|
|
||||||
"playwright-core": "^1.34.3",
|
|
||||||
"vitest": "^0.30.0 || ^0.31.0 || ^0.32.0 || ^0.33.0",
|
|
||||||
"vue": "^3.3.4"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"@jest/globals": {
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"playwright-core": {
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"vitest": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "^14.18.0 || >=16.10.0"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
import type { Browser, BrowserContextOptions } from 'playwright-core'
|
|
||||||
import { useTestContext } from './context'
|
|
||||||
import { url } from './server'
|
|
||||||
|
|
||||||
export async function createBrowser () {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
|
|
||||||
let playwright: typeof import('playwright-core')
|
|
||||||
try {
|
|
||||||
// Workaround for https://github.com/nuxt/nuxt/issues/13441
|
|
||||||
// TODO: Remove when upstream issue resolved
|
|
||||||
playwright = await import(String('playwright-core'))
|
|
||||||
} catch {
|
|
||||||
/* istanbul ignore next */
|
|
||||||
throw new Error(`
|
|
||||||
The dependency 'playwright-core' not found.
|
|
||||||
Please run 'yarn add --dev playwright-core' or 'npm install --save-dev playwright-core'
|
|
||||||
`)
|
|
||||||
}
|
|
||||||
|
|
||||||
const { type, launch } = ctx.options.browserOptions
|
|
||||||
if (!playwright[type]) {
|
|
||||||
throw new Error(`Invalid browser '${type}'`)
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.browser = await playwright[type].launch(launch)
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getBrowser (): Promise<Browser> {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
if (!ctx.browser) {
|
|
||||||
await createBrowser()
|
|
||||||
}
|
|
||||||
return ctx.browser!
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function createPage (path?: string, options?: BrowserContextOptions) {
|
|
||||||
const browser = await getBrowser()
|
|
||||||
const page = await browser.newPage(options)
|
|
||||||
|
|
||||||
if (path) {
|
|
||||||
await page.goto(url(path))
|
|
||||||
}
|
|
||||||
|
|
||||||
return page
|
|
||||||
}
|
|
@ -1,59 +0,0 @@
|
|||||||
import { resolve } from 'node:path'
|
|
||||||
import { defu } from 'defu'
|
|
||||||
import type { TestContext, TestOptions, TestRunner } from './types'
|
|
||||||
|
|
||||||
let currentContext: TestContext | undefined
|
|
||||||
|
|
||||||
export function createTestContext (options: Partial<TestOptions>): TestContext {
|
|
||||||
const _options: Partial<TestOptions> = defu(options, {
|
|
||||||
testDir: resolve(process.cwd(), 'test'),
|
|
||||||
fixture: 'fixture',
|
|
||||||
configFile: 'nuxt.config',
|
|
||||||
setupTimeout: 120 * 1000,
|
|
||||||
dev: !!JSON.parse(process.env.NUXT_TEST_DEV || 'false'),
|
|
||||||
logLevel: 1,
|
|
||||||
server: true,
|
|
||||||
build: (options.browser !== false) || (options.server !== false),
|
|
||||||
nuxtConfig: {},
|
|
||||||
// TODO: auto detect based on process.env
|
|
||||||
runner: <TestRunner>'vitest',
|
|
||||||
browserOptions: {
|
|
||||||
type: 'chromium' as const
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
return setTestContext({
|
|
||||||
options: _options as TestOptions
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function useTestContext (): TestContext {
|
|
||||||
recoverContextFromEnv()
|
|
||||||
if (!currentContext) {
|
|
||||||
throw new Error('No context is available. (Forgot calling setup or createContext?)')
|
|
||||||
}
|
|
||||||
return currentContext
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setTestContext (context: TestContext): TestContext
|
|
||||||
export function setTestContext (context?: TestContext): TestContext | undefined
|
|
||||||
export function setTestContext (context?: TestContext): TestContext | undefined {
|
|
||||||
currentContext = context
|
|
||||||
return currentContext
|
|
||||||
}
|
|
||||||
|
|
||||||
export function isDev () {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
return ctx.options.dev
|
|
||||||
}
|
|
||||||
|
|
||||||
export function recoverContextFromEnv () {
|
|
||||||
if (!currentContext && process.env.NUXT_TEST_CONTEXT) {
|
|
||||||
setTestContext(JSON.parse(process.env.NUXT_TEST_CONTEXT || '{}'))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function exposeContextToEnv () {
|
|
||||||
const { options, browser, url } = currentContext!
|
|
||||||
process.env.NUXT_TEST_CONTEXT = JSON.stringify({ options, browser, url })
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
import { fileURLToPath } from 'node:url'
|
|
||||||
import { dirname } from 'pathe'
|
|
||||||
|
|
||||||
export const distDir = dirname(fileURLToPath(import.meta.url))
|
|
@ -1,23 +0,0 @@
|
|||||||
import { $fetch as _$fetch, fetch as _fetch } from 'ofetch'
|
|
||||||
import * as _kit from '@nuxt/kit'
|
|
||||||
import { resolve } from 'pathe'
|
|
||||||
import { stringifyQuery } from 'ufo'
|
|
||||||
import { useTestContext } from './context'
|
|
||||||
import { $fetch } from './server'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is a function to render a component directly with the Nuxt server.
|
|
||||||
*/
|
|
||||||
export function $fetchComponent (filepath: string, props?: Record<string, any>) {
|
|
||||||
return $fetch(componentTestUrl(filepath, props))
|
|
||||||
}
|
|
||||||
|
|
||||||
export function componentTestUrl (filepath: string, props?: Record<string, any>) {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
filepath = resolve(ctx.options.rootDir, filepath)
|
|
||||||
const path = stringifyQuery({
|
|
||||||
path: filepath,
|
|
||||||
props: JSON.stringify(props)
|
|
||||||
})
|
|
||||||
return `/__nuxt_component_test__/?${path}`
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
export * from './browser'
|
|
||||||
export * from './context'
|
|
||||||
export * from './mock'
|
|
||||||
export * from './nuxt'
|
|
||||||
export * from './server'
|
|
||||||
export * from './setup'
|
|
||||||
export * from './run'
|
|
||||||
export * from './types'
|
|
@ -1,16 +0,0 @@
|
|||||||
import { consola } from 'consola'
|
|
||||||
import { useTestContext } from './context'
|
|
||||||
|
|
||||||
export function mockFn () {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
return ctx.mockFn
|
|
||||||
}
|
|
||||||
|
|
||||||
export function mockLogger (): Record<string, Function> {
|
|
||||||
const mocks: any = {}
|
|
||||||
consola.mockTypes((type) => {
|
|
||||||
mocks[type] = mockFn()
|
|
||||||
return mocks[type]
|
|
||||||
})
|
|
||||||
return mocks
|
|
||||||
}
|
|
@ -1,74 +0,0 @@
|
|||||||
import { existsSync, promises as fsp } from 'node:fs'
|
|
||||||
import { resolve } from 'node:path'
|
|
||||||
import { defu } from 'defu'
|
|
||||||
import * as _kit from '@nuxt/kit'
|
|
||||||
import { useTestContext } from './context'
|
|
||||||
|
|
||||||
// @ts-expect-error type cast
|
|
||||||
// eslint-disable-next-line
|
|
||||||
const kit: typeof _kit = _kit.default || _kit
|
|
||||||
|
|
||||||
const isNuxtApp = (dir: string) => {
|
|
||||||
return existsSync(dir) && (
|
|
||||||
existsSync(resolve(dir, 'pages')) ||
|
|
||||||
existsSync(resolve(dir, 'nuxt.config.js')) ||
|
|
||||||
existsSync(resolve(dir, 'nuxt.config.mjs')) ||
|
|
||||||
existsSync(resolve(dir, 'nuxt.config.cjs')) ||
|
|
||||||
existsSync(resolve(dir, 'nuxt.config.ts'))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
const resolveRootDir = () => {
|
|
||||||
const { options } = useTestContext()
|
|
||||||
|
|
||||||
const dirs = [
|
|
||||||
options.rootDir,
|
|
||||||
resolve(options.testDir, options.fixture),
|
|
||||||
process.cwd()
|
|
||||||
]
|
|
||||||
|
|
||||||
for (const dir of dirs) {
|
|
||||||
if (dir && isNuxtApp(dir)) {
|
|
||||||
return dir
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error('Invalid nuxt app. (Please explicitly set `options.rootDir` pointing to a valid nuxt app)')
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function loadFixture () {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
|
|
||||||
ctx.options.rootDir = resolveRootDir()
|
|
||||||
|
|
||||||
if (!ctx.options.dev) {
|
|
||||||
const randomId = Math.random().toString(36).slice(2, 8)
|
|
||||||
const buildDir = resolve(ctx.options.rootDir, '.nuxt', randomId)
|
|
||||||
ctx.options.nuxtConfig = defu(ctx.options.nuxtConfig, {
|
|
||||||
buildDir,
|
|
||||||
nitro: {
|
|
||||||
output: {
|
|
||||||
dir: resolve(buildDir, 'output')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.nuxt = await kit.loadNuxt({
|
|
||||||
cwd: ctx.options.rootDir,
|
|
||||||
dev: ctx.options.dev,
|
|
||||||
overrides: ctx.options.nuxtConfig,
|
|
||||||
configFile: ctx.options.configFile
|
|
||||||
})
|
|
||||||
|
|
||||||
await fsp.mkdir(ctx.nuxt.options.buildDir, { recursive: true })
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function buildFixture () {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
// Hide build info for test
|
|
||||||
const prevLevel = kit.logger.level
|
|
||||||
kit.logger.level = ctx.options.logLevel
|
|
||||||
await kit.buildNuxt(ctx.nuxt!)
|
|
||||||
kit.logger.level = prevLevel
|
|
||||||
}
|
|
@ -1,69 +0,0 @@
|
|||||||
import { resolve } from 'pathe'
|
|
||||||
import { distDir } from './dirs'
|
|
||||||
|
|
||||||
export interface RunTestOptions {
|
|
||||||
rootDir: string,
|
|
||||||
dev?: boolean,
|
|
||||||
watch?: boolean
|
|
||||||
runner?: 'vitest'
|
|
||||||
globalSetup?: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
const RunTestDefaults: Partial<RunTestOptions> = {
|
|
||||||
runner: 'vitest',
|
|
||||||
globalSetup: true
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function runTests (opts: RunTestOptions) {
|
|
||||||
opts = { ...RunTestDefaults, ...opts }
|
|
||||||
|
|
||||||
if (opts.runner !== 'vitest') {
|
|
||||||
throw new Error(`Unsupported runner: ${opts.runner}. Currently only vitest runner is supported.`)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opts.dev) {
|
|
||||||
// Set default dev option for @nuxt/test-utils
|
|
||||||
process.env.NUXT_TEST_DEV = 'true'
|
|
||||||
}
|
|
||||||
|
|
||||||
// Consumed by recoverContextFromEnv()
|
|
||||||
process.env.NUXT_TEST_OPTIONS = JSON.stringify(opts)
|
|
||||||
|
|
||||||
const { startVitest } = await import('vitest/node')
|
|
||||||
const succeeded = await startVitest(
|
|
||||||
'test',
|
|
||||||
[] /* argv */,
|
|
||||||
// Vitest options
|
|
||||||
{
|
|
||||||
root: opts.rootDir,
|
|
||||||
run: !opts.watch,
|
|
||||||
deps: {
|
|
||||||
inline: [/@nuxt\/test-utils/]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// Vite options
|
|
||||||
{
|
|
||||||
esbuild: {
|
|
||||||
tsconfigRaw: '{}'
|
|
||||||
},
|
|
||||||
test: {
|
|
||||||
dir: opts.rootDir,
|
|
||||||
deps: {
|
|
||||||
inline: [
|
|
||||||
distDir,
|
|
||||||
'@nuxt/test-utils',
|
|
||||||
'@nuxt/test-utils-edge'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
globals: true,
|
|
||||||
globalSetup: [
|
|
||||||
...opts.globalSetup ? [resolve(distDir, './runtime/global-setup')] : []
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (!succeeded) {
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
import * as _kit from '@nuxt/kit'
|
|
||||||
import { createTest, exposeContextToEnv } from '@nuxt/test-utils'
|
|
||||||
|
|
||||||
// @ts-expect-error type cast
|
|
||||||
// eslint-disable-next-line
|
|
||||||
const kit: typeof _kit = _kit.default || _kit
|
|
||||||
|
|
||||||
const options = JSON.parse(process.env.NUXT_TEST_OPTIONS || '{}')
|
|
||||||
const hooks = createTest(options)
|
|
||||||
|
|
||||||
export const setup = async () => {
|
|
||||||
kit.logger.info('Building Nuxt app...')
|
|
||||||
await hooks.setup()
|
|
||||||
exposeContextToEnv()
|
|
||||||
kit.logger.info('Running tests...')
|
|
||||||
}
|
|
||||||
|
|
||||||
export const teardown = async () => {
|
|
||||||
await hooks.afterAll()
|
|
||||||
}
|
|
@ -1,87 +0,0 @@
|
|||||||
import { execa } from 'execa'
|
|
||||||
import { getRandomPort, waitForPort } from 'get-port-please'
|
|
||||||
import type { FetchOptions } from 'ofetch'
|
|
||||||
import { $fetch as _$fetch, fetch as _fetch } from 'ofetch'
|
|
||||||
import * as _kit from '@nuxt/kit'
|
|
||||||
import { resolve } from 'pathe'
|
|
||||||
import { useTestContext } from './context'
|
|
||||||
|
|
||||||
// @ts-expect-error type cast
|
|
||||||
// eslint-disable-next-line
|
|
||||||
const kit: typeof _kit = _kit.default || _kit
|
|
||||||
|
|
||||||
export async function startServer () {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
await stopServer()
|
|
||||||
const host = '127.0.0.1'
|
|
||||||
const port = ctx.options.port || await getRandomPort(host)
|
|
||||||
ctx.url = `http://${host}:${port}`
|
|
||||||
if (ctx.options.dev) {
|
|
||||||
const nuxiCLI = await kit.resolvePath('nuxi/cli')
|
|
||||||
ctx.serverProcess = execa(nuxiCLI, ['_dev'], {
|
|
||||||
cwd: ctx.nuxt!.options.rootDir,
|
|
||||||
stdio: 'inherit',
|
|
||||||
env: {
|
|
||||||
...process.env,
|
|
||||||
_PORT: String(port), // Used by internal _dev command
|
|
||||||
PORT: String(port),
|
|
||||||
HOST: host,
|
|
||||||
NODE_ENV: 'development'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
await waitForPort(port, { retries: 32, host }).catch(() => {})
|
|
||||||
let lastError
|
|
||||||
for (let i = 0; i < 150; i++) {
|
|
||||||
await new Promise(resolve => setTimeout(resolve, 100))
|
|
||||||
try {
|
|
||||||
const res = await $fetch(ctx.nuxt!.options.app.baseURL)
|
|
||||||
if (!res.includes('__NUXT_LOADING__')) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
lastError = e
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ctx.serverProcess.kill()
|
|
||||||
throw lastError || new Error('Timeout waiting for dev server!')
|
|
||||||
} else {
|
|
||||||
ctx.serverProcess = execa('node', [
|
|
||||||
resolve(ctx.nuxt!.options.nitro.output!.dir!, 'server/index.mjs')
|
|
||||||
], {
|
|
||||||
stdio: 'inherit',
|
|
||||||
env: {
|
|
||||||
...process.env,
|
|
||||||
PORT: String(port),
|
|
||||||
HOST: host,
|
|
||||||
NODE_ENV: 'test'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
await waitForPort(port, { retries: 20, host })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function stopServer () {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
if (ctx.serverProcess) {
|
|
||||||
await ctx.serverProcess.kill()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function fetch (path: string, options?: any) {
|
|
||||||
return _fetch(url(path), options)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function $fetch (path: string, options?: FetchOptions) {
|
|
||||||
return _$fetch(url(path), options)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function url (path: string) {
|
|
||||||
const ctx = useTestContext()
|
|
||||||
if (!ctx.url) {
|
|
||||||
throw new Error('url is not available (is server option enabled?)')
|
|
||||||
}
|
|
||||||
if (path.startsWith(ctx.url)) {
|
|
||||||
return path
|
|
||||||
}
|
|
||||||
return ctx.url + path
|
|
||||||
}
|
|
@ -1,76 +0,0 @@
|
|||||||
import { createTestContext, setTestContext } from '../context'
|
|
||||||
import { buildFixture, loadFixture } from '../nuxt'
|
|
||||||
import { startServer, stopServer } from '../server'
|
|
||||||
import { createBrowser } from '../browser'
|
|
||||||
import type { TestHooks, TestOptions } from '../types'
|
|
||||||
import setupJest from './jest'
|
|
||||||
import setupVitest from './vitest'
|
|
||||||
|
|
||||||
export const setupMaps = {
|
|
||||||
jest: setupJest,
|
|
||||||
vitest: setupVitest
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createTest (options: Partial<TestOptions>): TestHooks {
|
|
||||||
const ctx = createTestContext(options)
|
|
||||||
|
|
||||||
const beforeEach = () => {
|
|
||||||
setTestContext(ctx)
|
|
||||||
}
|
|
||||||
|
|
||||||
const afterEach = () => {
|
|
||||||
setTestContext(undefined)
|
|
||||||
}
|
|
||||||
|
|
||||||
const afterAll = async () => {
|
|
||||||
if (ctx.serverProcess) {
|
|
||||||
setTestContext(ctx)
|
|
||||||
await stopServer()
|
|
||||||
setTestContext(undefined)
|
|
||||||
}
|
|
||||||
if (ctx.nuxt && ctx.nuxt.options.dev) {
|
|
||||||
await ctx.nuxt.close()
|
|
||||||
}
|
|
||||||
if (ctx.browser) {
|
|
||||||
await ctx.browser.close()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const setup = async () => {
|
|
||||||
if (ctx.options.fixture) {
|
|
||||||
await loadFixture()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctx.options.build) {
|
|
||||||
await buildFixture()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctx.options.server) {
|
|
||||||
await startServer()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctx.options.waitFor) {
|
|
||||||
await (new Promise(resolve => setTimeout(resolve, ctx.options.waitFor)))
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctx.options.browser) {
|
|
||||||
await createBrowser()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
beforeEach,
|
|
||||||
afterEach,
|
|
||||||
afterAll,
|
|
||||||
setup,
|
|
||||||
ctx
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function setup (options: Partial<TestOptions> = {}) {
|
|
||||||
const hooks = createTest(options)
|
|
||||||
|
|
||||||
const setupFn = setupMaps[hooks.ctx.options.runner]
|
|
||||||
|
|
||||||
await setupFn(hooks)
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
import type { TestHooks } from '../types'
|
|
||||||
|
|
||||||
export default async function setupJest (hooks: TestHooks) {
|
|
||||||
const { jest, test, beforeEach, afterAll, afterEach } = await import('@jest/globals')
|
|
||||||
|
|
||||||
hooks.ctx.mockFn = jest.fn
|
|
||||||
|
|
||||||
test('setup', hooks.setup, hooks.ctx.options.setupTimeout)
|
|
||||||
beforeEach(hooks.beforeEach)
|
|
||||||
afterEach(hooks.afterEach)
|
|
||||||
afterAll(hooks.afterAll)
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
import type { TestHooks } from '../types'
|
|
||||||
|
|
||||||
export default async function setupVitest (hooks: TestHooks) {
|
|
||||||
const vitest = await import('vitest')
|
|
||||||
|
|
||||||
hooks.ctx.mockFn = vitest.vi.fn
|
|
||||||
|
|
||||||
vitest.beforeAll(hooks.setup, hooks.ctx.options.setupTimeout)
|
|
||||||
vitest.beforeEach(hooks.beforeEach)
|
|
||||||
vitest.afterEach(hooks.afterEach)
|
|
||||||
vitest.afterAll(hooks.afterAll)
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
import type { Nuxt, NuxtConfig } from '@nuxt/schema'
|
|
||||||
import type { ExecaChildProcess } from 'execa'
|
|
||||||
import type { Browser, LaunchOptions } from 'playwright-core'
|
|
||||||
|
|
||||||
export type TestRunner = 'vitest' | 'jest'
|
|
||||||
|
|
||||||
export interface TestOptions {
|
|
||||||
testDir: string
|
|
||||||
fixture: string
|
|
||||||
configFile: string
|
|
||||||
rootDir: string
|
|
||||||
buildDir: string
|
|
||||||
nuxtConfig: NuxtConfig
|
|
||||||
build: boolean
|
|
||||||
dev: boolean
|
|
||||||
setupTimeout: number
|
|
||||||
waitFor: number
|
|
||||||
browser: boolean
|
|
||||||
runner: TestRunner
|
|
||||||
logLevel: number
|
|
||||||
browserOptions: {
|
|
||||||
type: 'chromium' | 'firefox' | 'webkit'
|
|
||||||
launch?: LaunchOptions
|
|
||||||
}
|
|
||||||
server: boolean
|
|
||||||
port?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TestContext {
|
|
||||||
options: TestOptions
|
|
||||||
nuxt?: Nuxt
|
|
||||||
browser?: Browser
|
|
||||||
url?: string
|
|
||||||
serverProcess?: ExecaChildProcess
|
|
||||||
mockFn?: Function
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TestHooks {
|
|
||||||
beforeEach: () => void
|
|
||||||
afterEach: () => void
|
|
||||||
afterAll: () => void
|
|
||||||
setup: () => void
|
|
||||||
ctx: TestContext
|
|
||||||
}
|
|
565
pnpm-lock.yaml
565
pnpm-lock.yaml
@ -7,7 +7,6 @@ settings:
|
|||||||
overrides:
|
overrides:
|
||||||
'@nuxt/kit': workspace:*
|
'@nuxt/kit': workspace:*
|
||||||
'@nuxt/schema': workspace:*
|
'@nuxt/schema': workspace:*
|
||||||
'@nuxt/test-utils': workspace:*
|
|
||||||
'@nuxt/vite-builder': workspace:*
|
'@nuxt/vite-builder': workspace:*
|
||||||
'@nuxt/webpack-builder': workspace:*
|
'@nuxt/webpack-builder': workspace:*
|
||||||
nuxt: workspace:*
|
nuxt: workspace:*
|
||||||
@ -20,8 +19,8 @@ importers:
|
|||||||
.:
|
.:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@nuxt/test-utils':
|
'@nuxt/test-utils':
|
||||||
specifier: workspace:*
|
specifier: 3.8.1
|
||||||
version: link:packages/test-utils
|
version: 3.8.1(playwright-core@1.39.0)(vitest@0.33.0)(vue@3.3.8)
|
||||||
'@nuxt/webpack-builder':
|
'@nuxt/webpack-builder':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:packages/webpack
|
version: link:packages/webpack
|
||||||
@ -521,52 +520,6 @@ importers:
|
|||||||
specifier: 6.1.1
|
specifier: 6.1.1
|
||||||
version: 6.1.1(webpack@5.89.0)
|
version: 6.1.1(webpack@5.89.0)
|
||||||
|
|
||||||
packages/test-utils:
|
|
||||||
dependencies:
|
|
||||||
'@nuxt/kit':
|
|
||||||
specifier: workspace:*
|
|
||||||
version: link:../kit
|
|
||||||
'@nuxt/schema':
|
|
||||||
specifier: workspace:*
|
|
||||||
version: link:../schema
|
|
||||||
consola:
|
|
||||||
specifier: ^3.2.3
|
|
||||||
version: 3.2.3
|
|
||||||
defu:
|
|
||||||
specifier: ^6.1.3
|
|
||||||
version: 6.1.3
|
|
||||||
execa:
|
|
||||||
specifier: ^8.0.1
|
|
||||||
version: 8.0.1
|
|
||||||
get-port-please:
|
|
||||||
specifier: ^3.1.1
|
|
||||||
version: 3.1.1
|
|
||||||
ofetch:
|
|
||||||
specifier: ^1.3.3
|
|
||||||
version: 1.3.3
|
|
||||||
pathe:
|
|
||||||
specifier: ^1.1.1
|
|
||||||
version: 1.1.1
|
|
||||||
ufo:
|
|
||||||
specifier: ^1.3.1
|
|
||||||
version: 1.3.1
|
|
||||||
vue:
|
|
||||||
specifier: 3.3.8
|
|
||||||
version: 3.3.8(typescript@5.2.2)
|
|
||||||
devDependencies:
|
|
||||||
'@jest/globals':
|
|
||||||
specifier: 29.7.0
|
|
||||||
version: 29.7.0
|
|
||||||
playwright-core:
|
|
||||||
specifier: 1.39.0
|
|
||||||
version: 1.39.0
|
|
||||||
unbuild:
|
|
||||||
specifier: latest
|
|
||||||
version: 2.0.0(typescript@5.2.2)
|
|
||||||
vitest:
|
|
||||||
specifier: 0.33.0
|
|
||||||
version: 0.33.0(happy-dom@12.10.3)
|
|
||||||
|
|
||||||
packages/vite:
|
packages/vite:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nuxt/kit':
|
'@nuxt/kit':
|
||||||
@ -1141,33 +1094,6 @@ packages:
|
|||||||
'@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.23.2)
|
'@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.23.2)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.23.2):
|
/@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.23.2):
|
||||||
resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==}
|
resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@ -1195,15 +1121,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.23.2
|
'@babel/core': 7.23.2
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
'@babel/helper-plugin-utils': 7.22.5
|
||||||
|
dev: false
|
||||||
/@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2):
|
/@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2):
|
||||||
resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==}
|
resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==}
|
||||||
@ -1214,70 +1132,6 @@ packages:
|
|||||||
'@babel/core': 7.23.2
|
'@babel/core': 7.23.2
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
'@babel/helper-plugin-utils': 7.22.5
|
||||||
|
|
||||||
/@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0-0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2):
|
/@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2):
|
||||||
resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==}
|
resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@ -1775,102 +1629,12 @@ packages:
|
|||||||
wrap-ansi: 8.1.0
|
wrap-ansi: 8.1.0
|
||||||
wrap-ansi-cjs: /wrap-ansi@7.0.0
|
wrap-ansi-cjs: /wrap-ansi@7.0.0
|
||||||
|
|
||||||
/@istanbuljs/load-nyc-config@1.1.0:
|
|
||||||
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dependencies:
|
|
||||||
camelcase: 5.3.1
|
|
||||||
find-up: 4.1.0
|
|
||||||
get-package-type: 0.1.0
|
|
||||||
js-yaml: 3.14.1
|
|
||||||
resolve-from: 5.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@istanbuljs/schema@0.1.3:
|
|
||||||
resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jest/environment@29.7.0:
|
|
||||||
resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@jest/fake-timers': 29.7.0
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
'@types/node': 20.8.10
|
|
||||||
jest-mock: 29.7.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jest/expect-utils@29.7.0:
|
|
||||||
resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
jest-get-type: 29.6.3
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jest/expect@29.7.0:
|
|
||||||
resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
expect: 29.7.0
|
|
||||||
jest-snapshot: 29.7.0
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jest/fake-timers@29.7.0:
|
|
||||||
resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
'@sinonjs/fake-timers': 10.3.0
|
|
||||||
'@types/node': 20.8.10
|
|
||||||
jest-message-util: 29.7.0
|
|
||||||
jest-mock: 29.7.0
|
|
||||||
jest-util: 29.7.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jest/globals@29.7.0:
|
|
||||||
resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@jest/environment': 29.7.0
|
|
||||||
'@jest/expect': 29.7.0
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
jest-mock: 29.7.0
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jest/schemas@29.6.3:
|
/@jest/schemas@29.6.3:
|
||||||
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
|
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sinclair/typebox': 0.27.8
|
'@sinclair/typebox': 0.27.8
|
||||||
|
|
||||||
/@jest/transform@29.7.0:
|
|
||||||
resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
'@jridgewell/trace-mapping': 0.3.20
|
|
||||||
babel-plugin-istanbul: 6.1.1
|
|
||||||
chalk: 4.1.2
|
|
||||||
convert-source-map: 2.0.0
|
|
||||||
fast-json-stable-stringify: 2.1.0
|
|
||||||
graceful-fs: 4.2.11
|
|
||||||
jest-haste-map: 29.7.0
|
|
||||||
jest-regex-util: 29.6.3
|
|
||||||
jest-util: 29.7.0
|
|
||||||
micromatch: 4.0.5
|
|
||||||
pirates: 4.0.6
|
|
||||||
slash: 3.0.0
|
|
||||||
write-file-atomic: 4.0.2
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jest/types@29.6.3:
|
/@jest/types@29.6.3:
|
||||||
resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
|
resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
@ -1881,6 +1645,7 @@ packages:
|
|||||||
'@types/node': 20.8.10
|
'@types/node': 20.8.10
|
||||||
'@types/yargs': 17.0.28
|
'@types/yargs': 17.0.28
|
||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@jridgewell/gen-mapping@0.3.3:
|
/@jridgewell/gen-mapping@0.3.3:
|
||||||
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
|
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
|
||||||
@ -2184,6 +1949,36 @@ packages:
|
|||||||
rc9: 2.1.1
|
rc9: 2.1.1
|
||||||
std-env: 3.4.3
|
std-env: 3.4.3
|
||||||
|
|
||||||
|
/@nuxt/test-utils@3.8.1(playwright-core@1.39.0)(vitest@0.33.0)(vue@3.3.8):
|
||||||
|
resolution: {integrity: sha512-8ZQ+OZ7z5Sc5KG2aCvk0piheYSpGb2UQJMCWr8ORwEyZIw4awrkkwGzUY06e344E4StvJB8zxN122MEcFNOkow==}
|
||||||
|
engines: {node: ^14.18.0 || >=16.10.0}
|
||||||
|
peerDependencies:
|
||||||
|
'@jest/globals': ^29.5.0
|
||||||
|
playwright-core: ^1.34.3
|
||||||
|
vitest: ^0.30.0 || ^0.31.0 || ^0.32.0 || ^0.33.0
|
||||||
|
vue: 3.3.8
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@jest/globals':
|
||||||
|
optional: true
|
||||||
|
playwright-core:
|
||||||
|
optional: true
|
||||||
|
vitest:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@nuxt/kit': link:packages/kit
|
||||||
|
'@nuxt/schema': link:packages/schema
|
||||||
|
consola: 3.2.3
|
||||||
|
defu: 6.1.3
|
||||||
|
execa: 8.0.1
|
||||||
|
get-port-please: 3.1.1
|
||||||
|
ofetch: 1.3.3
|
||||||
|
pathe: 1.1.1
|
||||||
|
playwright-core: 1.39.0
|
||||||
|
ufo: 1.3.1
|
||||||
|
vitest: 0.33.0(happy-dom@12.10.3)
|
||||||
|
vue: 3.3.8(typescript@5.2.2)
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@nuxt/ui-templates@1.3.1:
|
/@nuxt/ui-templates@1.3.1:
|
||||||
resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==}
|
resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -2537,18 +2332,6 @@ packages:
|
|||||||
/@sinclair/typebox@0.27.8:
|
/@sinclair/typebox@0.27.8:
|
||||||
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
||||||
|
|
||||||
/@sinonjs/commons@3.0.0:
|
|
||||||
resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
|
|
||||||
dependencies:
|
|
||||||
type-detect: 4.0.8
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@sinonjs/fake-timers@10.3.0:
|
|
||||||
resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
|
|
||||||
dependencies:
|
|
||||||
'@sinonjs/commons': 3.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@tootallnate/once@2.0.0:
|
/@tootallnate/once@2.0.0:
|
||||||
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
|
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
@ -2620,12 +2403,6 @@ packages:
|
|||||||
'@types/node': 20.8.10
|
'@types/node': 20.8.10
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/graceful-fs@4.1.8:
|
|
||||||
resolution: {integrity: sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==}
|
|
||||||
dependencies:
|
|
||||||
'@types/node': 20.8.10
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/hash-sum@1.0.1:
|
/@types/hash-sum@1.0.1:
|
||||||
resolution: {integrity: sha512-5JLywbPgWZVgxhAV//qTU6LPurKfQeiyw20GKZMi9V7AjHnAP4t1eNCJ1mC2L4TAicuS71MVoFYVcEM+EiR4lg==}
|
resolution: {integrity: sha512-5JLywbPgWZVgxhAV//qTU6LPurKfQeiyw20GKZMi9V7AjHnAP4t1eNCJ1mC2L4TAicuS71MVoFYVcEM+EiR4lg==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -2637,16 +2414,19 @@ packages:
|
|||||||
|
|
||||||
/@types/istanbul-lib-coverage@2.0.5:
|
/@types/istanbul-lib-coverage@2.0.5:
|
||||||
resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==}
|
resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/istanbul-lib-report@3.0.2:
|
/@types/istanbul-lib-report@3.0.2:
|
||||||
resolution: {integrity: sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==}
|
resolution: {integrity: sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/istanbul-lib-coverage': 2.0.5
|
'@types/istanbul-lib-coverage': 2.0.5
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/istanbul-reports@3.0.3:
|
/@types/istanbul-reports@3.0.3:
|
||||||
resolution: {integrity: sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==}
|
resolution: {integrity: sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/istanbul-lib-report': 3.0.2
|
'@types/istanbul-lib-report': 3.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/json-schema@7.0.14:
|
/@types/json-schema@7.0.14:
|
||||||
resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==}
|
resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==}
|
||||||
@ -2714,10 +2494,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==}
|
resolution: {integrity: sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/stack-utils@2.0.2:
|
|
||||||
resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/tapable@1.0.10:
|
/@types/tapable@1.0.10:
|
||||||
resolution: {integrity: sha512-q8F20SdXG5fdVJQ5yxsVlH+f+oekP42QeHv4s5KlrxTMT0eopXn7ol1rhxMcksf8ph7XNv811iVDE2hOpUvEPg==}
|
resolution: {integrity: sha512-q8F20SdXG5fdVJQ5yxsVlH+f+oekP42QeHv4s5KlrxTMT0eopXn7ol1rhxMcksf8ph7XNv811iVDE2hOpUvEPg==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -2781,11 +2557,13 @@ packages:
|
|||||||
|
|
||||||
/@types/yargs-parser@21.0.1:
|
/@types/yargs-parser@21.0.1:
|
||||||
resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==}
|
resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/yargs@17.0.28:
|
/@types/yargs@17.0.28:
|
||||||
resolution: {integrity: sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==}
|
resolution: {integrity: sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/yargs-parser': 21.0.1
|
'@types/yargs-parser': 21.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.53.0)(typescript@5.2.2):
|
/@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.53.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==}
|
resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==}
|
||||||
@ -3577,12 +3355,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/argparse@1.0.10:
|
|
||||||
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
|
|
||||||
dependencies:
|
|
||||||
sprintf-js: 1.0.3
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/argparse@2.0.1:
|
/argparse@2.0.1:
|
||||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||||
|
|
||||||
@ -3727,39 +3499,6 @@ packages:
|
|||||||
/b4a@1.6.4:
|
/b4a@1.6.4:
|
||||||
resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==}
|
resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==}
|
||||||
|
|
||||||
/babel-plugin-istanbul@6.1.1:
|
|
||||||
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
|
||||||
'@istanbuljs/load-nyc-config': 1.1.0
|
|
||||||
'@istanbuljs/schema': 0.1.3
|
|
||||||
istanbul-lib-instrument: 5.2.1
|
|
||||||
test-exclude: 6.0.0
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.2):
|
|
||||||
resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2)
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/babel-walk@3.0.0-canary-5:
|
/babel-walk@3.0.0-canary-5:
|
||||||
resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
|
resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
|
||||||
engines: {node: '>= 10.0.0'}
|
engines: {node: '>= 10.0.0'}
|
||||||
@ -3831,12 +3570,6 @@ packages:
|
|||||||
node-releases: 2.0.13
|
node-releases: 2.0.13
|
||||||
update-browserslist-db: 1.0.13(browserslist@4.22.1)
|
update-browserslist-db: 1.0.13(browserslist@4.22.1)
|
||||||
|
|
||||||
/bser@2.1.1:
|
|
||||||
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
|
|
||||||
dependencies:
|
|
||||||
node-int64: 0.4.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/buffer-crc32@0.2.13:
|
/buffer-crc32@0.2.13:
|
||||||
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
|
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
|
||||||
|
|
||||||
@ -3925,11 +3658,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
/camelcase@5.3.1:
|
|
||||||
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/camelcase@6.3.0:
|
/camelcase@6.3.0:
|
||||||
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
|
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@ -4866,11 +4594,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
||||||
engines: {node: '>=0.8.0'}
|
engines: {node: '>=0.8.0'}
|
||||||
|
|
||||||
/escape-string-regexp@2.0.0:
|
|
||||||
resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/escape-string-regexp@4.0.0:
|
/escape-string-regexp@4.0.0:
|
||||||
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@ -5220,12 +4943,6 @@ packages:
|
|||||||
acorn-jsx: 5.3.2(acorn@8.11.2)
|
acorn-jsx: 5.3.2(acorn@8.11.2)
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
/esprima@4.0.1:
|
|
||||||
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
|
|
||||||
engines: {node: '>=4'}
|
|
||||||
hasBin: true
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/esquery@1.5.0:
|
/esquery@1.5.0:
|
||||||
resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
|
resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
|
||||||
engines: {node: '>=0.10'}
|
engines: {node: '>=0.10'}
|
||||||
@ -5308,17 +5025,6 @@ packages:
|
|||||||
signal-exit: 4.1.0
|
signal-exit: 4.1.0
|
||||||
strip-final-newline: 3.0.0
|
strip-final-newline: 3.0.0
|
||||||
|
|
||||||
/expect@29.7.0:
|
|
||||||
resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@jest/expect-utils': 29.7.0
|
|
||||||
jest-get-type: 29.6.3
|
|
||||||
jest-matcher-utils: 29.7.0
|
|
||||||
jest-message-util: 29.7.0
|
|
||||||
jest-util: 29.7.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/exponential-backoff@3.1.1:
|
/exponential-backoff@3.1.1:
|
||||||
resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
|
resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -5369,12 +5075,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
reusify: 1.0.4
|
reusify: 1.0.4
|
||||||
|
|
||||||
/fb-watchman@2.0.2:
|
|
||||||
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
|
|
||||||
dependencies:
|
|
||||||
bser: 2.1.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/fflate@0.8.1:
|
/fflate@0.8.1:
|
||||||
resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==}
|
resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -5587,11 +5287,6 @@ packages:
|
|||||||
has-proto: 1.0.1
|
has-proto: 1.0.1
|
||||||
has-symbols: 1.0.3
|
has-symbols: 1.0.3
|
||||||
|
|
||||||
/get-package-type@0.1.0:
|
|
||||||
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
|
|
||||||
engines: {node: '>=8.0.0'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/get-port-please@3.1.1:
|
/get-port-please@3.1.1:
|
||||||
resolution: {integrity: sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==}
|
resolution: {integrity: sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==}
|
||||||
|
|
||||||
@ -6273,24 +5968,6 @@ packages:
|
|||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/istanbul-lib-coverage@3.2.0:
|
|
||||||
resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/istanbul-lib-instrument@5.2.1:
|
|
||||||
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/parser': 7.23.0
|
|
||||||
'@istanbuljs/schema': 0.1.3
|
|
||||||
istanbul-lib-coverage: 3.2.0
|
|
||||||
semver: 6.3.1
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jackspeak@2.3.6:
|
/jackspeak@2.3.6:
|
||||||
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
|
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
@ -6299,107 +5976,6 @@ packages:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@pkgjs/parseargs': 0.11.0
|
'@pkgjs/parseargs': 0.11.0
|
||||||
|
|
||||||
/jest-diff@29.7.0:
|
|
||||||
resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
chalk: 4.1.2
|
|
||||||
diff-sequences: 29.6.3
|
|
||||||
jest-get-type: 29.6.3
|
|
||||||
pretty-format: 29.7.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-get-type@29.6.3:
|
|
||||||
resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-haste-map@29.7.0:
|
|
||||||
resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
'@types/graceful-fs': 4.1.8
|
|
||||||
'@types/node': 20.8.10
|
|
||||||
anymatch: 3.1.3
|
|
||||||
fb-watchman: 2.0.2
|
|
||||||
graceful-fs: 4.2.11
|
|
||||||
jest-regex-util: 29.6.3
|
|
||||||
jest-util: 29.7.0
|
|
||||||
jest-worker: 29.7.0
|
|
||||||
micromatch: 4.0.5
|
|
||||||
walker: 1.0.8
|
|
||||||
optionalDependencies:
|
|
||||||
fsevents: 2.3.3
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-matcher-utils@29.7.0:
|
|
||||||
resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
chalk: 4.1.2
|
|
||||||
jest-diff: 29.7.0
|
|
||||||
jest-get-type: 29.6.3
|
|
||||||
pretty-format: 29.7.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-message-util@29.7.0:
|
|
||||||
resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@babel/code-frame': 7.22.13
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
'@types/stack-utils': 2.0.2
|
|
||||||
chalk: 4.1.2
|
|
||||||
graceful-fs: 4.2.11
|
|
||||||
micromatch: 4.0.5
|
|
||||||
pretty-format: 29.7.0
|
|
||||||
slash: 3.0.0
|
|
||||||
stack-utils: 2.0.6
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-mock@29.7.0:
|
|
||||||
resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
'@types/node': 20.8.10
|
|
||||||
jest-util: 29.7.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-regex-util@29.6.3:
|
|
||||||
resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-snapshot@29.7.0:
|
|
||||||
resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
|
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.23.2
|
|
||||||
'@babel/generator': 7.23.0
|
|
||||||
'@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2)
|
|
||||||
'@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2)
|
|
||||||
'@babel/types': 7.23.0
|
|
||||||
'@jest/expect-utils': 29.7.0
|
|
||||||
'@jest/transform': 29.7.0
|
|
||||||
'@jest/types': 29.6.3
|
|
||||||
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2)
|
|
||||||
chalk: 4.1.2
|
|
||||||
expect: 29.7.0
|
|
||||||
graceful-fs: 4.2.11
|
|
||||||
jest-diff: 29.7.0
|
|
||||||
jest-get-type: 29.6.3
|
|
||||||
jest-matcher-utils: 29.7.0
|
|
||||||
jest-message-util: 29.7.0
|
|
||||||
jest-util: 29.7.0
|
|
||||||
natural-compare: 1.4.0
|
|
||||||
pretty-format: 29.7.0
|
|
||||||
semver: 7.5.4
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jest-util@29.7.0:
|
/jest-util@29.7.0:
|
||||||
resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
|
resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
@ -6410,6 +5986,7 @@ packages:
|
|||||||
ci-info: 3.9.0
|
ci-info: 3.9.0
|
||||||
graceful-fs: 4.2.11
|
graceful-fs: 4.2.11
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/jest-worker@27.5.1:
|
/jest-worker@27.5.1:
|
||||||
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
|
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
|
||||||
@ -6427,6 +6004,7 @@ packages:
|
|||||||
jest-util: 29.7.0
|
jest-util: 29.7.0
|
||||||
merge-stream: 2.0.0
|
merge-stream: 2.0.0
|
||||||
supports-color: 8.1.1
|
supports-color: 8.1.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/jiti@1.21.0:
|
/jiti@1.21.0:
|
||||||
resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
|
resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
|
||||||
@ -6451,14 +6029,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
|
|
||||||
/js-yaml@3.14.1:
|
|
||||||
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
|
|
||||||
hasBin: true
|
|
||||||
dependencies:
|
|
||||||
argparse: 1.0.10
|
|
||||||
esprima: 4.0.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/js-yaml@4.1.0:
|
/js-yaml@4.1.0:
|
||||||
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@ -6820,12 +6390,6 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/makeerror@1.0.12:
|
|
||||||
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
|
|
||||||
dependencies:
|
|
||||||
tmpl: 1.0.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/markdown-it@13.0.1:
|
/markdown-it@13.0.1:
|
||||||
resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
|
resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@ -7287,10 +6851,6 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/node-int64@0.4.0:
|
|
||||||
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/node-releases@2.0.13:
|
/node-releases@2.0.13:
|
||||||
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
|
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
|
||||||
|
|
||||||
@ -7771,11 +7331,6 @@ packages:
|
|||||||
engines: {node: '>=14.16'}
|
engines: {node: '>=14.16'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/pirates@4.0.6:
|
|
||||||
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
|
|
||||||
engines: {node: '>= 6'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/pkg-types@1.0.3:
|
/pkg-types@1.0.3:
|
||||||
resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
|
resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -8909,10 +8464,6 @@ packages:
|
|||||||
/spdx-license-ids@3.0.16:
|
/spdx-license-ids@3.0.16:
|
||||||
resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
|
resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
|
||||||
|
|
||||||
/sprintf-js@1.0.3:
|
|
||||||
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/ssri@10.0.5:
|
/ssri@10.0.5:
|
||||||
resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==}
|
resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==}
|
||||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||||
@ -8920,13 +8471,6 @@ packages:
|
|||||||
minipass: 7.0.4
|
minipass: 7.0.4
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/stack-utils@2.0.6:
|
|
||||||
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
dependencies:
|
|
||||||
escape-string-regexp: 2.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/stackback@0.0.2:
|
/stackback@0.0.2:
|
||||||
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -9156,15 +8700,6 @@ packages:
|
|||||||
commander: 2.20.3
|
commander: 2.20.3
|
||||||
source-map-support: 0.5.21
|
source-map-support: 0.5.21
|
||||||
|
|
||||||
/test-exclude@6.0.0:
|
|
||||||
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
dependencies:
|
|
||||||
'@istanbuljs/schema': 0.1.3
|
|
||||||
glob: 7.2.3
|
|
||||||
minimatch: 3.1.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/text-table@0.2.0:
|
/text-table@0.2.0:
|
||||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||||
|
|
||||||
@ -9207,10 +8742,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
|
resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
/tmpl@1.0.5:
|
|
||||||
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/to-fast-properties@2.0.0:
|
/to-fast-properties@2.0.0:
|
||||||
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@ -10057,12 +9588,6 @@ packages:
|
|||||||
'@vue/shared': 3.3.8
|
'@vue/shared': 3.3.8
|
||||||
typescript: 5.2.2
|
typescript: 5.2.2
|
||||||
|
|
||||||
/walker@1.0.8:
|
|
||||||
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
|
|
||||||
dependencies:
|
|
||||||
makeerror: 1.0.12
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/watchpack@2.4.0:
|
/watchpack@2.4.0:
|
||||||
resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
|
resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
|
||||||
engines: {node: '>=10.13.0'}
|
engines: {node: '>=10.13.0'}
|
||||||
@ -10321,14 +9846,6 @@ packages:
|
|||||||
/wrappy@1.0.2:
|
/wrappy@1.0.2:
|
||||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||||
|
|
||||||
/write-file-atomic@4.0.2:
|
|
||||||
resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
|
|
||||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
|
||||||
dependencies:
|
|
||||||
imurmurhash: 0.1.4
|
|
||||||
signal-exit: 3.0.7
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/ws@7.5.9:
|
/ws@7.5.9:
|
||||||
resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
|
resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
|
||||||
engines: {node: '>=8.3.0'}
|
engines: {node: '>=8.3.0'}
|
||||||
|
@ -23,6 +23,9 @@ for p in packages/* ; do
|
|||||||
if [[ $p == "packages/nuxi" ]] ; then
|
if [[ $p == "packages/nuxi" ]] ; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
if [[ $p == "packages/test-utils" ]] ; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
pushd $p
|
pushd $p
|
||||||
echo "Publishing $p"
|
echo "Publishing $p"
|
||||||
cp ../../LICENSE .
|
cp ../../LICENSE .
|
||||||
|
@ -13,6 +13,9 @@ for PKG in packages/* ; do
|
|||||||
if [[ $PKG == "packages/nuxi" ]] ; then
|
if [[ $PKG == "packages/nuxi" ]] ; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
if [[ $p == "packages/test-utils" ]] ; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
pushd $PKG
|
pushd $PKG
|
||||||
TAG="latest"
|
TAG="latest"
|
||||||
if [ "$PKG" == "packages/nuxt" ]; then
|
if [ "$PKG" == "packages/nuxt" ]; then
|
||||||
|
@ -13,6 +13,9 @@ for PKG in packages/* ; do
|
|||||||
if [[ $PKG == "packages/nuxi" ]] ; then
|
if [[ $PKG == "packages/nuxi" ]] ; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
if [[ $p == "packages/test-utils" ]] ; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
pushd $PKG
|
pushd $PKG
|
||||||
TAG="latest"
|
TAG="latest"
|
||||||
echo "⚡ Publishing $PKG with tag $TAG"
|
echo "⚡ Publishing $PKG with tag $TAG"
|
||||||
|
@ -5,6 +5,7 @@ import { joinURL, withQuery } from 'ufo'
|
|||||||
import { isCI, isWindows } from 'std-env'
|
import { isCI, isWindows } from 'std-env'
|
||||||
import { join, normalize } from 'pathe'
|
import { join, normalize } from 'pathe'
|
||||||
import { $fetch, createPage, fetch, isDev, setup, startServer, url, useTestContext } from '@nuxt/test-utils'
|
import { $fetch, createPage, fetch, isDev, setup, startServer, url, useTestContext } from '@nuxt/test-utils'
|
||||||
|
// @ts-expect-error subpath export needs to be fixed upstream
|
||||||
import { $fetchComponent } from '@nuxt/test-utils/experimental'
|
import { $fetchComponent } from '@nuxt/test-utils/experimental'
|
||||||
|
|
||||||
import type { NuxtIslandResponse } from '../packages/nuxt/src/core/runtime/nitro/renderer'
|
import type { NuxtIslandResponse } from '../packages/nuxt/src/core/runtime/nitro/renderer'
|
||||||
|
@ -7,9 +7,7 @@ export default defineConfig({
|
|||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'#build/nuxt.config.mjs': resolve('./test/mocks/nuxt-config'),
|
'#build/nuxt.config.mjs': resolve('./test/mocks/nuxt-config'),
|
||||||
'#app': resolve('./packages/nuxt/dist/app/index'),
|
'#app': resolve('./packages/nuxt/dist/app/index')
|
||||||
'@nuxt/test-utils/experimental': resolve('./packages/test-utils/src/experimental.ts'),
|
|
||||||
'@nuxt/test-utils': resolve('./packages/test-utils/src/index.ts')
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
define: {
|
define: {
|
||||||
|
Loading…
Reference in New Issue
Block a user