mirror of https://github.com/vuejs/core.git
Merge remote-tracking branch 'upstream/main'
This commit is contained in:
commit
736db791a4
30
CHANGELOG.md
30
CHANGELOG.md
|
@ -1,3 +1,33 @@
|
|||
## [3.4.15](https://github.com/vuejs/core/compare/v3.4.14...v3.4.15) (2024-01-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **compiler-sfc:** fix type resolution for symlinked node_modules structure w/ pnpm ([75e866b](https://github.com/vuejs/core/commit/75e866bd4ef368b4e037a4933dbaf188920dc683)), closes [#10121](https://github.com/vuejs/core/issues/10121)
|
||||
* correct url for production error reference links ([c3087ff](https://github.com/vuejs/core/commit/c3087ff2cce7d96c60a870f8233441311ab4dfb4))
|
||||
* **hydration:** fix incorect mismatch warning for option with non-string value and inner text ([d16a213](https://github.com/vuejs/core/commit/d16a2138a33b106b9e1499bbb9e1c67790370c97))
|
||||
* **reactivity:** re-fix [#10114](https://github.com/vuejs/core/issues/10114) ([#10123](https://github.com/vuejs/core/issues/10123)) ([c2b274a](https://github.com/vuejs/core/commit/c2b274a887f61deb7e0185d1bef3b77d31e991cc))
|
||||
* **runtime-core:** should not warn out-of-render slot fn usage when mounting another app in setup ([#10125](https://github.com/vuejs/core/issues/10125)) ([6fa33e6](https://github.com/vuejs/core/commit/6fa33e67ec42af140a86fbdb86939032c3a1f345)), closes [#10124](https://github.com/vuejs/core/issues/10124)
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* **templateRef:** avoid double render when using template ref on v-for ([de4d2e2](https://github.com/vuejs/core/commit/de4d2e2143ea8397cebeb1c7a57a60007b283c9f)), closes [#9908](https://github.com/vuejs/core/issues/9908)
|
||||
* **v-model:** optimize v-model multiple select w/ large lists ([2ffb956](https://github.com/vuejs/core/commit/2ffb956efe692da059f4895669084c5278871351)), closes [#10014](https://github.com/vuejs/core/issues/10014)
|
||||
|
||||
|
||||
|
||||
## [3.4.14](https://github.com/vuejs/core/compare/v3.4.13...v3.4.14) (2024-01-15)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **compiler-sfc:** enable prefixIdentifiers by default when reparsing on consumed AST ([#10105](https://github.com/vuejs/core/issues/10105)) ([48bf8e4](https://github.com/vuejs/core/commit/48bf8e4c708ec620e4852d71c8713394457108ee))
|
||||
* **deps:** update dependency postcss to ^8.4.33 ([#10110](https://github.com/vuejs/core/issues/10110)) ([a557006](https://github.com/vuejs/core/commit/a557006f8e7f110c6f322de38931dceaab8e9cbb))
|
||||
* **reactivity:** fix regression for computed with mutation ([#10119](https://github.com/vuejs/core/issues/10119)) ([20f62af](https://github.com/vuejs/core/commit/20f62afaafd422e42b99dde9c16f9a4ebfb9c5f7)), closes [#10114](https://github.com/vuejs/core/issues/10114)
|
||||
|
||||
|
||||
|
||||
## [3.4.13](https://github.com/vuejs/core/compare/v3.4.12...v3.4.13) (2024-01-13)
|
||||
|
||||
|
||||
|
|
16
package.json
16
package.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"private": true,
|
||||
"version": "0.0.0-vapor",
|
||||
"packageManager": "pnpm@8.14.0",
|
||||
"packageManager": "pnpm@8.14.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "node scripts/dev.js vue vue-vapor",
|
||||
|
@ -70,11 +70,11 @@
|
|||
"@rollup/plugin-terser": "^0.4.4",
|
||||
"@types/hash-sum": "^1.0.2",
|
||||
"@types/minimist": "^1.2.5",
|
||||
"@types/node": "^20.10.7",
|
||||
"@types/node": "^20.11.1",
|
||||
"@types/semver": "^7.5.6",
|
||||
"@typescript-eslint/eslint-plugin": "^6.17.0",
|
||||
"@typescript-eslint/parser": "^6.17.0",
|
||||
"@vitest/coverage-istanbul": "^1.1.3",
|
||||
"@typescript-eslint/eslint-plugin": "^6.18.1",
|
||||
"@typescript-eslint/parser": "^6.18.1",
|
||||
"@vitest/coverage-istanbul": "^1.2.0",
|
||||
"@vue/consolidate": "0.17.3",
|
||||
"conventional-changelog-cli": "^4.1.0",
|
||||
"enquirer": "^2.4.1",
|
||||
|
@ -83,7 +83,7 @@
|
|||
"eslint": "^8.56.0",
|
||||
"eslint-define-config": "^1.24.1",
|
||||
"eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1",
|
||||
"eslint-plugin-jest": "^27.6.1",
|
||||
"eslint-plugin-jest": "^27.6.3",
|
||||
"estree-walker": "^2.0.2",
|
||||
"execa": "^8.0.1",
|
||||
"jsdom": "^23.2.0",
|
||||
|
@ -95,7 +95,7 @@
|
|||
"minimist": "^1.2.8",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"picocolors": "^1.0.0",
|
||||
"prettier": "^3.1.1",
|
||||
"prettier": "^3.2.2",
|
||||
"pretty-bytes": "^6.1.1",
|
||||
"pug": "^3.0.2",
|
||||
"puppeteer": "~21.7.0",
|
||||
|
@ -113,6 +113,6 @@
|
|||
"tsx": "^4.7.0",
|
||||
"typescript": "^5.2.2",
|
||||
"vite": "^5.0.5",
|
||||
"vitest": "^1.1.3"
|
||||
"vitest": "^1.2.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/compiler-core",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/compiler-core",
|
||||
"main": "index.js",
|
||||
"module": "dist/compiler-core.esm-bundler.js",
|
||||
|
|
|
@ -30,7 +30,7 @@ export function createCompilerError<T extends number>(
|
|||
const msg =
|
||||
__DEV__ || !__BROWSER__
|
||||
? (messages || errorMessages)[code] + (additionalMessage || ``)
|
||||
: `https://vuejs.org/errors/#compiler-${code}`
|
||||
: `https://vuejs.org/error-reference/#compiler-${code}`
|
||||
const error = new SyntaxError(String(msg)) as InferCompilerError<T>
|
||||
error.code = code
|
||||
error.loc = loc
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/compiler-dom",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/compiler-dom",
|
||||
"main": "index.js",
|
||||
"module": "dist/compiler-dom.esm-bundler.js",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/compiler-sfc",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/compiler-sfc",
|
||||
"main": "dist/compiler-sfc.cjs.js",
|
||||
"module": "dist/compiler-sfc.esm-browser.js",
|
||||
|
@ -49,7 +49,7 @@
|
|||
"@vue/shared": "workspace:*",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.5",
|
||||
"postcss": "^8.4.32",
|
||||
"postcss": "^8.4.33",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
@ -118,6 +118,7 @@ export interface SFCScriptCompileOptions {
|
|||
fs?: {
|
||||
fileExists(file: string): boolean
|
||||
readFile(file: string): string | undefined
|
||||
realpath?(file: string): string
|
||||
}
|
||||
/**
|
||||
* Transform Vue SFCs into custom elements.
|
||||
|
|
|
@ -860,6 +860,7 @@ function resolveFS(ctx: TypeResolveContext): FS | undefined {
|
|||
}
|
||||
return fs.readFile(file)
|
||||
},
|
||||
realpath: fs.realpath,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -1048,7 +1049,7 @@ function resolveWithTS(
|
|||
if (filename.endsWith('.vue.ts')) {
|
||||
filename = filename.replace(/\.ts$/, '')
|
||||
}
|
||||
return filename
|
||||
return fs.realpath ? fs.realpath(filename) : filename
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/compiler-ssr",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/compiler-ssr",
|
||||
"main": "dist/compiler-ssr.cjs.js",
|
||||
"types": "dist/compiler-ssr.d.ts",
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { h, nextTick, nodeOps, render, serializeInner } from '@vue/runtime-test'
|
||||
import {
|
||||
type DebuggerEvent,
|
||||
ITERATE_KEY,
|
||||
|
@ -453,14 +454,10 @@ describe('reactivity/computed', () => {
|
|||
expect(fnSpy).toBeCalledTimes(2)
|
||||
})
|
||||
|
||||
it('...', () => {
|
||||
const fnSpy = vi.fn()
|
||||
it('should chained recurse effects clear dirty after trigger', () => {
|
||||
const v = ref(1)
|
||||
const c1 = computed(() => v.value)
|
||||
const c2 = computed(() => {
|
||||
fnSpy()
|
||||
return c1.value
|
||||
})
|
||||
const c2 = computed(() => c1.value)
|
||||
|
||||
c1.effect.allowRecurse = true
|
||||
c2.effect.allowRecurse = true
|
||||
|
@ -470,15 +467,78 @@ describe('reactivity/computed', () => {
|
|||
expect(c2.effect._dirtyLevel).toBe(DirtyLevels.NotDirty)
|
||||
})
|
||||
|
||||
it('should chained computeds dirtyLevel update with first computed effect', () => {
|
||||
const v = ref(0)
|
||||
const c1 = computed(() => {
|
||||
if (v.value === 0) {
|
||||
v.value = 1
|
||||
}
|
||||
return v.value
|
||||
})
|
||||
const c2 = computed(() => c1.value)
|
||||
const c3 = computed(() => c2.value)
|
||||
|
||||
c3.value
|
||||
|
||||
expect(c1.effect._dirtyLevel).toBe(DirtyLevels.Dirty)
|
||||
expect(c2.effect._dirtyLevel).toBe(DirtyLevels.MaybeDirty)
|
||||
expect(c3.effect._dirtyLevel).toBe(DirtyLevels.MaybeDirty)
|
||||
})
|
||||
|
||||
it('should work when chained(ref+computed)', () => {
|
||||
const value = ref(0)
|
||||
const consumer = computed(() => {
|
||||
value.value++
|
||||
const v = ref(0)
|
||||
const c1 = computed(() => {
|
||||
if (v.value === 0) {
|
||||
v.value = 1
|
||||
}
|
||||
return 'foo'
|
||||
})
|
||||
const provider = computed(() => value.value + consumer.value)
|
||||
expect(provider.value).toBe('0foo')
|
||||
expect(provider.effect._dirtyLevel).toBe(DirtyLevels.Dirty)
|
||||
expect(provider.value).toBe('1foo')
|
||||
const c2 = computed(() => v.value + c1.value)
|
||||
expect(c2.value).toBe('0foo')
|
||||
expect(c2.effect._dirtyLevel).toBe(DirtyLevels.Dirty)
|
||||
expect(c2.value).toBe('1foo')
|
||||
})
|
||||
|
||||
it('should trigger effect even computed already dirty', () => {
|
||||
const fnSpy = vi.fn()
|
||||
const v = ref(0)
|
||||
const c1 = computed(() => {
|
||||
if (v.value === 0) {
|
||||
v.value = 1
|
||||
}
|
||||
return 'foo'
|
||||
})
|
||||
const c2 = computed(() => v.value + c1.value)
|
||||
|
||||
effect(() => {
|
||||
fnSpy()
|
||||
c2.value
|
||||
})
|
||||
expect(fnSpy).toBeCalledTimes(1)
|
||||
expect(c1.effect._dirtyLevel).toBe(DirtyLevels.Dirty)
|
||||
expect(c2.effect._dirtyLevel).toBe(DirtyLevels.Dirty)
|
||||
v.value = 2
|
||||
expect(fnSpy).toBeCalledTimes(2)
|
||||
})
|
||||
|
||||
it('should be not dirty after deps mutate (mutate deps in computed)', async () => {
|
||||
const state = reactive<any>({})
|
||||
const consumer = computed(() => {
|
||||
if (!('a' in state)) state.a = 1
|
||||
return state.a
|
||||
})
|
||||
const Comp = {
|
||||
setup: () => {
|
||||
nextTick().then(() => {
|
||||
state.a = 2
|
||||
})
|
||||
return () => consumer.value
|
||||
},
|
||||
}
|
||||
const root = nodeOps.createElement('div')
|
||||
render(h(Comp), root)
|
||||
await nextTick()
|
||||
await nextTick()
|
||||
expect(serializeInner(root)).toBe(`2`)
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/reactivity",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/reactivity",
|
||||
"main": "index.js",
|
||||
"module": "dist/reactivity.esm-bundler.js",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { type DebuggerOptions, ReactiveEffect } from './effect'
|
||||
import { type DebuggerOptions, ReactiveEffect, scheduleEffects } from './effect'
|
||||
import { type Ref, trackRefValue, triggerRefValue } from './ref'
|
||||
import { NOOP, hasChanged, isFunction } from '@vue/shared'
|
||||
import { toRaw } from './reactive'
|
||||
|
@ -44,6 +44,7 @@ export class ComputedRefImpl<T> {
|
|||
this.effect = new ReactiveEffect(
|
||||
() => getter(this._value),
|
||||
() => triggerRefValue(this, DirtyLevels.MaybeDirty),
|
||||
() => this.dep && scheduleEffects(this.dep),
|
||||
)
|
||||
this.effect.computed = this
|
||||
this.effect.active = this._cacheable = !isSSR
|
||||
|
@ -59,6 +60,9 @@ export class ComputedRefImpl<T> {
|
|||
}
|
||||
}
|
||||
trackRefValue(self)
|
||||
if (self.effect._dirtyLevel >= DirtyLevels.MaybeDirty) {
|
||||
triggerRefValue(self, DirtyLevels.MaybeDirty)
|
||||
}
|
||||
return self._value
|
||||
}
|
||||
|
||||
|
|
|
@ -291,11 +291,10 @@ export function triggerEffects(
|
|||
) {
|
||||
pauseScheduling()
|
||||
for (const effect of dep.keys()) {
|
||||
if (dep.get(effect) !== effect._trackId) {
|
||||
// when recurse effect is running, dep map could have outdated items
|
||||
continue
|
||||
}
|
||||
if (effect._dirtyLevel < dirtyLevel) {
|
||||
if (
|
||||
effect._dirtyLevel < dirtyLevel &&
|
||||
dep.get(effect) === effect._trackId
|
||||
) {
|
||||
const lastDirtyLevel = effect._dirtyLevel
|
||||
effect._dirtyLevel = dirtyLevel
|
||||
if (lastDirtyLevel === DirtyLevels.NotDirty) {
|
||||
|
@ -306,14 +305,21 @@ export function triggerEffects(
|
|||
effect.trigger()
|
||||
}
|
||||
}
|
||||
}
|
||||
scheduleEffects(dep)
|
||||
resetScheduling()
|
||||
}
|
||||
|
||||
export function scheduleEffects(dep: Dep) {
|
||||
for (const effect of dep.keys()) {
|
||||
if (
|
||||
effect.scheduler &&
|
||||
effect._shouldSchedule &&
|
||||
(!effect._runnings || effect.allowRecurse)
|
||||
(!effect._runnings || effect.allowRecurse) &&
|
||||
dep.get(effect) === effect._trackId
|
||||
) {
|
||||
effect._shouldSchedule = false
|
||||
queueEffectSchedulers.push(effect.scheduler)
|
||||
}
|
||||
}
|
||||
resetScheduling()
|
||||
}
|
||||
|
|
|
@ -501,11 +501,12 @@ export type ShallowUnwrapRef<T> = {
|
|||
|
||||
type DistrubuteRef<T> = T extends Ref<infer V> ? V : T
|
||||
|
||||
export type UnwrapRef<T> = T extends ShallowRef<infer V>
|
||||
? V
|
||||
: T extends Ref<infer V>
|
||||
? UnwrapRefSimple<V>
|
||||
: UnwrapRefSimple<T>
|
||||
export type UnwrapRef<T> =
|
||||
T extends ShallowRef<infer V>
|
||||
? V
|
||||
: T extends Ref<infer V>
|
||||
? UnwrapRefSimple<V>
|
||||
: UnwrapRefSimple<T>
|
||||
|
||||
export type UnwrapRefSimple<T> = T extends
|
||||
| Function
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import {
|
||||
createApp,
|
||||
getCurrentInstance,
|
||||
h,
|
||||
nextTick,
|
||||
|
@ -240,4 +241,32 @@ describe('component: slots', () => {
|
|||
await nextTick()
|
||||
expect(spy).toHaveBeenCalledTimes(2)
|
||||
})
|
||||
|
||||
test('should not warn when mounting another app in setup', () => {
|
||||
const Comp = {
|
||||
setup(_: any, { slots }: any) {
|
||||
return () => slots.default?.()
|
||||
},
|
||||
}
|
||||
|
||||
const mountComp = () => {
|
||||
createApp({
|
||||
setup() {
|
||||
return () => h(Comp, () => 'msg')
|
||||
},
|
||||
}).mount(nodeOps.createElement('div'))
|
||||
}
|
||||
|
||||
const App = {
|
||||
setup() {
|
||||
mountComp()
|
||||
return () => null
|
||||
},
|
||||
}
|
||||
|
||||
createApp(App).mount(nodeOps.createElement('div'))
|
||||
expect(
|
||||
'Slot "default" invoked outside of the render function',
|
||||
).not.toHaveBeenWarned()
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1531,5 +1531,12 @@ describe('SSR hydration', () => {
|
|||
mountWithHydration(`<button />`, () => h('button', { href: undefined }))
|
||||
expect(`Hydration attribute mismatch`).not.toHaveBeenWarned()
|
||||
})
|
||||
|
||||
test('should not warn on non-renderable option values', () => {
|
||||
mountWithHydration(`<select><option>hello</option></select>`, () =>
|
||||
h('select', [h('option', { value: ['foo'] }, 'hello')]),
|
||||
)
|
||||
expect(`Hydration attribute mismatch`).not.toHaveBeenWarned()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/runtime-core",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/runtime-core",
|
||||
"main": "index.js",
|
||||
"module": "dist/runtime-core.esm-bundler.js",
|
||||
|
|
|
@ -54,28 +54,30 @@ export type EmitsToProps<T extends EmitsOptions> = T extends string[]
|
|||
}
|
||||
: {}
|
||||
|
||||
export type ShortEmitsToObject<E> = E extends Record<string, any[]>
|
||||
? {
|
||||
[K in keyof E]: (...args: E[K]) => any
|
||||
}
|
||||
: E
|
||||
export type ShortEmitsToObject<E> =
|
||||
E extends Record<string, any[]>
|
||||
? {
|
||||
[K in keyof E]: (...args: E[K]) => any
|
||||
}
|
||||
: E
|
||||
|
||||
export type EmitFn<
|
||||
Options = ObjectEmitsOptions,
|
||||
Event extends keyof Options = keyof Options,
|
||||
> = Options extends Array<infer V>
|
||||
? (event: V, ...args: any[]) => void
|
||||
: {} extends Options // if the emit is empty object (usually the default value for emit) should be converted to function
|
||||
? (event: string, ...args: any[]) => void
|
||||
: UnionToIntersection<
|
||||
{
|
||||
[key in Event]: Options[key] extends (...args: infer Args) => any
|
||||
? (event: key, ...args: Args) => void
|
||||
: Options[key] extends any[]
|
||||
? (event: key, ...args: Options[key]) => void
|
||||
: (event: key, ...args: any[]) => void
|
||||
}[Event]
|
||||
>
|
||||
> =
|
||||
Options extends Array<infer V>
|
||||
? (event: V, ...args: any[]) => void
|
||||
: {} extends Options // if the emit is empty object (usually the default value for emit) should be converted to function
|
||||
? (event: string, ...args: any[]) => void
|
||||
: UnionToIntersection<
|
||||
{
|
||||
[key in Event]: Options[key] extends (...args: infer Args) => any
|
||||
? (event: key, ...args: Args) => void
|
||||
: Options[key] extends any[]
|
||||
? (event: key, ...args: Options[key]) => void
|
||||
: (event: key, ...args: any[]) => void
|
||||
}[Event]
|
||||
>
|
||||
|
||||
export function emit(
|
||||
instance: ComponentInternalInstance,
|
||||
|
|
|
@ -84,34 +84,36 @@ type IsDefaultMixinComponent<T> = T extends ComponentOptionsMixin
|
|||
: false
|
||||
: false
|
||||
|
||||
type MixinToOptionTypes<T> = T extends ComponentOptionsBase<
|
||||
infer P,
|
||||
infer B,
|
||||
infer D,
|
||||
infer C,
|
||||
infer M,
|
||||
infer Mixin,
|
||||
infer Extends,
|
||||
any,
|
||||
any,
|
||||
infer Defaults,
|
||||
any,
|
||||
any,
|
||||
any
|
||||
>
|
||||
? OptionTypesType<P & {}, B & {}, D & {}, C & {}, M & {}, Defaults & {}> &
|
||||
IntersectionMixin<Mixin> &
|
||||
IntersectionMixin<Extends>
|
||||
: never
|
||||
type MixinToOptionTypes<T> =
|
||||
T extends ComponentOptionsBase<
|
||||
infer P,
|
||||
infer B,
|
||||
infer D,
|
||||
infer C,
|
||||
infer M,
|
||||
infer Mixin,
|
||||
infer Extends,
|
||||
any,
|
||||
any,
|
||||
infer Defaults,
|
||||
any,
|
||||
any,
|
||||
any
|
||||
>
|
||||
? OptionTypesType<P & {}, B & {}, D & {}, C & {}, M & {}, Defaults & {}> &
|
||||
IntersectionMixin<Mixin> &
|
||||
IntersectionMixin<Extends>
|
||||
: never
|
||||
|
||||
// ExtractMixin(map type) is used to resolve circularly references
|
||||
type ExtractMixin<T> = {
|
||||
Mixin: MixinToOptionTypes<T>
|
||||
}[T extends ComponentOptionsMixin ? 'Mixin' : never]
|
||||
|
||||
export type IntersectionMixin<T> = IsDefaultMixinComponent<T> extends true
|
||||
? OptionTypesType
|
||||
: UnionToIntersection<ExtractMixin<T>>
|
||||
export type IntersectionMixin<T> =
|
||||
IsDefaultMixinComponent<T> extends true
|
||||
? OptionTypesType
|
||||
: UnionToIntersection<ExtractMixin<T>>
|
||||
|
||||
export type UnwrapMixinsType<
|
||||
T,
|
||||
|
|
|
@ -97,7 +97,11 @@ const normalizeSlot = (
|
|||
return rawSlot as Slot
|
||||
}
|
||||
const normalized = withCtx((...args: any[]) => {
|
||||
if (__DEV__ && currentInstance) {
|
||||
if (
|
||||
__DEV__ &&
|
||||
currentInstance &&
|
||||
(!ctx || ctx.root === currentInstance.root)
|
||||
) {
|
||||
warn(
|
||||
`Slot "${key}" invoked outside of the render function: ` +
|
||||
`this will not track dependencies used in the slot. ` +
|
||||
|
|
|
@ -116,7 +116,7 @@ export function handleError(
|
|||
// in production the hook receives only the error code
|
||||
const errorInfo = __DEV__
|
||||
? ErrorTypeStrings[type]
|
||||
: `https://vuejs.org/errors/#runtime-${type}`
|
||||
: `https://vuejs.org/error-reference/#runtime-${type}`
|
||||
while (cur) {
|
||||
const errorCapturedHooks = cur.ec
|
||||
if (errorCapturedHooks) {
|
||||
|
|
|
@ -21,8 +21,8 @@ import {
|
|||
isBooleanAttr,
|
||||
isKnownHtmlAttr,
|
||||
isKnownSvgAttr,
|
||||
isObject,
|
||||
isOn,
|
||||
isRenderableAttrValue,
|
||||
isReservedProp,
|
||||
isString,
|
||||
normalizeClass,
|
||||
|
@ -764,16 +764,15 @@ function propHasMismatch(
|
|||
} else {
|
||||
if (el.hasAttribute(key)) {
|
||||
actual = el.getAttribute(key)
|
||||
} else if (key === 'value' && el.tagName === 'TEXTAREA') {
|
||||
// #10000 textarea.value can't be retrieved by `hasAttribute`
|
||||
actual = (el as HTMLTextAreaElement).value
|
||||
} else {
|
||||
// #10000 some attrs such as textarea.value can't be retrieved by `hasAttribute`
|
||||
const serverValue = el[key as keyof typeof el]
|
||||
actual =
|
||||
isObject(serverValue) || serverValue == null
|
||||
? ''
|
||||
: String(serverValue)
|
||||
actual = false
|
||||
}
|
||||
expected =
|
||||
isObject(clientValue) || clientValue == null ? '' : String(clientValue)
|
||||
expected = isRenderableAttrValue(clientValue)
|
||||
? String(clientValue)
|
||||
: false
|
||||
}
|
||||
if (actual !== expected) {
|
||||
mismatchType = `attribute`
|
||||
|
|
|
@ -81,9 +81,10 @@ export function setRef(
|
|||
} else {
|
||||
const _isString = isString(ref)
|
||||
const _isRef = isRef(ref)
|
||||
const isVFor = rawRef.f
|
||||
if (_isString || _isRef) {
|
||||
const doSet = () => {
|
||||
if (rawRef.f) {
|
||||
if (isVFor) {
|
||||
const existing = _isString
|
||||
? hasOwn(setupState, ref)
|
||||
? setupState[ref]
|
||||
|
@ -118,14 +119,15 @@ export function setRef(
|
|||
warn('Invalid template ref type:', ref, `(${typeof ref})`)
|
||||
}
|
||||
}
|
||||
if (value) {
|
||||
// #1789: for non-null values, set them after render
|
||||
// null values means this is unmount and it should not overwrite another
|
||||
// ref with the same key
|
||||
// #9908 ref on v-for mutates the same array for both mount and unmount
|
||||
// and should be done together
|
||||
if (isUnmount || isVFor) {
|
||||
doSet()
|
||||
} else {
|
||||
// #1789: set new refs in a post job so that they don't get overwritten
|
||||
// by unmounting ones.
|
||||
;(doSet as SchedulerJob).id = -1
|
||||
queuePostRenderEffect(doSet, parentSuspense)
|
||||
} else {
|
||||
doSet()
|
||||
}
|
||||
} else if (__DEV__) {
|
||||
warn('Invalid template ref type:', ref, `(${typeof ref})`)
|
||||
|
|
|
@ -665,7 +665,7 @@ export function cloneVNode<T, U>(
|
|||
// fast paths only.
|
||||
patchFlag:
|
||||
extraProps && vnode.type !== Fragment
|
||||
? patchFlag === -1 // hoisted node
|
||||
? patchFlag === PatchFlags.HOISTED // hoisted node
|
||||
? PatchFlags.FULL_PROPS
|
||||
: patchFlag | PatchFlags.FULL_PROPS
|
||||
: patchFlag,
|
||||
|
|
|
@ -1037,15 +1037,25 @@ describe('vModel', () => {
|
|||
await nextTick()
|
||||
expect(data.value).toMatchObject([fooValue, barValue])
|
||||
|
||||
// reset
|
||||
foo.selected = false
|
||||
bar.selected = false
|
||||
triggerEvent('change', input)
|
||||
await nextTick()
|
||||
expect(data.value).toMatchObject([])
|
||||
|
||||
data.value = [fooValue, barValue]
|
||||
await nextTick()
|
||||
expect(foo.selected).toEqual(true)
|
||||
expect(bar.selected).toEqual(true)
|
||||
|
||||
// reset
|
||||
foo.selected = false
|
||||
bar.selected = false
|
||||
triggerEvent('change', input)
|
||||
await nextTick()
|
||||
expect(data.value).toMatchObject([])
|
||||
|
||||
data.value = [{ foo: 1 }, { bar: 1 }]
|
||||
await nextTick()
|
||||
// looseEqual
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/runtime-dom",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/runtime-dom",
|
||||
"main": "index.js",
|
||||
"module": "dist/runtime-dom.esm-bundler.js",
|
||||
|
|
|
@ -3,6 +3,7 @@ import {
|
|||
type DirectiveHook,
|
||||
type ObjectDirective,
|
||||
type VNode,
|
||||
nextTick,
|
||||
warn,
|
||||
} from '@vue/runtime-core'
|
||||
import { addEventListener } from '../modules/events'
|
||||
|
@ -38,7 +39,9 @@ function onCompositionEnd(e: Event) {
|
|||
|
||||
const assignKey = Symbol('_assign')
|
||||
|
||||
type ModelDirective<T> = ObjectDirective<T & { [assignKey]: AssignerFn }>
|
||||
type ModelDirective<T> = ObjectDirective<
|
||||
T & { [assignKey]: AssignerFn; _assigning?: boolean }
|
||||
>
|
||||
|
||||
// We are exporting the v-model runtime directly as vnode hooks so that it can
|
||||
// be tree-shaken in case v-model is never used.
|
||||
|
@ -197,25 +200,37 @@ export const vModelSelect: ModelDirective<HTMLSelectElement> = {
|
|||
: selectedVal
|
||||
: selectedVal[0],
|
||||
)
|
||||
el._assigning = true
|
||||
nextTick(() => {
|
||||
el._assigning = false
|
||||
})
|
||||
})
|
||||
el[assignKey] = getModelAssigner(vnode)
|
||||
},
|
||||
// set value in mounted & updated because <select> relies on its children
|
||||
// <option>s.
|
||||
mounted(el, { value }) {
|
||||
setSelected(el, value)
|
||||
mounted(el, { value, oldValue, modifiers: { number } }) {
|
||||
setSelected(el, value, oldValue, number)
|
||||
},
|
||||
beforeUpdate(el, _binding, vnode) {
|
||||
el[assignKey] = getModelAssigner(vnode)
|
||||
},
|
||||
updated(el, { value }) {
|
||||
setSelected(el, value)
|
||||
updated(el, { value, oldValue, modifiers: { number } }) {
|
||||
if (!el._assigning) {
|
||||
setSelected(el, value, oldValue, number)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
function setSelected(el: HTMLSelectElement, value: any) {
|
||||
function setSelected(
|
||||
el: HTMLSelectElement,
|
||||
value: any,
|
||||
oldValue: any,
|
||||
number: boolean,
|
||||
) {
|
||||
const isMultiple = el.multiple
|
||||
if (isMultiple && !isArray(value) && !isSet(value)) {
|
||||
const isArrayValue = isArray(value)
|
||||
if (isMultiple && !isArrayValue && !isSet(value)) {
|
||||
__DEV__ &&
|
||||
warn(
|
||||
`<select multiple v-model> expects an Array or Set value for its binding, ` +
|
||||
|
@ -223,12 +238,26 @@ function setSelected(el: HTMLSelectElement, value: any) {
|
|||
)
|
||||
return
|
||||
}
|
||||
|
||||
// fast path for updates triggered by other changes
|
||||
if (isArrayValue && looseEqual(value, oldValue)) {
|
||||
return
|
||||
}
|
||||
|
||||
for (let i = 0, l = el.options.length; i < l; i++) {
|
||||
const option = el.options[i]
|
||||
const optionValue = getValue(option)
|
||||
if (isMultiple) {
|
||||
if (isArray(value)) {
|
||||
option.selected = looseIndexOf(value, optionValue) > -1
|
||||
if (isArrayValue) {
|
||||
const optionType = typeof optionValue
|
||||
// fast path for string / number values
|
||||
if (optionType === 'string' || optionType === 'number') {
|
||||
option.selected = value.includes(
|
||||
number ? looseToNumber(optionValue) : optionValue,
|
||||
)
|
||||
} else {
|
||||
option.selected = looseIndexOf(value, optionValue) > -1
|
||||
}
|
||||
} else {
|
||||
option.selected = value.has(optionValue)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/server-renderer",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "@vue/server-renderer",
|
||||
"main": "index.js",
|
||||
"module": "dist/server-renderer.esm-bundler.js",
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
import { escapeHtml, isSVGTag, stringifyStyle } from '@vue/shared'
|
||||
import {
|
||||
escapeHtml,
|
||||
isRenderableAttrValue,
|
||||
isSVGTag,
|
||||
stringifyStyle,
|
||||
} from '@vue/shared'
|
||||
import {
|
||||
includeBooleanAttr,
|
||||
isBooleanAttr,
|
||||
|
@ -47,7 +52,7 @@ export function ssrRenderDynamicAttr(
|
|||
value: unknown,
|
||||
tag?: string,
|
||||
): string {
|
||||
if (!isRenderableValue(value)) {
|
||||
if (!isRenderableAttrValue(value)) {
|
||||
return ``
|
||||
}
|
||||
const attrKey =
|
||||
|
@ -69,20 +74,12 @@ export function ssrRenderDynamicAttr(
|
|||
// Render a v-bind attr with static key. The key is pre-processed at compile
|
||||
// time and we only need to check and escape value.
|
||||
export function ssrRenderAttr(key: string, value: unknown): string {
|
||||
if (!isRenderableValue(value)) {
|
||||
if (!isRenderableAttrValue(value)) {
|
||||
return ``
|
||||
}
|
||||
return ` ${key}="${escapeHtml(value)}"`
|
||||
}
|
||||
|
||||
function isRenderableValue(value: unknown): boolean {
|
||||
if (value == null) {
|
||||
return false
|
||||
}
|
||||
const type = typeof value
|
||||
return type === 'string' || type === 'number' || type === 'boolean'
|
||||
}
|
||||
|
||||
export function ssrRenderClass(raw: unknown): string {
|
||||
return escapeHtml(normalizeClass(raw))
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/shared",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "internal utils shared across @vue packages",
|
||||
"main": "index.js",
|
||||
"module": "dist/shared.esm-bundler.js",
|
||||
|
|
|
@ -121,3 +121,14 @@ export const isKnownSvgAttr = /*#__PURE__*/ makeMap(
|
|||
`xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,` +
|
||||
`xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`,
|
||||
)
|
||||
|
||||
/**
|
||||
* Shared between server-renderer and runtime-core hydration logic
|
||||
*/
|
||||
export function isRenderableAttrValue(value: unknown): boolean {
|
||||
if (value == null) {
|
||||
return false
|
||||
}
|
||||
const type = typeof value
|
||||
return type === 'string' || type === 'number' || type === 'boolean'
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@vue/compat",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "Vue 3 compatibility build for Vue 2",
|
||||
"main": "index.js",
|
||||
"module": "dist/vue.runtime.esm-bundler.js",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "vue",
|
||||
"version": "3.4.13",
|
||||
"version": "3.4.15",
|
||||
"description": "The progressive JavaScript framework for building modern web UI.",
|
||||
"main": "index.js",
|
||||
"module": "dist/vue.runtime.esm-bundler.js",
|
||||
|
|
227
pnpm-lock.yaml
227
pnpm-lock.yaml
|
@ -42,19 +42,19 @@ importers:
|
|||
specifier: ^1.2.5
|
||||
version: 1.2.5
|
||||
'@types/node':
|
||||
specifier: ^20.10.7
|
||||
version: 20.11.0
|
||||
specifier: ^20.11.1
|
||||
version: 20.11.5
|
||||
'@types/semver':
|
||||
specifier: ^7.5.6
|
||||
version: 7.5.6
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: ^6.17.0
|
||||
version: 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2)
|
||||
specifier: ^6.18.1
|
||||
version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/parser':
|
||||
specifier: ^6.17.0
|
||||
version: 6.17.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
specifier: ^6.18.1
|
||||
version: 6.19.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@vitest/coverage-istanbul':
|
||||
specifier: ^1.1.3
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0(vitest@1.2.0)
|
||||
'@vue/consolidate':
|
||||
specifier: 0.17.3
|
||||
|
@ -79,10 +79,10 @@ importers:
|
|||
version: 1.24.1
|
||||
eslint-plugin-import:
|
||||
specifier: npm:eslint-plugin-i@^2.29.1
|
||||
version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)
|
||||
version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)
|
||||
eslint-plugin-jest:
|
||||
specifier: ^27.6.1
|
||||
version: 27.6.1(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0)(typescript@5.2.2)
|
||||
specifier: ^27.6.3
|
||||
version: 27.6.3(@typescript-eslint/eslint-plugin@6.19.0)(eslint@8.56.0)(typescript@5.2.2)
|
||||
estree-walker:
|
||||
specifier: ^2.0.2
|
||||
version: 2.0.2
|
||||
|
@ -117,8 +117,8 @@ importers:
|
|||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
prettier:
|
||||
specifier: ^3.1.1
|
||||
version: 3.1.1
|
||||
specifier: ^3.2.2
|
||||
version: 3.2.4
|
||||
pretty-bytes:
|
||||
specifier: ^6.1.1
|
||||
version: 6.1.1
|
||||
|
@ -169,10 +169,10 @@ importers:
|
|||
version: 5.2.2
|
||||
vite:
|
||||
specifier: ^5.0.5
|
||||
version: 5.0.10(@types/node@20.11.0)(terser@5.22.0)
|
||||
version: 5.0.10(@types/node@20.11.5)(terser@5.22.0)
|
||||
vitest:
|
||||
specifier: ^1.1.3
|
||||
version: 1.2.0(@types/node@20.11.0)(jsdom@23.2.0)(terser@5.22.0)
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0(@types/node@20.11.5)(jsdom@23.2.0)(terser@5.22.0)
|
||||
|
||||
packages/compiler-core:
|
||||
dependencies:
|
||||
|
@ -229,8 +229,8 @@ importers:
|
|||
specifier: ^0.30.5
|
||||
version: 0.30.5
|
||||
postcss:
|
||||
specifier: ^8.4.32
|
||||
version: 8.4.32
|
||||
specifier: ^8.4.33
|
||||
version: 8.4.33
|
||||
source-map-js:
|
||||
specifier: ^1.0.2
|
||||
version: 1.0.2
|
||||
|
@ -255,7 +255,7 @@ importers:
|
|||
version: 9.0.3
|
||||
postcss-modules:
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.0(postcss@8.4.32)
|
||||
version: 6.0.0(postcss@8.4.33)
|
||||
postcss-selector-parser:
|
||||
specifier: ^6.0.15
|
||||
version: 6.0.15
|
||||
|
@ -385,7 +385,7 @@ importers:
|
|||
version: 4.4.0(vite@5.0.10)(vue@packages+vue)
|
||||
vite:
|
||||
specifier: ^5.0.5
|
||||
version: 5.0.10(@types/node@20.11.0)(terser@5.22.0)
|
||||
version: 5.0.10(@types/node@20.11.5)(terser@5.22.0)
|
||||
|
||||
packages/shared: {}
|
||||
|
||||
|
@ -460,10 +460,10 @@ importers:
|
|||
version: 4.5.0(vite@5.0.2)(vue@packages+vue)
|
||||
vite:
|
||||
specifier: ^5.0.2
|
||||
version: 5.0.2(@types/node@20.11.0)(terser@5.22.0)
|
||||
version: 5.0.2(@types/node@20.11.5)(terser@5.22.0)
|
||||
vite-hyper-config:
|
||||
specifier: ^0.2.1
|
||||
version: 0.2.1(@types/node@20.11.0)(terser@5.22.0)(vite@5.0.2)
|
||||
version: 0.2.1(@types/node@20.11.5)(terser@5.22.0)(vite@5.0.2)
|
||||
vite-plugin-inspect:
|
||||
specifier: ^0.7.42
|
||||
version: 0.7.42(rollup@4.4.1)(vite@5.0.2)
|
||||
|
@ -699,8 +699,8 @@ packages:
|
|||
vitest: '>=1.0.0-beta.4 || >=1'
|
||||
dependencies:
|
||||
'@codspeed/core': 2.3.1
|
||||
vite: 5.0.10(@types/node@20.11.0)(terser@5.22.0)
|
||||
vitest: 1.2.0(@types/node@20.11.0)(jsdom@23.2.0)(terser@5.22.0)
|
||||
vite: 5.0.10(@types/node@20.11.5)(terser@5.22.0)
|
||||
vitest: 1.2.0(@types/node@20.11.5)(jsdom@23.2.0)(terser@5.22.0)
|
||||
dev: true
|
||||
|
||||
/@esbuild/aix-ppc64@0.19.10:
|
||||
|
@ -1325,8 +1325,8 @@ packages:
|
|||
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
|
||||
dev: true
|
||||
|
||||
/@types/node@20.11.0:
|
||||
resolution: {integrity: sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==}
|
||||
/@types/node@20.11.5:
|
||||
resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==}
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
dev: true
|
||||
|
@ -1347,12 +1347,12 @@ packages:
|
|||
resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@types/node': 20.11.0
|
||||
'@types/node': 20.11.5
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@typescript-eslint/eslint-plugin@6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==}
|
||||
/@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
|
||||
|
@ -1363,11 +1363,11 @@ packages:
|
|||
optional: true
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.9.1
|
||||
'@typescript-eslint/parser': 6.17.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/scope-manager': 6.17.0
|
||||
'@typescript-eslint/type-utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/visitor-keys': 6.17.0
|
||||
'@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/scope-manager': 6.19.0
|
||||
'@typescript-eslint/type-utils': 6.19.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/visitor-keys': 6.19.0
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
graphemer: 1.4.0
|
||||
|
@ -1380,8 +1380,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser@6.17.0(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==}
|
||||
/@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
|
@ -1390,10 +1390,10 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 6.17.0
|
||||
'@typescript-eslint/types': 6.17.0
|
||||
'@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2)
|
||||
'@typescript-eslint/visitor-keys': 6.17.0
|
||||
'@typescript-eslint/scope-manager': 6.19.0
|
||||
'@typescript-eslint/types': 6.19.0
|
||||
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.2.2)
|
||||
'@typescript-eslint/visitor-keys': 6.19.0
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
typescript: 5.2.2
|
||||
|
@ -1409,16 +1409,16 @@ packages:
|
|||
'@typescript-eslint/visitor-keys': 5.62.0
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/scope-manager@6.17.0:
|
||||
resolution: {integrity: sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==}
|
||||
/@typescript-eslint/scope-manager@6.19.0:
|
||||
resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 6.17.0
|
||||
'@typescript-eslint/visitor-keys': 6.17.0
|
||||
'@typescript-eslint/types': 6.19.0
|
||||
'@typescript-eslint/visitor-keys': 6.19.0
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/type-utils@6.17.0(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==}
|
||||
/@typescript-eslint/type-utils@6.19.0(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
|
@ -1427,8 +1427,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2)
|
||||
'@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.2.2)
|
||||
'@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
ts-api-utils: 1.0.3(typescript@5.2.2)
|
||||
|
@ -1442,8 +1442,8 @@ packages:
|
|||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/types@6.17.0:
|
||||
resolution: {integrity: sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==}
|
||||
/@typescript-eslint/types@6.19.0:
|
||||
resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
dev: true
|
||||
|
||||
|
@ -1468,8 +1468,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/typescript-estree@6.17.0(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==}
|
||||
/@typescript-eslint/typescript-estree@6.19.0(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
|
@ -1477,8 +1477,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 6.17.0
|
||||
'@typescript-eslint/visitor-keys': 6.17.0
|
||||
'@typescript-eslint/types': 6.19.0
|
||||
'@typescript-eslint/visitor-keys': 6.19.0
|
||||
debug: 4.3.4
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
|
@ -1510,8 +1510,8 @@ packages:
|
|||
- typescript
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/utils@6.17.0(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==}
|
||||
/@typescript-eslint/utils@6.19.0(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
|
@ -1519,9 +1519,9 @@ packages:
|
|||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@types/json-schema': 7.0.14
|
||||
'@types/semver': 7.5.6
|
||||
'@typescript-eslint/scope-manager': 6.17.0
|
||||
'@typescript-eslint/types': 6.17.0
|
||||
'@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2)
|
||||
'@typescript-eslint/scope-manager': 6.19.0
|
||||
'@typescript-eslint/types': 6.19.0
|
||||
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.2.2)
|
||||
eslint: 8.56.0
|
||||
semver: 7.5.4
|
||||
transitivePeerDependencies:
|
||||
|
@ -1537,11 +1537,11 @@ packages:
|
|||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/visitor-keys@6.17.0:
|
||||
resolution: {integrity: sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==}
|
||||
/@typescript-eslint/visitor-keys@6.19.0:
|
||||
resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 6.17.0
|
||||
'@typescript-eslint/types': 6.19.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
|
@ -1556,7 +1556,7 @@ packages:
|
|||
vite: ^4.0.0
|
||||
vue: ^3.2.25
|
||||
dependencies:
|
||||
vite: 5.0.10(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite: 5.0.10(@types/node@20.11.5)(terser@5.22.0)
|
||||
vue: link:packages/vue
|
||||
dev: true
|
||||
|
||||
|
@ -1567,7 +1567,7 @@ packages:
|
|||
vite: ^4.0.0 || ^5.0.0
|
||||
vue: ^3.2.25
|
||||
dependencies:
|
||||
vite: 5.0.2(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite: 5.0.2(@types/node@20.11.5)(terser@5.22.0)
|
||||
vue: link:packages/vue
|
||||
dev: true
|
||||
|
||||
|
@ -1585,7 +1585,7 @@ packages:
|
|||
magicast: 0.3.2
|
||||
picocolors: 1.0.0
|
||||
test-exclude: 6.0.0
|
||||
vitest: 1.2.0(@types/node@20.11.0)(jsdom@23.2.0)(terser@5.22.0)
|
||||
vitest: 1.2.0(@types/node@20.11.5)(jsdom@23.2.0)(terser@5.22.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
@ -2776,7 +2776,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
|
||||
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
|
||||
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
|
@ -2797,7 +2797,7 @@ packages:
|
|||
eslint-import-resolver-webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 6.17.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
debug: 3.2.7
|
||||
eslint: 8.56.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
|
@ -2805,7 +2805,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.17.0)(eslint@8.56.0):
|
||||
/eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0):
|
||||
resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==}
|
||||
engines: {node: '>=12'}
|
||||
peerDependencies:
|
||||
|
@ -2815,7 +2815,7 @@ packages:
|
|||
doctrine: 3.0.0
|
||||
eslint: 8.56.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
|
||||
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
|
||||
get-tsconfig: 4.7.2
|
||||
is-glob: 4.0.3
|
||||
minimatch: 3.1.2
|
||||
|
@ -2827,8 +2827,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-jest@27.6.1(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-WEYkyVXD9NlmFBKvrkmzrC+C9yZoz5pAml2hO19PlS3spJtoiwj4p2u8spd/7zx5IvRsZsCmsoImaAvBB9X93Q==}
|
||||
/eslint-plugin-jest@27.6.3(@typescript-eslint/eslint-plugin@6.19.0)(eslint@8.56.0)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0
|
||||
|
@ -2840,7 +2840,7 @@ packages:
|
|||
jest:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.2.2)
|
||||
'@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2)
|
||||
eslint: 8.56.0
|
||||
transitivePeerDependencies:
|
||||
|
@ -3514,13 +3514,13 @@ packages:
|
|||
safer-buffer: 2.1.2
|
||||
dev: true
|
||||
|
||||
/icss-utils@5.1.0(postcss@8.4.32):
|
||||
/icss-utils@5.1.0(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
postcss: 8.4.32
|
||||
postcss: 8.4.33
|
||||
dev: true
|
||||
|
||||
/ieee754@1.2.1:
|
||||
|
@ -4731,60 +4731,60 @@ packages:
|
|||
pathe: 1.1.1
|
||||
dev: true
|
||||
|
||||
/postcss-modules-extract-imports@3.0.0(postcss@8.4.32):
|
||||
/postcss-modules-extract-imports@3.0.0(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
postcss: 8.4.32
|
||||
postcss: 8.4.33
|
||||
dev: true
|
||||
|
||||
/postcss-modules-local-by-default@4.0.3(postcss@8.4.32):
|
||||
/postcss-modules-local-by-default@4.0.3(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
icss-utils: 5.1.0(postcss@8.4.32)
|
||||
postcss: 8.4.32
|
||||
icss-utils: 5.1.0(postcss@8.4.33)
|
||||
postcss: 8.4.33
|
||||
postcss-selector-parser: 6.0.15
|
||||
postcss-value-parser: 4.2.0
|
||||
dev: true
|
||||
|
||||
/postcss-modules-scope@3.0.0(postcss@8.4.32):
|
||||
/postcss-modules-scope@3.0.0(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
postcss: 8.4.32
|
||||
postcss: 8.4.33
|
||||
postcss-selector-parser: 6.0.15
|
||||
dev: true
|
||||
|
||||
/postcss-modules-values@4.0.0(postcss@8.4.32):
|
||||
/postcss-modules-values@4.0.0(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
icss-utils: 5.1.0(postcss@8.4.32)
|
||||
postcss: 8.4.32
|
||||
icss-utils: 5.1.0(postcss@8.4.33)
|
||||
postcss: 8.4.33
|
||||
dev: true
|
||||
|
||||
/postcss-modules@6.0.0(postcss@8.4.32):
|
||||
/postcss-modules@6.0.0(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==}
|
||||
peerDependencies:
|
||||
postcss: ^8.0.0
|
||||
dependencies:
|
||||
generic-names: 4.0.0
|
||||
icss-utils: 5.1.0(postcss@8.4.32)
|
||||
icss-utils: 5.1.0(postcss@8.4.33)
|
||||
lodash.camelcase: 4.3.0
|
||||
postcss: 8.4.32
|
||||
postcss-modules-extract-imports: 3.0.0(postcss@8.4.32)
|
||||
postcss-modules-local-by-default: 4.0.3(postcss@8.4.32)
|
||||
postcss-modules-scope: 3.0.0(postcss@8.4.32)
|
||||
postcss-modules-values: 4.0.0(postcss@8.4.32)
|
||||
postcss: 8.4.33
|
||||
postcss-modules-extract-imports: 3.0.0(postcss@8.4.33)
|
||||
postcss-modules-local-by-default: 4.0.3(postcss@8.4.33)
|
||||
postcss-modules-scope: 3.0.0(postcss@8.4.33)
|
||||
postcss-modules-values: 4.0.0(postcss@8.4.33)
|
||||
string-hash: 1.1.3
|
||||
dev: true
|
||||
|
||||
|
@ -4807,14 +4807,23 @@ packages:
|
|||
nanoid: 3.3.7
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.0.2
|
||||
dev: true
|
||||
|
||||
/postcss@8.4.33:
|
||||
resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
dependencies:
|
||||
nanoid: 3.3.7
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.0.2
|
||||
|
||||
/prelude-ls@1.2.1:
|
||||
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dev: true
|
||||
|
||||
/prettier@3.1.1:
|
||||
resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==}
|
||||
/prettier@3.2.4:
|
||||
resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==}
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
@ -6048,7 +6057,7 @@ packages:
|
|||
engines: {node: '>= 0.8'}
|
||||
dev: true
|
||||
|
||||
/vite-hyper-config@0.2.1(@types/node@20.11.0)(terser@5.22.0)(vite@5.0.2):
|
||||
/vite-hyper-config@0.2.1(@types/node@20.11.5)(terser@5.22.0)(vite@5.0.2):
|
||||
resolution: {integrity: sha512-ItRIpzWp0XMh/Sn1H0GCWnQIUcBjnSaZy/EbOpJcRr9H/KTBHUSTCEOigE9K0KTN01Z0GDi/8WgVT9+RPL932A==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
peerDependencies:
|
||||
|
@ -6056,8 +6065,8 @@ packages:
|
|||
dependencies:
|
||||
cac: 6.7.14
|
||||
picocolors: 1.0.0
|
||||
vite: 5.0.2(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite-node: 1.1.1(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite: 5.0.2(@types/node@20.11.5)(terser@5.22.0)
|
||||
vite-node: 1.1.1(@types/node@20.11.5)(terser@5.22.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
|
@ -6069,7 +6078,7 @@ packages:
|
|||
- terser
|
||||
dev: true
|
||||
|
||||
/vite-node@1.1.1(@types/node@20.11.0)(terser@5.22.0):
|
||||
/vite-node@1.1.1(@types/node@20.11.5)(terser@5.22.0):
|
||||
resolution: {integrity: sha512-2bGE5w4jvym5v8llF6Gu1oBrmImoNSs4WmRVcavnG2me6+8UQntTqLiAMFyiAobp+ZXhj5ZFhI7SmLiFr/jrow==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
|
@ -6078,7 +6087,7 @@ packages:
|
|||
debug: 4.3.4
|
||||
pathe: 1.1.1
|
||||
picocolors: 1.0.0
|
||||
vite: 5.0.10(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite: 5.0.10(@types/node@20.11.5)(terser@5.22.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
|
@ -6090,7 +6099,7 @@ packages:
|
|||
- terser
|
||||
dev: true
|
||||
|
||||
/vite-node@1.2.0(@types/node@20.11.0)(terser@5.22.0):
|
||||
/vite-node@1.2.0(@types/node@20.11.5)(terser@5.22.0):
|
||||
resolution: {integrity: sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
|
@ -6099,7 +6108,7 @@ packages:
|
|||
debug: 4.3.4
|
||||
pathe: 1.1.1
|
||||
picocolors: 1.0.0
|
||||
vite: 5.0.10(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite: 5.0.10(@types/node@20.11.5)(terser@5.22.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
|
@ -6129,13 +6138,13 @@ packages:
|
|||
open: 9.1.0
|
||||
picocolors: 1.0.0
|
||||
sirv: 2.0.3
|
||||
vite: 5.0.2(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite: 5.0.2(@types/node@20.11.5)(terser@5.22.0)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/vite@5.0.10(@types/node@20.11.0)(terser@5.22.0):
|
||||
/vite@5.0.10(@types/node@20.11.5)(terser@5.22.0):
|
||||
resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
|
@ -6163,7 +6172,7 @@ packages:
|
|||
terser:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/node': 20.11.0
|
||||
'@types/node': 20.11.5
|
||||
esbuild: 0.19.10
|
||||
postcss: 8.4.32
|
||||
rollup: 4.4.1
|
||||
|
@ -6172,7 +6181,7 @@ packages:
|
|||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
/vite@5.0.2(@types/node@20.11.0)(terser@5.22.0):
|
||||
/vite@5.0.2(@types/node@20.11.5)(terser@5.22.0):
|
||||
resolution: {integrity: sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
|
@ -6200,16 +6209,16 @@ packages:
|
|||
terser:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/node': 20.11.0
|
||||
'@types/node': 20.11.5
|
||||
esbuild: 0.19.10
|
||||
postcss: 8.4.32
|
||||
postcss: 8.4.33
|
||||
rollup: 4.4.1
|
||||
terser: 5.22.0
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
/vitest@1.2.0(@types/node@20.11.0)(jsdom@23.2.0)(terser@5.22.0):
|
||||
/vitest@1.2.0(@types/node@20.11.5)(jsdom@23.2.0)(terser@5.22.0):
|
||||
resolution: {integrity: sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
|
@ -6234,7 +6243,7 @@ packages:
|
|||
jsdom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/node': 20.11.0
|
||||
'@types/node': 20.11.5
|
||||
'@vitest/expect': 1.2.0
|
||||
'@vitest/runner': 1.2.0
|
||||
'@vitest/snapshot': 1.2.0
|
||||
|
@ -6254,8 +6263,8 @@ packages:
|
|||
strip-literal: 1.3.0
|
||||
tinybench: 2.5.1
|
||||
tinypool: 0.8.1
|
||||
vite: 5.0.10(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite-node: 1.2.0(@types/node@20.11.0)(terser@5.22.0)
|
||||
vite: 5.0.10(@types/node@20.11.5)(terser@5.22.0)
|
||||
vite-node: 1.2.0(@types/node@20.11.5)(terser@5.22.0)
|
||||
why-is-node-running: 2.2.2
|
||||
transitivePeerDependencies:
|
||||
- less
|
||||
|
|
|
@ -14,7 +14,7 @@ import { polyfillNode } from 'esbuild-plugin-polyfill-node'
|
|||
const require = createRequire(import.meta.url)
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||
const args = minimist(process.argv.slice(2))
|
||||
const targets = args._ || ['vue']
|
||||
const targets = args._.length ? args._ : ['vue']
|
||||
const format = args.f || 'global'
|
||||
const prod = args.p || false
|
||||
const inlineDeps = args.i || args.inline
|
||||
|
|
Loading…
Reference in New Issue