mirror of
https://github.com/vitejs/vite.git
synced 2024-11-21 14:48:41 +00:00
docs: add @shikiji/vitepress-twoslash
(#16168)
This commit is contained in:
parent
20bf97d6a9
commit
6f8a320665
@ -1,4 +1,5 @@
|
||||
import { defineConfig, DefaultTheme } from 'vitepress'
|
||||
import { transformerTwoslash } from '@shikijs/vitepress-twoslash'
|
||||
import { buildEnd } from './buildEnd.config'
|
||||
|
||||
const ogDescription = 'Next Generation Frontend Tooling'
|
||||
@ -342,5 +343,8 @@ export default defineConfig({
|
||||
])
|
||||
return pageData
|
||||
},
|
||||
markdown: {
|
||||
codeTransformers: [transformerTwoslash()],
|
||||
},
|
||||
buildEnd,
|
||||
})
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { h } from 'vue'
|
||||
import type { Theme } from 'vitepress'
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
import TwoslashFloatingVue from '@shikijs/vitepress-twoslash/client'
|
||||
import '@shikijs/vitepress-twoslash/style.css'
|
||||
import './styles/vars.css'
|
||||
import HomeSponsors from './components/HomeSponsors.vue'
|
||||
import AsideSponsors from './components/AsideSponsors.vue'
|
||||
@ -16,5 +18,6 @@ export default {
|
||||
},
|
||||
enhanceApp({ app }) {
|
||||
app.component('SvgImage', SvgImage)
|
||||
app.use(TwoslashFloatingVue)
|
||||
},
|
||||
} satisfies Theme
|
||||
|
13
docs/.vitepress/tsconfig.json
Normal file
13
docs/.vitepress/tsconfig.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Bundler",
|
||||
"strict": true,
|
||||
"noImplicitOverride": true,
|
||||
"noUnusedLocals": true,
|
||||
"esModuleInterop": true,
|
||||
"noEmit": true
|
||||
},
|
||||
"exclude": ["cache", "dist"]
|
||||
}
|
@ -48,13 +48,22 @@ type ResolveModulePreloadDependenciesFn = (
|
||||
|
||||
The `resolveDependencies` function will be called for each dynamic import with a list of the chunks it depends on, and it will also be called for each chunk imported in entry HTML files. A new dependencies array can be returned with these filtered or more dependencies injected, and their paths modified. The `deps` paths are relative to the `build.outDir`. Returning a relative path to the `hostId` for `hostType === 'js'` is allowed, in which case `new URL(dep, import.meta.url)` is used to get an absolute path when injecting this module preload in the HTML head.
|
||||
|
||||
```js
|
||||
<!-- prettier-ignore-start -->
|
||||
```js twoslash
|
||||
/** @type {import('vite').UserConfig} */
|
||||
const config = {
|
||||
build: {
|
||||
// ---cut-before---
|
||||
modulePreload: {
|
||||
resolveDependencies: (filename, deps, { hostId, hostType }) => {
|
||||
return deps.filter(condition)
|
||||
}
|
||||
},
|
||||
},
|
||||
// ---cut-after---
|
||||
},
|
||||
}
|
||||
```
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
The resolved dependency paths can be further modified using [`experimental.renderBuiltUrl`](../guide/build.md#advanced-base-options).
|
||||
|
||||
|
@ -19,7 +19,9 @@ Dependencies to exclude from pre-bundling.
|
||||
:::warning CommonJS
|
||||
CommonJS dependencies should not be excluded from optimization. If an ESM dependency is excluded from optimization, but has a nested CommonJS dependency, the CommonJS dependency should be added to `optimizeDeps.include`. Example:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import { defineConfig } from 'vite'
|
||||
// ---cut---
|
||||
export default defineConfig({
|
||||
optimizeDeps: {
|
||||
include: ['esm-dep > cjs-dep'],
|
||||
@ -37,7 +39,9 @@ By default, linked packages not inside `node_modules` are not pre-bundled. Use t
|
||||
|
||||
**Experimental:** If you're using a library with many deep imports, you can also specify a trailing glob pattern to pre-bundle all deep imports at once. This will avoid constantly pre-bundling whenever a new deep import is used. [Give Feedback](https://github.com/vitejs/vite/discussions/15833). For example:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import { defineConfig } from 'vite'
|
||||
// ---cut---
|
||||
export default defineConfig({
|
||||
optimizeDeps: {
|
||||
include: ['my-lib/components/**/*.vue'],
|
||||
|
@ -50,7 +50,9 @@ Vite also directly supports TS config files. You can use `vite.config.ts` with t
|
||||
|
||||
If the config needs to conditionally determine options based on the command (`serve` or `build`), the [mode](/guide/env-and-mode) being used, if it's an SSR build (`isSsrBuild`), or is previewing the build (`isPreview`), it can export a function instead:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import { defineConfig } from 'vite'
|
||||
// ---cut---
|
||||
export default defineConfig(({ command, mode, isSsrBuild, isPreview }) => {
|
||||
if (command === 'serve') {
|
||||
return {
|
||||
@ -73,7 +75,9 @@ It is important to note that in Vite's API the `command` value is `serve` during
|
||||
|
||||
If the config needs to call async functions, it can export an async function instead. And this async function can also be passed through `defineConfig` for improved intellisense support:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import { defineConfig } from 'vite'
|
||||
// ---cut---
|
||||
export default defineConfig(async ({ command, mode }) => {
|
||||
const data = await asyncFunction()
|
||||
return {
|
||||
@ -88,7 +92,7 @@ Environmental Variables can be obtained from `process.env` as usual.
|
||||
|
||||
Note that Vite doesn't load `.env` files by default as the files to load can only be determined after evaluating the Vite config, for example, the `root` and `envDir` options affect the loading behaviour. However, you can use the exported `loadEnv` helper to load the specific `.env` file if needed.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import { defineConfig, loadEnv } from 'vite'
|
||||
|
||||
export default defineConfig(({ command, mode }) => {
|
||||
|
@ -18,10 +18,10 @@ The first case is when `localhost` is used. Node.js under v17 reorders the resul
|
||||
|
||||
You can set [`dns.setDefaultResultOrder('verbatim')`](https://nodejs.org/api/dns.html#dns_dns_setdefaultresultorder_order) to disable the reordering behavior. Vite will then print the address as `localhost`.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import { defineConfig } from 'vite'
|
||||
import dns from 'dns'
|
||||
import dns from 'node:dns'
|
||||
|
||||
dns.setDefaultResultOrder('verbatim')
|
||||
|
||||
@ -238,7 +238,7 @@ Create Vite server in middleware mode.
|
||||
|
||||
- **Example:**
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import express from 'express'
|
||||
import { createServer as createViteServer } from 'vite'
|
||||
|
||||
@ -358,9 +358,9 @@ export default defineConfig({
|
||||
// in their paths to the ignore list.
|
||||
sourcemapIgnoreList(sourcePath, sourcemapPath) {
|
||||
return sourcePath.includes('node_modules')
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
::: tip Note
|
||||
|
@ -415,7 +415,7 @@ Adjust console output verbosity. Default is `'info'`.
|
||||
|
||||
Use a custom logger to log messages. You can use Vite's `createLogger` API to get the default logger and customize it to, for example, change the message or filter out certain warnings.
|
||||
|
||||
```js
|
||||
```ts twoslash
|
||||
import { createLogger, defineConfig } from 'vite'
|
||||
|
||||
const logger = createLogger()
|
||||
|
@ -8,15 +8,15 @@ The manual HMR API is primarily intended for framework and tooling authors. As a
|
||||
|
||||
Vite exposes its manual HMR API via the special `import.meta.hot` object:
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import type { ModuleNamespace } from 'vite/types/hot.d.ts'
|
||||
import type { InferCustomEventPayload } from 'vite/types/customEvent.d.ts'
|
||||
|
||||
// ---cut---
|
||||
interface ImportMeta {
|
||||
readonly hot?: ViteHotContext
|
||||
}
|
||||
|
||||
type ModuleNamespace = Record<string, any> & {
|
||||
[Symbol.toStringTag]: 'Module'
|
||||
}
|
||||
|
||||
interface ViteHotContext {
|
||||
readonly data: any
|
||||
|
||||
@ -32,7 +32,6 @@ interface ViteHotContext {
|
||||
prune(cb: (data: any) => void): void
|
||||
invalidate(message?: string): void
|
||||
|
||||
// `InferCustomEventPayload` provides types for built-in Vite events
|
||||
on<T extends string>(
|
||||
event: T,
|
||||
cb: (payload: InferCustomEventPayload<T>) => void,
|
||||
@ -67,7 +66,9 @@ Vite provides type definitions for `import.meta.hot` in [`vite/client.d.ts`](htt
|
||||
|
||||
For a module to self-accept, use `import.meta.hot.accept` with a callback which receives the updated module:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
export const count = 1
|
||||
|
||||
if (import.meta.hot) {
|
||||
@ -90,7 +91,13 @@ Vite requires that the call to this function appears as `import.meta.hot.accept(
|
||||
|
||||
A module can also accept updates from direct dependencies without reloading itself:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// @filename: /foo.d.ts
|
||||
export declare const foo: () => void
|
||||
|
||||
// @filename: /example.js
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import { foo } from './foo.js'
|
||||
|
||||
foo()
|
||||
@ -117,7 +124,9 @@ if (import.meta.hot) {
|
||||
|
||||
A self-accepting module or a module that expects to be accepted by others can use `hot.dispose` to clean-up any persistent side effects created by its updated copy:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
function setupSideEffect() {}
|
||||
|
||||
setupSideEffect()
|
||||
@ -133,7 +142,9 @@ if (import.meta.hot) {
|
||||
|
||||
Register a callback that will call when the module is no longer imported on the page. Compared to `hot.dispose`, this can be used if the source code cleans up side-effects by itself on updates and you only need to clean-up when it's removed from the page. Vite currently uses this for `.css` imports.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
function setupOrReuseSideEffect() {}
|
||||
|
||||
setupOrReuseSideEffect()
|
||||
@ -151,7 +162,9 @@ The `import.meta.hot.data` object is persisted across different instances of the
|
||||
|
||||
Note that re-assignment of `data` itself is not supported. Instead, you should mutate properties of the `data` object so information added from other handlers are preserved.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// ok
|
||||
import.meta.hot.data.someValue = 'hello'
|
||||
|
||||
@ -169,7 +182,9 @@ A self-accepting module may realize during runtime that it can't handle a HMR up
|
||||
|
||||
Note that you should always call `import.meta.hot.accept` even if you plan to call `invalidate` immediately afterwards, or else the HMR client won't listen for future changes to the self-accepting module. To communicate your intent clearly, we recommend calling `invalidate` within the `accept` callback like so:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import.meta.hot.accept((module) => {
|
||||
// You may use the new module instance to decide whether to invalidate.
|
||||
if (cannotHandleUpdate(module)) {
|
||||
|
@ -12,26 +12,24 @@ async function createServer(inlineConfig?: InlineConfig): Promise<ViteDevServer>
|
||||
|
||||
**Example Usage:**
|
||||
|
||||
```js
|
||||
import { fileURLToPath } from 'url'
|
||||
```ts twoslash
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { createServer } from 'vite'
|
||||
|
||||
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||
|
||||
;(async () => {
|
||||
const server = await createServer({
|
||||
// any valid user config options, plus `mode` and `configFile`
|
||||
configFile: false,
|
||||
root: __dirname,
|
||||
server: {
|
||||
port: 1337,
|
||||
},
|
||||
})
|
||||
await server.listen()
|
||||
const server = await createServer({
|
||||
// any valid user config options, plus `mode` and `configFile`
|
||||
configFile: false,
|
||||
root: __dirname,
|
||||
server: {
|
||||
port: 1337,
|
||||
},
|
||||
})
|
||||
await server.listen()
|
||||
|
||||
server.printUrls()
|
||||
server.bindCLIShortcuts({ print: true })
|
||||
})()
|
||||
server.printUrls()
|
||||
server.bindCLIShortcuts({ print: true })
|
||||
```
|
||||
|
||||
::: tip NOTE
|
||||
@ -44,7 +42,7 @@ When using [middleware mode](/config/server-options.html#server-middlewaremode)
|
||||
<details>
|
||||
<summary>Example</summary>
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import http from 'http'
|
||||
import { createServer } from 'vite'
|
||||
|
||||
@ -57,16 +55,17 @@ const vite = await createServer({
|
||||
// Provide the parent http server for proxy WebSocket
|
||||
server: parentServer,
|
||||
},
|
||||
},
|
||||
proxy: {
|
||||
'/ws': {
|
||||
target: 'ws://localhost:3000',
|
||||
// Proxying WebSocket
|
||||
ws: true,
|
||||
proxy: {
|
||||
'/ws': {
|
||||
target: 'ws://localhost:3000',
|
||||
// Proxying WebSocket
|
||||
ws: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
// @noErrors: 2339
|
||||
parentServer.use(vite.middlewares)
|
||||
```
|
||||
|
||||
@ -210,24 +209,22 @@ async function build(
|
||||
|
||||
**Example Usage:**
|
||||
|
||||
```js
|
||||
import path from 'path'
|
||||
import { fileURLToPath } from 'url'
|
||||
```ts twoslash
|
||||
import path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { build } from 'vite'
|
||||
|
||||
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||
|
||||
;(async () => {
|
||||
await build({
|
||||
root: path.resolve(__dirname, './project'),
|
||||
base: '/foo/',
|
||||
build: {
|
||||
rollupOptions: {
|
||||
// ...
|
||||
},
|
||||
await build({
|
||||
root: path.resolve(__dirname, './project'),
|
||||
base: '/foo/',
|
||||
build: {
|
||||
rollupOptions: {
|
||||
// ...
|
||||
},
|
||||
})
|
||||
})()
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
## `preview`
|
||||
@ -240,20 +237,19 @@ async function preview(inlineConfig?: InlineConfig): Promise<PreviewServer>
|
||||
|
||||
**Example Usage:**
|
||||
|
||||
```js
|
||||
```ts twoslash
|
||||
import { preview } from 'vite'
|
||||
;(async () => {
|
||||
const previewServer = await preview({
|
||||
// any valid user config options, plus `mode` and `configFile`
|
||||
preview: {
|
||||
port: 8080,
|
||||
open: true,
|
||||
},
|
||||
})
|
||||
|
||||
previewServer.printUrls()
|
||||
previewServer.bindCLIShortcuts({ print: true })
|
||||
})()
|
||||
const previewServer = await preview({
|
||||
// any valid user config options, plus `mode` and `configFile`
|
||||
preview: {
|
||||
port: 8080,
|
||||
open: true,
|
||||
},
|
||||
})
|
||||
|
||||
previewServer.printUrls()
|
||||
previewServer.bindCLIShortcuts({ print: true })
|
||||
```
|
||||
|
||||
## `PreviewServer`
|
||||
@ -328,7 +324,17 @@ Deeply merge two Vite configs. `isRoot` represents the level within the Vite con
|
||||
|
||||
You can use the `defineConfig` helper to merge a config in callback form with another config:
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import {
|
||||
defineConfig,
|
||||
mergeConfig,
|
||||
type UserConfigFnObject,
|
||||
type UserConfig,
|
||||
} from 'vite'
|
||||
declare const configAsCallback: UserConfigFnObject
|
||||
declare const configAsObject: UserConfig
|
||||
|
||||
// ---cut---
|
||||
export default defineConfig((configEnv) =>
|
||||
mergeConfig(configAsCallback(configEnv), configAsObject),
|
||||
)
|
||||
|
@ -579,7 +579,9 @@ We recommend **always prefixing** your event names to avoid collisions with othe
|
||||
|
||||
On the client side, use [`hot.on`](/guide/api-hmr.html#hot-on-event-cb) to listen to the events:
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// client side
|
||||
if (import.meta.hot) {
|
||||
import.meta.hot.on('my:greetings', (data) => {
|
||||
|
@ -7,7 +7,9 @@
|
||||
|
||||
Importing a static asset will return the resolved public URL when it is served:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import imgUrl from './img.png'
|
||||
document.getElementById('hero-img').src = imgUrl
|
||||
```
|
||||
@ -33,7 +35,9 @@ The behavior is similar to webpack's `file-loader`. The difference is that the i
|
||||
::: tip Inlining SVGs through `url()`
|
||||
When passing a URL of SVG to a manually constructed `url()` by JS, the variable should be wrapped within double quotes.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import imgUrl from './img.svg'
|
||||
document.getElementById('hero-img').style.background = `url("${imgUrl}")`
|
||||
```
|
||||
@ -44,7 +48,9 @@ document.getElementById('hero-img').style.background = `url("${imgUrl}")`
|
||||
|
||||
Assets that are not included in the internal list or in `assetsInclude`, can be explicitly imported as a URL using the `?url` suffix. This is useful, for example, to import [Houdini Paint Worklets](https://houdini.how/usage).
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import workletURL from 'extra-scalloped-border/worklet.js?url'
|
||||
CSS.paintWorklet.addModule(workletURL)
|
||||
```
|
||||
@ -53,7 +59,9 @@ CSS.paintWorklet.addModule(workletURL)
|
||||
|
||||
Assets can be imported as strings using the `?raw` suffix.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import shaderString from './shader.glsl?raw'
|
||||
```
|
||||
|
||||
@ -61,19 +69,25 @@ import shaderString from './shader.glsl?raw'
|
||||
|
||||
Scripts can be imported as web workers with the `?worker` or `?sharedworker` suffix.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// Separate chunk in the production build
|
||||
import Worker from './shader.js?worker'
|
||||
const worker = new Worker()
|
||||
```
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// sharedworker
|
||||
import SharedWorker from './shader.js?sharedworker'
|
||||
const sharedWorker = new SharedWorker()
|
||||
```
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// Inlined as base64 strings
|
||||
import InlineWorker from './shader.js?worker&inline'
|
||||
```
|
||||
|
@ -8,7 +8,9 @@ If you need a custom integration, you can follow the steps in this guide to conf
|
||||
|
||||
1. In your Vite config, configure the entry and enable build manifest:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import { defineConfig } from 'vite'
|
||||
// ---cut---
|
||||
// vite.config.js
|
||||
export default defineConfig({
|
||||
build: {
|
||||
|
@ -34,7 +34,6 @@ For advanced base path control, check out [Advanced Base Options](#advanced-base
|
||||
The build can be customized via various [build config options](/config/build-options.md). Specifically, you can directly adjust the underlying [Rollup options](https://rollupjs.org/configuration-options/) via `build.rollupOptions`:
|
||||
|
||||
```js
|
||||
// vite.config.js
|
||||
export default defineConfig({
|
||||
build: {
|
||||
rollupOptions: {
|
||||
@ -68,7 +67,7 @@ You should use `build.rollupOptions.output.manualChunks` function form when usin
|
||||
|
||||
Vite emits `vite:preloadError` event when it fails to load dynamic imports. `event.payload` contains the original import error. If you call `event.preventDefault()`, the error will not be thrown.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
window.addEventListener('vite:preloadError', (event) => {
|
||||
window.location.reload() // for example, refresh the page
|
||||
})
|
||||
@ -111,7 +110,7 @@ During dev, simply navigate or link to `/nested/` - it works as expected, just l
|
||||
|
||||
During build, all you need to do is to specify multiple `.html` files as entry points:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import { resolve } from 'path'
|
||||
import { defineConfig } from 'vite'
|
||||
@ -138,7 +137,7 @@ When you are developing a browser-oriented library, you are likely spending most
|
||||
|
||||
When it is time to bundle your library for distribution, use the [`build.lib` config option](/config/build-options.md#build-lib). Make sure to also externalize any dependencies that you do not want to bundle into your library, e.g. `vue` or `react`:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import { resolve } from 'path'
|
||||
import { defineConfig } from 'vite'
|
||||
@ -253,33 +252,44 @@ A user may choose to deploy in three different paths:
|
||||
|
||||
A single static [base](#public-base-path) isn't enough in these scenarios. Vite provides experimental support for advanced base options during build, using `experimental.renderBuiltUrl`.
|
||||
|
||||
```ts
|
||||
<!-- prettier-ignore-start -->
|
||||
```ts twoslash
|
||||
import type { UserConfig } from 'vite'
|
||||
const config: UserConfig = {
|
||||
// ---cut-before---
|
||||
experimental: {
|
||||
renderBuiltUrl(filename: string, { hostType }: { hostType: 'js' | 'css' | 'html' }) {
|
||||
renderBuiltUrl(filename, { hostType }) {
|
||||
if (hostType === 'js') {
|
||||
return { runtime: `window.__toCdnUrl(${JSON.stringify(filename)})` }
|
||||
} else {
|
||||
return { relative: true }
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
// ---cut-after---
|
||||
}
|
||||
```
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
If the hashed assets and public files aren't deployed together, options for each group can be defined independently using asset `type` included in the second `context` param given to the function.
|
||||
|
||||
```ts
|
||||
experimental: {
|
||||
renderBuiltUrl(filename: string, { hostId, hostType, type }: { hostId: string, hostType: 'js' | 'css' | 'html', type: 'public' | 'asset' }) {
|
||||
if (type === 'public') {
|
||||
return 'https://www.domain.com/' + filename
|
||||
}
|
||||
else if (path.extname(hostId) === '.js') {
|
||||
return { runtime: `window.__assetsPath(${JSON.stringify(filename)})` }
|
||||
}
|
||||
else {
|
||||
return 'https://cdn.domain.com/assets/' + filename
|
||||
}
|
||||
}
|
||||
```ts twoslash
|
||||
import type { UserConfig } from 'vite'
|
||||
import path from 'node:path'
|
||||
const config: UserConfig = {
|
||||
// ---cut-before---
|
||||
experimental: {
|
||||
renderBuiltUrl(filename, { hostId, hostType, type }) {
|
||||
if (type === 'public') {
|
||||
return 'https://www.domain.com/' + filename
|
||||
} else if (path.extname(hostId) === '.js') {
|
||||
return { runtime: `window.__assetsPath(${JSON.stringify(filename)})` }
|
||||
} else {
|
||||
return 'https://cdn.domain.com/assets/' + filename
|
||||
}
|
||||
},
|
||||
},
|
||||
// ---cut-after---
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -37,7 +37,9 @@ In a monorepo setup, a dependency may be a linked package from the same repo. Vi
|
||||
|
||||
However, this requires the linked dep to be exported as ESM. If not, you can add the dependency to [`optimizeDeps.include`](/config/dep-optimization-options.md#optimizedeps-include) and [`build.commonjsOptions.include`](/config/build-options.md#build-commonjsoptions) in your config.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import { defineConfig } from 'vite'
|
||||
// ---cut---
|
||||
export default defineConfig({
|
||||
optimizeDeps: {
|
||||
include: ['linked-dep'],
|
||||
|
@ -176,7 +176,7 @@ Vue users should use the official [@vitejs/plugin-vue-jsx](https://github.com/vi
|
||||
|
||||
If using JSX without React or Vue, custom `jsxFactory` and `jsxFragment` can be configured using the [`esbuild` option](/config/shared-options.md#esbuild). For example for Preact:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import { defineConfig } from 'vite'
|
||||
|
||||
@ -192,7 +192,7 @@ More details in [esbuild docs](https://esbuild.github.io/content-types/#jsx).
|
||||
|
||||
You can inject the JSX helpers using `jsxInject` (which is a Vite-only option) to avoid manual imports:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import { defineConfig } from 'vite'
|
||||
|
||||
@ -230,7 +230,9 @@ Any CSS file ending with `.module.css` is considered a [CSS modules file](https:
|
||||
}
|
||||
```
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import classes from './example.module.css'
|
||||
document.getElementById('foo').className = classes.red
|
||||
```
|
||||
@ -239,7 +241,9 @@ CSS modules behavior can be configured via the [`css.modules` option](/config/sh
|
||||
|
||||
If `css.modules.localsConvention` is set to enable camelCase locals (e.g. `localsConvention: 'camelCaseOnly'`), you can also use named imports:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// .apply-color -> applyColor
|
||||
import { applyColor } from './example.module.css'
|
||||
document.getElementById('foo').className = applyColor
|
||||
@ -274,7 +278,9 @@ You can also use CSS modules combined with pre-processors by prepending `.module
|
||||
|
||||
The automatic injection of CSS contents can be turned off via the `?inline` query parameter. In this case, the processed CSS string is returned as the module's default export as usual, but the styles aren't injected to the page.
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import './foo.css' // will be injected into the page
|
||||
import otherStyles from './bar.css?inline' // will not be injected
|
||||
```
|
||||
@ -305,29 +311,39 @@ By default, Vite uses esbuild to minify CSS. Lightning CSS can also be used as t
|
||||
|
||||
Importing a static asset will return the resolved public URL when it is served:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import imgUrl from './img.png'
|
||||
document.getElementById('hero-img').src = imgUrl
|
||||
```
|
||||
|
||||
Special queries can modify how assets are loaded:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// Explicitly load assets as URL
|
||||
import assetAsURL from './asset.js?url'
|
||||
```
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// Load assets as strings
|
||||
import assetAsString from './shader.glsl?raw'
|
||||
```
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// Load Web Workers
|
||||
import Worker from './worker.js?worker'
|
||||
```
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// Web Workers inlined as base64 strings at build time
|
||||
import InlineWorker from './worker.js?worker&inline'
|
||||
```
|
||||
@ -338,7 +354,9 @@ More details in [Static Asset Handling](./assets).
|
||||
|
||||
JSON files can be directly imported - named imports are also supported:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
// import the entire object
|
||||
import json from './example.json'
|
||||
// import a root field as named exports - helps with tree-shaking!
|
||||
@ -349,7 +367,9 @@ import { field } from './example.json'
|
||||
|
||||
Vite supports importing multiple modules from the file system via the special `import.meta.glob` function:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob('./dir/*.js')
|
||||
```
|
||||
|
||||
@ -375,7 +395,9 @@ for (const path in modules) {
|
||||
|
||||
Matched files are by default lazy-loaded via dynamic import and will be split into separate chunks during build. If you'd rather import all the modules directly (e.g. relying on side-effects in these modules to be applied first), you can pass `{ eager: true }` as the second argument:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob('./dir/*.js', { eager: true })
|
||||
```
|
||||
|
||||
@ -395,7 +417,9 @@ const modules = {
|
||||
|
||||
The first argument can be an array of globs, for example
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob(['./dir/*.js', './another/*.js'])
|
||||
```
|
||||
|
||||
@ -403,7 +427,9 @@ const modules = import.meta.glob(['./dir/*.js', './another/*.js'])
|
||||
|
||||
Negative glob patterns are also supported (prefixed with `!`). To ignore some files from the result, you can add exclude glob patterns to the first argument:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob(['./dir/*.js', '!**/bar.js'])
|
||||
```
|
||||
|
||||
@ -418,7 +444,9 @@ const modules = {
|
||||
|
||||
It's possible to only import parts of the modules with the `import` options.
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob('./dir/*.js', { import: 'setup' })
|
||||
```
|
||||
|
||||
@ -432,7 +460,9 @@ const modules = {
|
||||
|
||||
When combined with `eager` it's even possible to have tree-shaking enabled for those modules.
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob('./dir/*.js', {
|
||||
import: 'setup',
|
||||
eager: true,
|
||||
@ -451,7 +481,9 @@ const modules = {
|
||||
|
||||
Set `import` to `default` to import the default export.
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob('./dir/*.js', {
|
||||
import: 'default',
|
||||
eager: true,
|
||||
@ -472,7 +504,9 @@ const modules = {
|
||||
|
||||
You can also use the `query` option to provide queries to imports, for example, to import assets [as a string](https://vitejs.dev/guide/assets.html#importing-asset-as-string) or [as a url](https://vitejs.dev/guide/assets.html#importing-asset-as-url):
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const moduleStrings = import.meta.glob('./dir/*.svg', {
|
||||
query: '?raw',
|
||||
import: 'default',
|
||||
@ -497,7 +531,9 @@ const moduleUrls = {
|
||||
|
||||
You can also provide custom queries for other plugins to consume:
|
||||
|
||||
```ts
|
||||
```ts twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
const modules = import.meta.glob('./dir/*.js', {
|
||||
query: { foo: 'bar', bar: true },
|
||||
})
|
||||
@ -527,7 +563,9 @@ Note that variables only represent file names one level deep. If `file` is `'foo
|
||||
Pre-compiled `.wasm` files can be imported with `?init`.
|
||||
The default export will be an initialization function that returns a Promise of the [`WebAssembly.Instance`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Instance):
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import init from './example.wasm?init'
|
||||
|
||||
init().then((instance) => {
|
||||
@ -537,7 +575,10 @@ init().then((instance) => {
|
||||
|
||||
The init function can also take an importObject which is passed along to [`WebAssembly.instantiate`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/instantiate) as its second argument:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
import init from './example.wasm?init'
|
||||
// ---cut---
|
||||
init({
|
||||
imports: {
|
||||
someFunc: () => {
|
||||
@ -560,7 +601,9 @@ Use [`vite-plugin-wasm`](https://github.com/Menci/vite-plugin-wasm) or other com
|
||||
|
||||
If you need access to the `Module` object, e.g. to instantiate it multiple times, use an [explicit URL import](./assets#explicit-url-imports) to resolve the asset, and then perform the instantiation:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import wasmUrl from 'foo.wasm?url'
|
||||
|
||||
const main = async () => {
|
||||
@ -580,7 +623,9 @@ See the issue [Support wasm in SSR](https://github.com/vitejs/vite/issues/8882).
|
||||
|
||||
Here is an alternative, assuming the project base is the current directory:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import wasmUrl from 'foo.wasm?url'
|
||||
import { readFile } from 'node:fs/promises'
|
||||
|
||||
@ -620,7 +665,9 @@ The worker detection will only work if the `new URL()` constructor is used direc
|
||||
|
||||
A web worker script can be directly imported by appending `?worker` or `?sharedworker` to the import request. The default export will be a custom worker constructor:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import MyWorker from './worker?worker'
|
||||
|
||||
const worker = new MyWorker()
|
||||
@ -630,13 +677,17 @@ The worker script can also use ESM `import` statements instead of `importScripts
|
||||
|
||||
By default, the worker script will be emitted as a separate chunk in the production build. If you wish to inline the worker as base64 strings, add the `inline` query:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import MyWorker from './worker?worker&inline'
|
||||
```
|
||||
|
||||
If you wish to retrieve the worker as a URL, add the `url` query:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
import MyWorker from './worker?worker&url'
|
||||
```
|
||||
|
||||
|
@ -53,7 +53,9 @@ You can use any placeholder you prefer instead of `<!--ssr-outlet-->`, as long a
|
||||
|
||||
If you need to perform conditional logic based on SSR vs. client, you can use
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
import 'vite/client'
|
||||
// ---cut---
|
||||
if (import.meta.env.SSR) {
|
||||
// ... server only logic
|
||||
}
|
||||
@ -67,10 +69,10 @@ When building an SSR app, you likely want to have full control over your main se
|
||||
|
||||
**server.js**
|
||||
|
||||
```js{15-18}
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { fileURLToPath } from 'url'
|
||||
```js{15-18} twoslash
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import express from 'express'
|
||||
import { createServer as createViteServer } from 'vite'
|
||||
|
||||
@ -109,7 +111,18 @@ Here `vite` is an instance of [ViteDevServer](./api-javascript#vitedevserver). `
|
||||
|
||||
The next step is implementing the `*` handler to serve server-rendered HTML:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// @noErrors
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
/** @type {import('express').Express} */
|
||||
var app
|
||||
/** @type {import('vite').ViteDevServer} */
|
||||
var vite
|
||||
|
||||
// ---cut---
|
||||
app.use('*', async (req, res, next) => {
|
||||
const url = req.originalUrl
|
||||
|
||||
@ -246,7 +259,9 @@ Some frameworks such as Vue or Svelte compile components into different formats
|
||||
|
||||
**Example:**
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
/** @type {() => import('vite').Plugin} */
|
||||
// ---cut---
|
||||
export function mySSRPlugin() {
|
||||
return {
|
||||
name: 'my-ssr',
|
||||
|
@ -10,7 +10,7 @@ To use a plugin, it needs to be added to the `devDependencies` of the project an
|
||||
$ npm add -D @vitejs/plugin-legacy
|
||||
```
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import legacy from '@vitejs/plugin-legacy'
|
||||
import { defineConfig } from 'vite'
|
||||
@ -46,7 +46,7 @@ For compatibility with some Rollup plugins, it may be needed to enforce the orde
|
||||
- default: invoke plugin after Vite core plugins
|
||||
- `post`: invoke plugin after Vite build plugins
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import image from '@rollup/plugin-image'
|
||||
import { defineConfig } from 'vite'
|
||||
@ -67,7 +67,7 @@ Check out [Plugins API Guide](./api-plugin.md#plugin-ordering) for detailed info
|
||||
|
||||
By default, plugins are invoked for both serve and build. In cases where a plugin needs to be conditionally applied only during serve or build, use the `apply` property to only invoke them during `'build'` or `'serve'`:
|
||||
|
||||
```js
|
||||
```js twoslash
|
||||
// vite.config.js
|
||||
import typescript2 from 'rollup-plugin-typescript2'
|
||||
import { defineConfig } from 'vite'
|
||||
|
16
docs/package.json
Normal file
16
docs/package.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"docs": "vitepress dev",
|
||||
"docs-build": "vitepress build",
|
||||
"docs-serve": "vitepress serve"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@shikijs/vitepress-twoslash": "^1.1.7",
|
||||
"@types/express": "^4.17.21",
|
||||
"vitepress": "1.0.0-rc.45",
|
||||
"vue": "^3.4.21"
|
||||
}
|
||||
}
|
10
package.json
10
package.json
@ -30,9 +30,9 @@
|
||||
"test-docs": "pnpm run docs-build",
|
||||
"debug-serve": "VITE_DEBUG_SERVE=1 vitest run -c vitest.config.e2e.ts",
|
||||
"debug-build": "VITE_TEST_BUILD=1 VITE_PRESERVE_BUILD_ARTIFACTS=1 vitest run -c vitest.config.e2e.ts",
|
||||
"docs": "vitepress dev docs",
|
||||
"docs-build": "vitepress build docs",
|
||||
"docs-serve": "vitepress serve docs",
|
||||
"docs": "pnpm --filter=docs run docs",
|
||||
"docs-build": "pnpm --filter=docs run docs-build",
|
||||
"docs-serve": "pnpm --filter=docs run docs-serve",
|
||||
"build": "pnpm -r --filter='./packages/*' run build",
|
||||
"dev": "pnpm -r --parallel --filter='./packages/*' run dev",
|
||||
"release": "tsx scripts/release.ts",
|
||||
@ -85,9 +85,7 @@
|
||||
"typescript": "^5.2.2",
|
||||
"unbuild": "^2.0.0",
|
||||
"vite": "workspace:*",
|
||||
"vitepress": "1.0.0-rc.45",
|
||||
"vitest": "^1.3.1",
|
||||
"vue": "^3.4.21"
|
||||
"vitest": "^1.3.1"
|
||||
},
|
||||
"simple-git-hooks": {
|
||||
"pre-commit": "pnpm exec lint-staged --concurrent false"
|
||||
|
@ -76,6 +76,10 @@ const debug = createDebugger('vite:config')
|
||||
const promisifiedRealpath = promisify(fs.realpath)
|
||||
|
||||
export interface ConfigEnv {
|
||||
/**
|
||||
* 'serve': during dev (`vite` command)
|
||||
* 'build': when building for production (`vite build` command)
|
||||
*/
|
||||
command: 'build' | 'serve'
|
||||
mode: string
|
||||
isSsrBuild?: boolean
|
||||
@ -105,8 +109,7 @@ export type UserConfigExport =
|
||||
/**
|
||||
* Type helper to make it easier to use vite.config.ts
|
||||
* accepts a direct {@link UserConfig} object, or a function that returns it.
|
||||
* The function receives a {@link ConfigEnv} object that exposes two properties:
|
||||
* `command` (either `'build'` or `'serve'`), and `mode`.
|
||||
* The function receives a {@link ConfigEnv} object.
|
||||
*/
|
||||
export function defineConfig(config: UserConfig): UserConfig
|
||||
export function defineConfig(config: Promise<UserConfig>): Promise<UserConfig>
|
||||
|
3
packages/vite/types/customEvent.d.ts
vendored
3
packages/vite/types/customEvent.d.ts
vendored
@ -31,5 +31,8 @@ export interface InvalidatePayload {
|
||||
message: string | undefined
|
||||
}
|
||||
|
||||
/**
|
||||
* provides types for built-in Vite events
|
||||
*/
|
||||
export type InferCustomEventPayload<T extends string> =
|
||||
T extends keyof CustomEventMap ? CustomEventMap[T] : any
|
||||
|
676
pnpm-lock.yaml
676
pnpm-lock.yaml
@ -159,12 +159,21 @@ importers:
|
||||
vite:
|
||||
specifier: workspace:*
|
||||
version: link:packages/vite
|
||||
vitepress:
|
||||
specifier: 1.0.0-rc.45
|
||||
version: 1.0.0-rc.45(typescript@5.2.2)
|
||||
vitest:
|
||||
specifier: ^1.3.1
|
||||
version: 1.3.1(@types/node@20.11.25)
|
||||
|
||||
docs:
|
||||
devDependencies:
|
||||
'@shikijs/vitepress-twoslash':
|
||||
specifier: ^1.1.7
|
||||
version: 1.1.7(typescript@5.2.2)
|
||||
'@types/express':
|
||||
specifier: ^4.17.21
|
||||
version: 4.17.21
|
||||
vitepress:
|
||||
specifier: 1.0.0-rc.45
|
||||
version: 1.0.0-rc.45(typescript@5.2.2)
|
||||
vue:
|
||||
specifier: ^3.4.21
|
||||
version: 3.4.21(typescript@5.2.2)
|
||||
@ -3607,6 +3616,22 @@ packages:
|
||||
engines: {node: '>=14'}
|
||||
dev: true
|
||||
|
||||
/@floating-ui/core@1.6.0:
|
||||
resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
|
||||
dependencies:
|
||||
'@floating-ui/utils': 0.2.1
|
||||
dev: true
|
||||
|
||||
/@floating-ui/dom@1.1.1:
|
||||
resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==}
|
||||
dependencies:
|
||||
'@floating-ui/core': 1.6.0
|
||||
dev: true
|
||||
|
||||
/@floating-ui/utils@0.2.1:
|
||||
resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
|
||||
dev: true
|
||||
|
||||
/@humanwhocodes/config-array@0.11.14:
|
||||
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
|
||||
engines: {node: '>=10.10.0'}
|
||||
@ -4068,12 +4093,44 @@ packages:
|
||||
resolution: {integrity: sha512-cKc5vGQ4p/4sjx48BHIO7CvLaN32vqpz5Wh7v2n+U1EezGdfX4Wms7khBctKz3iCg9yYq4sfGUc2t+JWj6EUsw==}
|
||||
dev: true
|
||||
|
||||
/@shikijs/core@1.1.7:
|
||||
resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==}
|
||||
dev: true
|
||||
|
||||
/@shikijs/transformers@1.1.5:
|
||||
resolution: {integrity: sha512-ot6KWPmLuSN9nA9FAhttOXZIjKIy7cnwpNtI9aWmYN72RUaDz8eojRfMGUXsXXUxW/buvcvdZQAQldk7/pFpdw==}
|
||||
dependencies:
|
||||
shiki: 1.1.5
|
||||
dev: true
|
||||
|
||||
/@shikijs/twoslash@1.1.7(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-WH/Ee67eixqDWjsAUXIJQUgRzPDApsz7Bci65Yobc7SWHNc8T2sY1UBa+MCV2mAj0D6VCYBwWlNxMDTfhN7K0Q==}
|
||||
dependencies:
|
||||
'@shikijs/core': 1.1.7
|
||||
twoslash: 0.2.4(typescript@5.2.2)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
dev: true
|
||||
|
||||
/@shikijs/vitepress-twoslash@1.1.7(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-rjPJlG1QvNDib5tQlQJKCZSN34lpqNwFRGO6hR50MkULmZRCMENRx22q1TZGJ4WJUeZYORIW7sxv5Y2s+TvLOQ==}
|
||||
dependencies:
|
||||
'@shikijs/twoslash': 1.1.7(typescript@5.2.2)
|
||||
floating-vue: 5.2.2(vue@3.4.21)
|
||||
mdast-util-from-markdown: 2.0.0
|
||||
mdast-util-gfm: 3.0.0
|
||||
mdast-util-to-hast: 13.1.0
|
||||
shiki: 1.1.7
|
||||
twoslash: 0.2.4(typescript@5.2.2)
|
||||
twoslash-vue: 0.2.4(typescript@5.2.2)
|
||||
vue: 3.4.21(typescript@5.2.2)
|
||||
transitivePeerDependencies:
|
||||
- '@nuxt/kit'
|
||||
- supports-color
|
||||
- typescript
|
||||
dev: true
|
||||
|
||||
/@sinclair/typebox@0.27.8:
|
||||
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
||||
dev: true
|
||||
@ -4123,10 +4180,23 @@ packages:
|
||||
'@babel/types': 7.24.0
|
||||
dev: true
|
||||
|
||||
/@types/body-parser@1.19.5:
|
||||
resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
|
||||
dependencies:
|
||||
'@types/connect': 3.4.38
|
||||
'@types/node': 20.11.25
|
||||
dev: true
|
||||
|
||||
/@types/braces@3.0.1:
|
||||
resolution: {integrity: sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ==}
|
||||
dev: true
|
||||
|
||||
/@types/connect@3.4.38:
|
||||
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
|
||||
dependencies:
|
||||
'@types/node': 20.11.25
|
||||
dev: true
|
||||
|
||||
/@types/convert-source-map@2.0.3:
|
||||
resolution: {integrity: sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==}
|
||||
dev: true
|
||||
@ -4164,6 +4234,24 @@ packages:
|
||||
'@types/node': 20.11.25
|
||||
dev: true
|
||||
|
||||
/@types/express-serve-static-core@4.17.43:
|
||||
resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
|
||||
dependencies:
|
||||
'@types/node': 20.11.25
|
||||
'@types/qs': 6.9.12
|
||||
'@types/range-parser': 1.2.7
|
||||
'@types/send': 0.17.4
|
||||
dev: true
|
||||
|
||||
/@types/express@4.17.21:
|
||||
resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
|
||||
dependencies:
|
||||
'@types/body-parser': 1.19.5
|
||||
'@types/express-serve-static-core': 4.17.43
|
||||
'@types/qs': 6.9.12
|
||||
'@types/serve-static': 1.15.5
|
||||
dev: true
|
||||
|
||||
/@types/fs-extra@11.0.4:
|
||||
resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
|
||||
dependencies:
|
||||
@ -4171,6 +4259,16 @@ packages:
|
||||
'@types/node': 20.11.25
|
||||
dev: true
|
||||
|
||||
/@types/hast@3.0.4:
|
||||
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
dev: true
|
||||
|
||||
/@types/http-errors@2.0.4:
|
||||
resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
|
||||
dev: true
|
||||
|
||||
/@types/json-schema@7.0.12:
|
||||
resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
|
||||
dev: true
|
||||
@ -4200,6 +4298,12 @@ packages:
|
||||
'@types/mdurl': 1.0.2
|
||||
dev: true
|
||||
|
||||
/@types/mdast@4.0.3:
|
||||
resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
dev: true
|
||||
|
||||
/@types/mdurl@1.0.2:
|
||||
resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
|
||||
dev: true
|
||||
@ -4210,6 +4314,14 @@ packages:
|
||||
'@types/braces': 3.0.1
|
||||
dev: true
|
||||
|
||||
/@types/mime@1.3.5:
|
||||
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
|
||||
dev: true
|
||||
|
||||
/@types/mime@3.0.4:
|
||||
resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==}
|
||||
dev: true
|
||||
|
||||
/@types/minimist@1.2.5:
|
||||
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
|
||||
dev: true
|
||||
@ -4248,6 +4360,14 @@ packages:
|
||||
kleur: 3.0.3
|
||||
dev: true
|
||||
|
||||
/@types/qs@6.9.12:
|
||||
resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==}
|
||||
dev: true
|
||||
|
||||
/@types/range-parser@1.2.7:
|
||||
resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
|
||||
dev: true
|
||||
|
||||
/@types/resolve@1.20.2:
|
||||
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
|
||||
dev: true
|
||||
@ -4262,12 +4382,31 @@ packages:
|
||||
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
|
||||
dev: true
|
||||
|
||||
/@types/send@0.17.4:
|
||||
resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
|
||||
dependencies:
|
||||
'@types/mime': 1.3.5
|
||||
'@types/node': 20.11.25
|
||||
dev: true
|
||||
|
||||
/@types/serve-static@1.15.5:
|
||||
resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
|
||||
dependencies:
|
||||
'@types/http-errors': 2.0.4
|
||||
'@types/mime': 3.0.4
|
||||
'@types/node': 20.11.25
|
||||
dev: true
|
||||
|
||||
/@types/stylus@0.48.42:
|
||||
resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==}
|
||||
dependencies:
|
||||
'@types/node': 20.11.25
|
||||
dev: true
|
||||
|
||||
/@types/unist@3.0.2:
|
||||
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
|
||||
dev: true
|
||||
|
||||
/@types/web-bluetooth@0.0.20:
|
||||
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
|
||||
dev: true
|
||||
@ -4410,6 +4549,14 @@ packages:
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
/@typescript/vfs@1.5.0:
|
||||
resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==}
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@ungap/structured-clone@1.2.0:
|
||||
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
||||
dev: true
|
||||
@ -4475,6 +4622,18 @@ packages:
|
||||
pretty-format: 29.7.0
|
||||
dev: true
|
||||
|
||||
/@volar/language-core@1.11.1:
|
||||
resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==}
|
||||
dependencies:
|
||||
'@volar/source-map': 1.11.1
|
||||
dev: true
|
||||
|
||||
/@volar/source-map@1.11.1:
|
||||
resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==}
|
||||
dependencies:
|
||||
muggle-string: 0.3.1
|
||||
dev: true
|
||||
|
||||
/@vue/compiler-core@3.2.0:
|
||||
resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==}
|
||||
dependencies:
|
||||
@ -4561,6 +4720,26 @@ packages:
|
||||
rfdc: 1.3.1
|
||||
dev: true
|
||||
|
||||
/@vue/language-core@1.8.27(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@volar/language-core': 1.11.1
|
||||
'@volar/source-map': 1.11.1
|
||||
'@vue/compiler-dom': 3.4.21
|
||||
'@vue/shared': 3.4.21
|
||||
computeds: 0.0.1
|
||||
minimatch: 9.0.3
|
||||
muggle-string: 0.3.1
|
||||
path-browserify: 1.0.1
|
||||
typescript: 5.2.2
|
||||
vue-template-compiler: 2.7.16
|
||||
dev: true
|
||||
|
||||
/@vue/reactivity@3.2.0:
|
||||
resolution: {integrity: sha512-39L3UJe8+jYeCTM/QrDglDM05O11UrmyhazUOHOOj7+a9pPVu95HGInh5CkKQf98mx2gq6t3PPN8bCN5wK8Wwg==}
|
||||
dependencies:
|
||||
@ -5109,6 +5288,10 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/ccount@2.0.1:
|
||||
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
|
||||
dev: true
|
||||
|
||||
/chai@4.3.10:
|
||||
resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==}
|
||||
engines: {node: '>=4'}
|
||||
@ -5144,6 +5327,10 @@ packages:
|
||||
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/character-entities@2.0.2:
|
||||
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
|
||||
dev: true
|
||||
|
||||
/character-parser@2.2.0:
|
||||
resolution: {integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A=}
|
||||
dependencies:
|
||||
@ -5276,6 +5463,10 @@ packages:
|
||||
dot-prop: 5.3.0
|
||||
dev: true
|
||||
|
||||
/computeds@0.0.1:
|
||||
resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
|
||||
dev: true
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
@ -5534,6 +5725,10 @@ packages:
|
||||
engines: {node: '>= 12'}
|
||||
dev: true
|
||||
|
||||
/de-indent@1.0.2:
|
||||
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
|
||||
dev: true
|
||||
|
||||
/debug@2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
@ -5566,6 +5761,12 @@ packages:
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
|
||||
/decode-named-character-reference@1.0.2:
|
||||
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
|
||||
dependencies:
|
||||
character-entities: 2.0.2
|
||||
dev: true
|
||||
|
||||
/deep-eql@4.1.3:
|
||||
resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
|
||||
engines: {node: '>=6'}
|
||||
@ -5608,6 +5809,11 @@ packages:
|
||||
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/dequal@2.0.3:
|
||||
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/destroy@1.2.0:
|
||||
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
|
||||
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
|
||||
@ -5623,6 +5829,12 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/devlop@1.1.0:
|
||||
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
|
||||
dependencies:
|
||||
dequal: 2.0.3
|
||||
dev: true
|
||||
|
||||
/didyoumean@1.2.2:
|
||||
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
||||
|
||||
@ -5862,6 +6074,11 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp@5.0.0:
|
||||
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/eslint-compat-utils@0.1.2(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
|
||||
engines: {node: '>=12'}
|
||||
@ -6291,6 +6508,20 @@ packages:
|
||||
resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==}
|
||||
dev: true
|
||||
|
||||
/floating-vue@5.2.2(vue@3.4.21):
|
||||
resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==}
|
||||
peerDependencies:
|
||||
'@nuxt/kit': ^3.2.0
|
||||
vue: ^3.2.0
|
||||
peerDependenciesMeta:
|
||||
'@nuxt/kit':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@floating-ui/dom': 1.1.1
|
||||
vue: 3.4.21(typescript@5.2.2)
|
||||
vue-resize: 2.0.0-alpha.1(vue@3.4.21)
|
||||
dev: true
|
||||
|
||||
/focus-trap@7.5.4:
|
||||
resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
|
||||
dependencies:
|
||||
@ -6632,6 +6863,11 @@ packages:
|
||||
dependencies:
|
||||
function-bind: 1.1.2
|
||||
|
||||
/he@1.2.0:
|
||||
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/hookable@5.5.3:
|
||||
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
|
||||
dev: true
|
||||
@ -7240,6 +7476,10 @@ packages:
|
||||
wrap-ansi: 9.0.0
|
||||
dev: true
|
||||
|
||||
/longest-streak@3.1.0:
|
||||
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
|
||||
dev: true
|
||||
|
||||
/loose-envify@1.4.0:
|
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||
hasBin: true
|
||||
@ -7313,6 +7553,147 @@ packages:
|
||||
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
|
||||
dev: true
|
||||
|
||||
/markdown-table@3.0.3:
|
||||
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
|
||||
dev: true
|
||||
|
||||
/mdast-util-find-and-replace@3.0.1:
|
||||
resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
escape-string-regexp: 5.0.0
|
||||
unist-util-is: 6.0.0
|
||||
unist-util-visit-parents: 6.0.1
|
||||
dev: true
|
||||
|
||||
/mdast-util-from-markdown@2.0.0:
|
||||
resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
'@types/unist': 3.0.2
|
||||
decode-named-character-reference: 1.0.2
|
||||
devlop: 1.1.0
|
||||
mdast-util-to-string: 4.0.0
|
||||
micromark: 4.0.0
|
||||
micromark-util-decode-numeric-character-reference: 2.0.1
|
||||
micromark-util-decode-string: 2.0.0
|
||||
micromark-util-normalize-identifier: 2.0.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
unist-util-stringify-position: 4.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/mdast-util-gfm-autolink-literal@2.0.0:
|
||||
resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
ccount: 2.0.1
|
||||
devlop: 1.1.0
|
||||
mdast-util-find-and-replace: 3.0.1
|
||||
micromark-util-character: 2.1.0
|
||||
dev: true
|
||||
|
||||
/mdast-util-gfm-footnote@2.0.0:
|
||||
resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
devlop: 1.1.0
|
||||
mdast-util-from-markdown: 2.0.0
|
||||
mdast-util-to-markdown: 2.1.0
|
||||
micromark-util-normalize-identifier: 2.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/mdast-util-gfm-strikethrough@2.0.0:
|
||||
resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
mdast-util-from-markdown: 2.0.0
|
||||
mdast-util-to-markdown: 2.1.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/mdast-util-gfm-table@2.0.0:
|
||||
resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
devlop: 1.1.0
|
||||
markdown-table: 3.0.3
|
||||
mdast-util-from-markdown: 2.0.0
|
||||
mdast-util-to-markdown: 2.1.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/mdast-util-gfm-task-list-item@2.0.0:
|
||||
resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
devlop: 1.1.0
|
||||
mdast-util-from-markdown: 2.0.0
|
||||
mdast-util-to-markdown: 2.1.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/mdast-util-gfm@3.0.0:
|
||||
resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
|
||||
dependencies:
|
||||
mdast-util-from-markdown: 2.0.0
|
||||
mdast-util-gfm-autolink-literal: 2.0.0
|
||||
mdast-util-gfm-footnote: 2.0.0
|
||||
mdast-util-gfm-strikethrough: 2.0.0
|
||||
mdast-util-gfm-table: 2.0.0
|
||||
mdast-util-gfm-task-list-item: 2.0.0
|
||||
mdast-util-to-markdown: 2.1.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/mdast-util-phrasing@4.1.0:
|
||||
resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
unist-util-is: 6.0.0
|
||||
dev: true
|
||||
|
||||
/mdast-util-to-hast@13.1.0:
|
||||
resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==}
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
'@types/mdast': 4.0.3
|
||||
'@ungap/structured-clone': 1.2.0
|
||||
devlop: 1.1.0
|
||||
micromark-util-sanitize-uri: 2.0.0
|
||||
trim-lines: 3.0.1
|
||||
unist-util-position: 5.0.0
|
||||
unist-util-visit: 5.0.0
|
||||
vfile: 6.0.1
|
||||
dev: true
|
||||
|
||||
/mdast-util-to-markdown@2.1.0:
|
||||
resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
'@types/unist': 3.0.2
|
||||
longest-streak: 3.1.0
|
||||
mdast-util-phrasing: 4.1.0
|
||||
mdast-util-to-string: 4.0.0
|
||||
micromark-util-decode-string: 2.0.0
|
||||
unist-util-visit: 5.0.0
|
||||
zwitch: 2.0.4
|
||||
dev: true
|
||||
|
||||
/mdast-util-to-string@4.0.0:
|
||||
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.3
|
||||
dev: true
|
||||
|
||||
/media-typer@0.3.0:
|
||||
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
|
||||
engines: {node: '>= 0.6'}
|
||||
@ -7347,6 +7728,181 @@ packages:
|
||||
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
/micromark-core-commonmark@2.0.0:
|
||||
resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
|
||||
dependencies:
|
||||
decode-named-character-reference: 1.0.2
|
||||
devlop: 1.1.0
|
||||
micromark-factory-destination: 2.0.0
|
||||
micromark-factory-label: 2.0.0
|
||||
micromark-factory-space: 2.0.0
|
||||
micromark-factory-title: 2.0.0
|
||||
micromark-factory-whitespace: 2.0.0
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-chunked: 2.0.0
|
||||
micromark-util-classify-character: 2.0.0
|
||||
micromark-util-html-tag-name: 2.0.0
|
||||
micromark-util-normalize-identifier: 2.0.0
|
||||
micromark-util-resolve-all: 2.0.0
|
||||
micromark-util-subtokenize: 2.0.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-factory-destination@2.0.0:
|
||||
resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-factory-label@2.0.0:
|
||||
resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-factory-space@2.0.0:
|
||||
resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-factory-title@2.0.0:
|
||||
resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
|
||||
dependencies:
|
||||
micromark-factory-space: 2.0.0
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-factory-whitespace@2.0.0:
|
||||
resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
|
||||
dependencies:
|
||||
micromark-factory-space: 2.0.0
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-character@2.1.0:
|
||||
resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-chunked@2.0.0:
|
||||
resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-classify-character@2.0.0:
|
||||
resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-combine-extensions@2.0.0:
|
||||
resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
|
||||
dependencies:
|
||||
micromark-util-chunked: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-decode-numeric-character-reference@2.0.1:
|
||||
resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-decode-string@2.0.0:
|
||||
resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
|
||||
dependencies:
|
||||
decode-named-character-reference: 1.0.2
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-decode-numeric-character-reference: 2.0.1
|
||||
micromark-util-symbol: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-encode@2.0.0:
|
||||
resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
|
||||
dev: true
|
||||
|
||||
/micromark-util-html-tag-name@2.0.0:
|
||||
resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
|
||||
dev: true
|
||||
|
||||
/micromark-util-normalize-identifier@2.0.0:
|
||||
resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-resolve-all@2.0.0:
|
||||
resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
|
||||
dependencies:
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-sanitize-uri@2.0.0:
|
||||
resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-encode: 2.0.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-subtokenize@2.0.0:
|
||||
resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-util-chunked: 2.0.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
dev: true
|
||||
|
||||
/micromark-util-symbol@2.0.0:
|
||||
resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
|
||||
dev: true
|
||||
|
||||
/micromark-util-types@2.0.0:
|
||||
resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
|
||||
dev: true
|
||||
|
||||
/micromark@4.0.0:
|
||||
resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
|
||||
dependencies:
|
||||
'@types/debug': 4.1.12
|
||||
debug: 4.3.4
|
||||
decode-named-character-reference: 1.0.2
|
||||
devlop: 1.1.0
|
||||
micromark-core-commonmark: 2.0.0
|
||||
micromark-factory-space: 2.0.0
|
||||
micromark-util-character: 2.1.0
|
||||
micromark-util-chunked: 2.0.0
|
||||
micromark-util-combine-extensions: 2.0.0
|
||||
micromark-util-decode-numeric-character-reference: 2.0.1
|
||||
micromark-util-encode: 2.0.0
|
||||
micromark-util-normalize-identifier: 2.0.0
|
||||
micromark-util-resolve-all: 2.0.0
|
||||
micromark-util-sanitize-uri: 2.0.0
|
||||
micromark-util-subtokenize: 2.0.0
|
||||
micromark-util-symbol: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/micromatch@4.0.5:
|
||||
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
||||
engines: {node: '>=8.6'}
|
||||
@ -7537,6 +8093,10 @@ packages:
|
||||
/ms@2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
|
||||
/muggle-string@0.3.1:
|
||||
resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==}
|
||||
dev: true
|
||||
|
||||
/mustache@4.2.0:
|
||||
resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
|
||||
hasBin: true
|
||||
@ -7840,6 +8400,10 @@ packages:
|
||||
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/path-browserify@1.0.1:
|
||||
resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
|
||||
dev: true
|
||||
|
||||
/path-exists@4.0.0:
|
||||
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||
engines: {node: '>=8'}
|
||||
@ -8729,6 +9293,12 @@ packages:
|
||||
'@shikijs/core': 1.1.5
|
||||
dev: true
|
||||
|
||||
/shiki@1.1.7:
|
||||
resolution: {integrity: sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==}
|
||||
dependencies:
|
||||
'@shikijs/core': 1.1.7
|
||||
dev: true
|
||||
|
||||
/side-channel@1.0.4:
|
||||
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
|
||||
dependencies:
|
||||
@ -9170,6 +9740,10 @@ packages:
|
||||
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
|
||||
dev: false
|
||||
|
||||
/trim-lines@3.0.1:
|
||||
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
|
||||
dev: true
|
||||
|
||||
/ts-api-utils@1.0.1(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
|
||||
engines: {node: '>=16.13.0'}
|
||||
@ -9240,6 +9814,35 @@ packages:
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
/twoslash-protocol@0.2.4:
|
||||
resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==}
|
||||
dev: true
|
||||
|
||||
/twoslash-vue@0.2.4(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
dependencies:
|
||||
'@vue/language-core': 1.8.27(typescript@5.2.2)
|
||||
twoslash: 0.2.4(typescript@5.2.2)
|
||||
twoslash-protocol: 0.2.4
|
||||
typescript: 5.2.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/twoslash@0.2.4(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
dependencies:
|
||||
'@typescript/vfs': 1.5.0
|
||||
twoslash-protocol: 0.2.4
|
||||
typescript: 5.2.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/type-check@0.4.0:
|
||||
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
@ -9371,6 +9974,39 @@ packages:
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/unist-util-is@6.0.0:
|
||||
resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
dev: true
|
||||
|
||||
/unist-util-position@5.0.0:
|
||||
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
dev: true
|
||||
|
||||
/unist-util-stringify-position@4.0.0:
|
||||
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
dev: true
|
||||
|
||||
/unist-util-visit-parents@6.0.1:
|
||||
resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
unist-util-is: 6.0.0
|
||||
dev: true
|
||||
|
||||
/unist-util-visit@5.0.0:
|
||||
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
unist-util-is: 6.0.0
|
||||
unist-util-visit-parents: 6.0.1
|
||||
dev: true
|
||||
|
||||
/universalify@2.0.0:
|
||||
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
@ -9438,6 +10074,21 @@ packages:
|
||||
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/vfile-message@4.0.2:
|
||||
resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
unist-util-stringify-position: 4.0.0
|
||||
dev: true
|
||||
|
||||
/vfile@6.0.1:
|
||||
resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
|
||||
dependencies:
|
||||
'@types/unist': 3.0.2
|
||||
unist-util-stringify-position: 4.0.0
|
||||
vfile-message: 4.0.2
|
||||
dev: true
|
||||
|
||||
/vite-node@1.3.1:
|
||||
resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
@ -9571,6 +10222,14 @@ packages:
|
||||
vue: 3.4.21(typescript@5.2.2)
|
||||
dev: true
|
||||
|
||||
/vue-resize@2.0.0-alpha.1(vue@3.4.21):
|
||||
resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==}
|
||||
peerDependencies:
|
||||
vue: ^3.0.0
|
||||
dependencies:
|
||||
vue: 3.4.21(typescript@5.2.2)
|
||||
dev: true
|
||||
|
||||
/vue-router@4.3.0(vue@3.4.21):
|
||||
resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==}
|
||||
peerDependencies:
|
||||
@ -9580,6 +10239,13 @@ packages:
|
||||
vue: 3.4.21(typescript@5.2.2)
|
||||
dev: false
|
||||
|
||||
/vue-template-compiler@2.7.16:
|
||||
resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==}
|
||||
dependencies:
|
||||
de-indent: 1.0.2
|
||||
he: 1.2.0
|
||||
dev: true
|
||||
|
||||
/vue@3.2.0:
|
||||
resolution: {integrity: sha512-eMo5yCdkWRmBfqp/acBI/Y1Omgk0NyGqPViaU66eOpKarXNtkdImzDA57+E76jnWVr6MEp/rg1n0vnxaVvALMQ==}
|
||||
dependencies:
|
||||
@ -9768,6 +10434,10 @@ packages:
|
||||
resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
|
||||
dev: true
|
||||
|
||||
/zwitch@2.0.4:
|
||||
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
||||
dev: true
|
||||
|
||||
file:playground/alias/dir/module:
|
||||
resolution: {directory: playground/alias/dir/module, type: directory}
|
||||
name: '@vitejs/test-aliased-module'
|
||||
|
@ -2,3 +2,4 @@ packages:
|
||||
- 'packages/*'
|
||||
- 'playground/**'
|
||||
- 'packages/**/__tests__/**'
|
||||
- docs
|
||||
|
Loading…
Reference in New Issue
Block a user