diff --git a/CHANGELOG.md b/CHANGELOG.md index e0cf53927..6a176ee1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,52 @@ +## [3.5.11](https://github.com/vuejs/core/compare/v3.5.10...v3.5.11) (2024-10-03) + + +### Bug Fixes + +* **compiler-sfc:** do not skip `TSSatisfiesExpression` when transforming props destructure ([#12062](https://github.com/vuejs/core/issues/12062)) ([2328b05](https://github.com/vuejs/core/commit/2328b051f4efa1f1394b7d4e73b7c3f76e430e7c)), closes [#12061](https://github.com/vuejs/core/issues/12061) +* **reactivity:** prevent overwriting `next` property during batch processing ([#12075](https://github.com/vuejs/core/issues/12075)) ([d3f5e6e](https://github.com/vuejs/core/commit/d3f5e6e5319b4ffaa55ca9a2ea3d95d78e76fa58)), closes [#12072](https://github.com/vuejs/core/issues/12072) +* **scheduler:** job ordering when the post queue is flushing ([#12090](https://github.com/vuejs/core/issues/12090)) ([577edca](https://github.com/vuejs/core/commit/577edca8e7795436efd710d1c289ea8ea2642b0e)) +* **types:** correctly infer `TypeProps` when it is `any` ([#12073](https://github.com/vuejs/core/issues/12073)) ([57315ab](https://github.com/vuejs/core/commit/57315ab9688c9741a271d1075bbd28cbe5f71e2f)), closes [#12058](https://github.com/vuejs/core/issues/12058) +* **types:** should not intersect `PublicProps` with `Props` ([#12077](https://github.com/vuejs/core/issues/12077)) ([6f85894](https://github.com/vuejs/core/commit/6f8589437635706f825ccec51800effba1d2bf5f)) +* **types:** infer the first generic type of `Ref` correctly ([#12094](https://github.com/vuejs/core/issues/12094)) ([c97bb84](https://github.com/vuejs/core/commit/c97bb84d0b0a16b012f886b6498e924415ed63e5)) + + + +## [3.5.10](https://github.com/vuejs/core/compare/v3.5.9...v3.5.10) (2024-09-27) + + +### Bug Fixes + +* **custom-element:** properly set kebab-case props on Vue custom elements ([ea3efa0](https://github.com/vuejs/core/commit/ea3efa09e008918c1d9ba7226833a8b1a7a57244)), closes [#12030](https://github.com/vuejs/core/issues/12030) [#12032](https://github.com/vuejs/core/issues/12032) +* **reactivity:** fix nested batch edge case ([93c95dd](https://github.com/vuejs/core/commit/93c95dd4cd416503f43a98a1455f62658d22b0b2)) +* **reactivity:** only clear notified flags for computed in first batch iteration ([aa9ef23](https://github.com/vuejs/core/commit/aa9ef2386a0cd39a174e5a887ec2b1a3525034fc)), closes [#12045](https://github.com/vuejs/core/issues/12045) +* **types/ref:** handle nested refs in UnwrapRef ([#12049](https://github.com/vuejs/core/issues/12049)) ([e2c19c2](https://github.com/vuejs/core/commit/e2c19c20cfee9788519a80c0e53e216b78505994)), closes [#12044](https://github.com/vuejs/core/issues/12044) + + + +## [3.5.9](https://github.com/vuejs/core/compare/v3.5.8...v3.5.9) (2024-09-26) + + +### Bug Fixes + +* **reactivity:** fix property dep removal regression ([6001e5c](https://github.com/vuejs/core/commit/6001e5c81a05c894586f9287fbd991677bdd0455)), closes [#12020](https://github.com/vuejs/core/issues/12020) [#12021](https://github.com/vuejs/core/issues/12021) +* **reactivity:** fix recursive sync watcher on computed edge case ([10ff159](https://github.com/vuejs/core/commit/10ff15924053d9bd95ad706f78ce09e288213fcf)), closes [#12033](https://github.com/vuejs/core/issues/12033) [#12037](https://github.com/vuejs/core/issues/12037) +* **runtime-core:** avoid rendering plain object as VNode ([#12038](https://github.com/vuejs/core/issues/12038)) ([cb34b28](https://github.com/vuejs/core/commit/cb34b28a4a9bf868be4785b001c526163eda342e)), closes [#12035](https://github.com/vuejs/core/issues/12035) [vitejs/vite-plugin-vue#353](https://github.com/vitejs/vite-plugin-vue/issues/353) +* **runtime-core:** make useId() always return a string ([a177092](https://github.com/vuejs/core/commit/a177092754642af2f98c33a4feffe8f198c3c950)) +* **types:** correct type inference of union event names ([#12022](https://github.com/vuejs/core/issues/12022)) ([4da6881](https://github.com/vuejs/core/commit/4da688141d9e7c15b622c289deaa81b11845b2c7)) +* **vue:** properly cache runtime compilation ([#12019](https://github.com/vuejs/core/issues/12019)) ([fa0ba24](https://github.com/vuejs/core/commit/fa0ba24b3ace02d7ecab65e57c2bea89a2550dcb)) + + + +## [3.5.8](https://github.com/vuejs/core/compare/v3.5.7...v3.5.8) (2024-09-22) + + +### Bug Fixes + +* **reactivity:** do not remove dep from depsMap when cleaning up deps of computed ([#11995](https://github.com/vuejs/core/issues/11995)) ([0267a58](https://github.com/vuejs/core/commit/0267a588017eee4951ac2a877fe1ccae84cad905)) + + + ## [3.5.7](https://github.com/vuejs/core/compare/v3.5.6...v3.5.7) (2024-09-20) diff --git a/package.json b/package.json index 01650bc00..3929ee85a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, - "version": "3.5.7", - "packageManager": "pnpm@9.10.0", + "version": "3.5.11", + "packageManager": "pnpm@9.12.0", "type": "module", "scripts": { "dev": "node scripts/dev.js vue vue-vapor", @@ -61,14 +61,14 @@ "devDependencies": { "@babel/parser": "catalog:", "@babel/types": "catalog:", - "@rollup/plugin-alias": "^5.1.0", - "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-alias": "^5.1.1", + "@rollup/plugin-commonjs": "^26.0.3", "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-node-resolve": "^15.3.0", "@rollup/plugin-replace": "5.0.4", - "@swc/core": "^1.7.26", + "@swc/core": "^1.7.28", "@types/hash-sum": "^1.0.2", - "@types/node": "^20.16.5", + "@types/node": "^20.16.10", "@types/semver": "^7.5.8", "@types/serve-handler": "^6.1.4", "@vitest/coverage-v8": "^2.1.1", @@ -76,7 +76,7 @@ "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^5.0.0", "enquirer": "^2.4.1", - "esbuild": "^0.23.1", + "esbuild": "^0.24.0", "esbuild-plugin-polyfill-node": "^0.3.0", "eslint": "^9.10.0", "eslint-plugin-import-x": "^4.2.1", @@ -95,7 +95,7 @@ "pug": "^3.0.3", "puppeteer": "~23.3.0", "rimraf": "^6.0.1", - "rollup": "^4.21.3", + "rollup": "^4.24.0", "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0", diff --git a/packages-private/dts-test/ref.test-d.ts b/packages-private/dts-test/ref.test-d.ts index 929e3d1a1..89b80a70f 100644 --- a/packages-private/dts-test/ref.test-d.ts +++ b/packages-private/dts-test/ref.test-d.ts @@ -189,6 +189,24 @@ describe('allow getter and setter types to be unrelated', () => { f.value = ref(1) }) +describe('correctly unwraps nested refs', () => { + const obj = { + n: 24, + ref: ref(24), + nestedRef: ref({ n: ref(0) }), + } + + const a = ref(obj) + expectType(a.value.n) + expectType(a.value.ref) + expectType(a.value.nestedRef.n) + + const b = reactive({ a }) + expectType(b.a.n) + expectType(b.a.ref) + expectType(b.a.nestedRef.n) +}) + // computed describe('allow computed getter and setter types to be unrelated', () => { const obj = ref({ diff --git a/packages-private/sfc-playground/src/download/template/package.json b/packages-private/sfc-playground/src/download/template/package.json index 662ac5da8..ad2fde953 100644 --- a/packages-private/sfc-playground/src/download/template/package.json +++ b/packages-private/sfc-playground/src/download/template/package.json @@ -11,7 +11,7 @@ "vue": "^3.4.0" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.1.3", - "vite": "^5.4.5" + "@vitejs/plugin-vue": "^5.1.4", + "vite": "^5.4.8" } } diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index 33abf3b9b..e5eb2d673 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-core", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/compiler-core", "main": "index.js", "module": "dist/compiler-core.esm-bundler.js", diff --git a/packages/compiler-dom/package.json b/packages/compiler-dom/package.json index 1ae2079b8..b8d884e05 100644 --- a/packages/compiler-dom/package.json +++ b/packages/compiler-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-dom", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/compiler-dom", "main": "index.js", "module": "dist/compiler-dom.esm-bundler.js", diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 50cecf192..1a989b291 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-sfc", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/compiler-sfc", "main": "dist/compiler-sfc.cjs.js", "module": "dist/compiler-sfc.esm-browser.js", @@ -63,6 +63,6 @@ "postcss-modules": "^6.0.0", "postcss-selector-parser": "^6.1.2", "pug": "^3.0.3", - "sass": "^1.78.0" + "sass": "^1.79.4" } } diff --git a/packages/compiler-sfc/src/parse.ts b/packages/compiler-sfc/src/parse.ts index fff123cf5..739b455d0 100644 --- a/packages/compiler-sfc/src/parse.ts +++ b/packages/compiler-sfc/src/parse.ts @@ -18,6 +18,7 @@ import { createCache } from './cache' import type { ImportBinding } from './compileScript' import { isImportUsed } from './script/importUsageCheck' import type { LRUCache } from 'lru-cache' +import { genCacheKey } from '@vue/shared' export const DEFAULT_FILENAME = 'anonymous.vue' @@ -105,24 +106,14 @@ export const parseCache: | Map | LRUCache = createCache() -function genCacheKey(source: string, options: SFCParseOptions): string { - return ( - source + - JSON.stringify( - { - ...options, - compiler: { parse: options.compiler?.parse }, - }, - (_, val) => (typeof val === 'function' ? val.toString() : val), - ) - ) -} - export function parse( source: string, options: SFCParseOptions = {}, ): SFCParseResult { - const sourceKey = genCacheKey(source, options) + const sourceKey = genCacheKey(source, { + ...options, + compiler: { parse: options.compiler?.parse }, + }) const cache = parseCache.get(sourceKey) if (cache) { return cache diff --git a/packages/compiler-sfc/src/script/definePropsDestructure.ts b/packages/compiler-sfc/src/script/definePropsDestructure.ts index 341b537d8..f9a56e32e 100644 --- a/packages/compiler-sfc/src/script/definePropsDestructure.ts +++ b/packages/compiler-sfc/src/script/definePropsDestructure.ts @@ -242,6 +242,7 @@ export function transformDestructuredProps( parent.type.startsWith('TS') && parent.type !== 'TSAsExpression' && parent.type !== 'TSNonNullExpression' && + parent.type !== 'TSSatisfiesExpression' && parent.type !== 'TSTypeAssertion' ) { return this.skip() diff --git a/packages/compiler-ssr/package.json b/packages/compiler-ssr/package.json index e7d8d6ccf..9c235e7a5 100644 --- a/packages/compiler-ssr/package.json +++ b/packages/compiler-ssr/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-ssr", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/compiler-ssr", "main": "dist/compiler-ssr.cjs.js", "types": "dist/compiler-ssr.d.ts", diff --git a/packages/reactivity/__tests__/computed.spec.ts b/packages/reactivity/__tests__/computed.spec.ts index 90987e867..36c477adb 100644 --- a/packages/reactivity/__tests__/computed.spec.ts +++ b/packages/reactivity/__tests__/computed.spec.ts @@ -1013,20 +1013,98 @@ describe('reactivity/computed', () => { }) test('computed should remain live after losing all subscribers', () => { - const toggle = ref(true) - const state = reactive({ - a: 1, - }) + const state = reactive({ a: 1 }) const p = computed(() => state.a + 1) - const pp = computed(() => { - return toggle.value ? p.value : 111 - }) - - const { effect: e } = effect(() => pp.value) + const { effect: e } = effect(() => p.value) e.stop() expect(p.value).toBe(2) state.a++ expect(p.value).toBe(3) }) + + // #11995 + test('computed dep cleanup should not cause property dep to be deleted', () => { + const toggle = ref(true) + const state = reactive({ a: 1 }) + const p = computed(() => { + return toggle.value ? state.a : 111 + }) + const pp = computed(() => state.a) + effect(() => p.value) + + expect(pp.value).toBe(1) + toggle.value = false + state.a++ + expect(pp.value).toBe(2) + }) + + // #12020 + test('computed value updates correctly after dep cleanup', () => { + const obj = reactive({ foo: 1, flag: 1 }) + const c1 = computed(() => obj.foo) + + let foo + effect(() => { + foo = obj.flag ? (obj.foo, c1.value) : 0 + }) + expect(foo).toBe(1) + + obj.flag = 0 + expect(foo).toBe(0) + + obj.foo = 2 + obj.flag = 1 + expect(foo).toBe(2) + }) + + // #11928 + test('should not lead to exponential perf cost with deeply chained computed', () => { + const start = { + prop1: shallowRef(1), + prop2: shallowRef(2), + prop3: shallowRef(3), + prop4: shallowRef(4), + } + + let layer = start + + const LAYERS = 1000 + + for (let i = LAYERS; i > 0; i--) { + const m = layer + const s = { + prop1: computed(() => m.prop2.value), + prop2: computed(() => m.prop1.value - m.prop3.value), + prop3: computed(() => m.prop2.value + m.prop4.value), + prop4: computed(() => m.prop3.value), + } + effect(() => s.prop1.value) + effect(() => s.prop2.value) + effect(() => s.prop3.value) + effect(() => s.prop4.value) + + s.prop1.value + s.prop2.value + s.prop3.value + s.prop4.value + + layer = s + } + + const t = performance.now() + start.prop1.value = 4 + start.prop2.value = 3 + start.prop3.value = 2 + start.prop4.value = 1 + expect(performance.now() - t).toBeLessThan(process.env.CI ? 100 : 30) + + const end = layer + expect([ + end.prop1.value, + end.prop2.value, + end.prop3.value, + end.prop4.value, + ]).toMatchObject([-2, -4, 2, 3]) + }) }) diff --git a/packages/reactivity/__tests__/reactive.spec.ts b/packages/reactivity/__tests__/reactive.spec.ts index 3b3baa190..47f6aa297 100644 --- a/packages/reactivity/__tests__/reactive.spec.ts +++ b/packages/reactivity/__tests__/reactive.spec.ts @@ -13,6 +13,7 @@ import { } from '../src/reactive' import { computed } from '../src/computed' import { effect } from '../src/effect' +import { targetMap } from '../src/dep' describe('reactivity/reactive', () => { test('Object', () => { @@ -398,4 +399,14 @@ describe('reactivity/reactive', () => { a.value++ }).not.toThrow() }) + + // #11979 + test('should release property Dep instance if it no longer has subscribers', () => { + let obj = { x: 1 } + let a = reactive(obj) + const e = effect(() => a.x) + expect(targetMap.get(obj)?.get('x')).toBeTruthy() + e.effect.stop() + expect(targetMap.get(obj)?.get('x')).toBeFalsy() + }) }) diff --git a/packages/reactivity/__tests__/watch.spec.ts b/packages/reactivity/__tests__/watch.spec.ts index b3d18e19f..245acfd63 100644 --- a/packages/reactivity/__tests__/watch.spec.ts +++ b/packages/reactivity/__tests__/watch.spec.ts @@ -4,6 +4,7 @@ import { WatchErrorCodes, type WatchOptions, type WatchScheduler, + computed, onWatcherCleanup, ref, watch, @@ -209,4 +210,71 @@ describe('watch', () => { source.value++ expect(dummy).toBe(1) }) + + // #12033 + test('recursive sync watcher on computed', () => { + const r = ref(0) + const c = computed(() => r.value) + + watch(c, v => { + if (v > 1) { + r.value-- + } + }) + + expect(r.value).toBe(0) + expect(c.value).toBe(0) + + r.value = 10 + expect(r.value).toBe(1) + expect(c.value).toBe(1) + }) + + // edge case where a nested endBatch() causes an effect to be batched in a + // nested batch loop with its .next mutated, causing the outer loop to end + // early + test('nested batch edge case', () => { + // useClamp from VueUse + const clamp = (n: number, min: number, max: number) => + Math.min(max, Math.max(min, n)) + function useClamp(src: Ref, min: number, max: number) { + return computed({ + get() { + return (src.value = clamp(src.value, min, max)) + }, + set(val) { + src.value = clamp(val, min, max) + }, + }) + } + + const src = ref(1) + const clamped = useClamp(src, 1, 5) + watch(src, val => (clamped.value = val)) + + const spy = vi.fn() + watch(clamped, spy) + + src.value = 2 + expect(spy).toHaveBeenCalledTimes(1) + src.value = 10 + expect(spy).toHaveBeenCalledTimes(2) + }) + + test('should ensure correct execution order in batch processing', () => { + const dummy: number[] = [] + const n1 = ref(0) + const n2 = ref(0) + const sum = computed(() => n1.value + n2.value) + watch(n1, () => { + dummy.push(1) + n2.value++ + }) + watch(sum, () => dummy.push(2)) + watch(n1, () => dummy.push(3)) + + n1.value++ + + expect(dummy).toEqual([1, 2, 3]) + }) }) diff --git a/packages/reactivity/package.json b/packages/reactivity/package.json index 16f448b48..d8b0ad1d4 100644 --- a/packages/reactivity/package.json +++ b/packages/reactivity/package.json @@ -1,6 +1,6 @@ { "name": "@vue/reactivity", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/reactivity", "main": "index.js", "module": "dist/reactivity.esm-bundler.js", diff --git a/packages/reactivity/src/computed.ts b/packages/reactivity/src/computed.ts index b16b011c5..ea798e201 100644 --- a/packages/reactivity/src/computed.ts +++ b/packages/reactivity/src/computed.ts @@ -84,9 +84,13 @@ export class ComputedRefImpl implements Subscriber { * @internal */ isSSR: boolean + /** + * @internal + */ + next?: Subscriber = undefined + // for backwards compat effect: this = this - // dev only onTrack?: (event: DebuggerEvent) => void // dev only @@ -117,7 +121,7 @@ export class ComputedRefImpl implements Subscriber { // avoid infinite self recursion activeSub !== this ) { - batch(this) + batch(this, true) return true } else if (__DEV__) { // TODO warn diff --git a/packages/reactivity/src/dep.ts b/packages/reactivity/src/dep.ts index 61f0a59c3..7e4048743 100644 --- a/packages/reactivity/src/dep.ts +++ b/packages/reactivity/src/dep.ts @@ -85,10 +85,14 @@ export class Dep { /** * For object property deps cleanup */ - target?: unknown = undefined map?: KeyToDepMap = undefined key?: unknown = undefined + /** + * Subscriber counter + */ + sc: number = 0 + constructor(public computed?: ComputedRefImpl | undefined) { if (__DEV__) { this.subsHead = undefined @@ -113,9 +117,7 @@ export class Dep { activeSub.depsTail = link } - if (activeSub.flags & EffectFlags.TRACKING) { - addSub(link) - } + addSub(link) } else if (link.version === -1) { // reused from last run - already a sub, just sync version link.version = this.version @@ -197,27 +199,30 @@ export class Dep { } function addSub(link: Link) { - const computed = link.dep.computed - // computed getting its first subscriber - // enable tracking + lazily subscribe to all its deps - if (computed && !link.dep.subs) { - computed.flags |= EffectFlags.TRACKING | EffectFlags.DIRTY - for (let l = computed.deps; l; l = l.nextDep) { - addSub(l) + link.dep.sc++ + if (link.sub.flags & EffectFlags.TRACKING) { + const computed = link.dep.computed + // computed getting its first subscriber + // enable tracking + lazily subscribe to all its deps + if (computed && !link.dep.subs) { + computed.flags |= EffectFlags.TRACKING | EffectFlags.DIRTY + for (let l = computed.deps; l; l = l.nextDep) { + addSub(l) + } } - } - const currentTail = link.dep.subs - if (currentTail !== link) { - link.prevSub = currentTail - if (currentTail) currentTail.nextSub = link - } + const currentTail = link.dep.subs + if (currentTail !== link) { + link.prevSub = currentTail + if (currentTail) currentTail.nextSub = link + } - if (__DEV__ && link.dep.subsHead === undefined) { - link.dep.subsHead = link - } + if (__DEV__ && link.dep.subsHead === undefined) { + link.dep.subsHead = link + } - link.dep.subs = link + link.dep.subs = link + } } // The main WeakMap that stores {target -> key -> dep} connections. @@ -257,7 +262,6 @@ export function track(target: object, type: TrackOpTypes, key: unknown): void { let dep = depsMap.get(key) if (!dep) { depsMap.set(key, (dep = new Dep())) - dep.target = target dep.map = depsMap dep.key = key } @@ -378,13 +382,10 @@ export function trigger( endBatch() } -/** - * Test only - */ export function getDepFromReactive( object: any, key: string | number | symbol, ): Dep | undefined { - // eslint-disable-next-line - return targetMap.get(object)?.get(key) + const depMap = targetMap.get(object) + return depMap && depMap.get(key) } diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index d0b7c7bd9..243518839 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -1,7 +1,7 @@ import { extend, hasChanged } from '@vue/shared' import type { ComputedRefImpl } from './computed' import type { TrackOpTypes, TriggerOpTypes } from './constants' -import { type Link, globalVersion, targetMap } from './dep' +import { type Link, globalVersion } from './dep' import { activeEffectScope } from './effectScope' import { warn } from './warning' @@ -234,9 +234,15 @@ export class ReactiveEffect let batchDepth = 0 let batchedSub: Subscriber | undefined +let batchedComputed: Subscriber | undefined -export function batch(sub: Subscriber): void { +export function batch(sub: Subscriber, isComputed = false): void { sub.flags |= EffectFlags.NOTIFIED + if (isComputed) { + sub.next = batchedComputed + batchedComputed = sub + return + } sub.next = batchedSub batchedSub = sub } @@ -257,6 +263,17 @@ export function endBatch(): void { return } + if (batchedComputed) { + let e: Subscriber | undefined = batchedComputed + batchedComputed = undefined + while (e) { + const next: Subscriber | undefined = e.next + e.next = undefined + e.flags &= ~EffectFlags.NOTIFIED + e = next + } + } + let error: unknown while (batchedSub) { let e: Subscriber | undefined = batchedSub @@ -399,7 +416,7 @@ export function refreshComputed(computed: ComputedRefImpl): undefined { } } -function removeSub(link: Link, fromComputed = false) { +function removeSub(link: Link, soft = false) { const { dep, prevSub, nextSub } = link if (prevSub) { prevSub.nextSub = nextSub @@ -418,21 +435,24 @@ function removeSub(link: Link, fromComputed = false) { dep.subsHead = nextSub } - if (!dep.subs) { - // last subscriber removed - if (dep.computed) { - // if computed, unsubscribe it from all its deps so this computed and its - // value can be GCed - dep.computed.flags &= ~EffectFlags.TRACKING - for (let l = dep.computed.deps; l; l = l.nextDep) { - removeSub(l, true) - } - } else if (dep.map && !fromComputed) { - // property dep, remove it from the owner depsMap - dep.map.delete(dep.key) - if (!dep.map.size) targetMap.delete(dep.target!) + if (!dep.subs && dep.computed) { + // if computed, unsubscribe it from all its deps so this computed and its + // value can be GCed + dep.computed.flags &= ~EffectFlags.TRACKING + for (let l = dep.computed.deps; l; l = l.nextDep) { + // here we are only "soft" unsubscribing because the computed still keeps + // referencing the deps and the dep should not decrease its sub count + removeSub(l, true) } } + + if (!soft && !--dep.sc && dep.map) { + // #11979 + // property dep no longer has effect subscribers, delete it + // this mostly is for the case where an object is kept in memory but only a + // subset of its properties is tracked at one time + dep.map.delete(dep.key) + } } function removeDep(link: Link) { diff --git a/packages/reactivity/src/reactive.ts b/packages/reactivity/src/reactive.ts index 7d9c33aa4..729c85496 100644 --- a/packages/reactivity/src/reactive.ts +++ b/packages/reactivity/src/reactive.ts @@ -167,7 +167,7 @@ export type DeepReadonly = T extends Builtin ? WeakSet> : T extends Promise ? Promise> - : T extends Ref + : T extends Ref ? Readonly>> : T extends {} ? { readonly [K in keyof T]: DeepReadonly } diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 1de8b9e33..6b8d54181 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -62,7 +62,9 @@ export function ref(value?: unknown) { declare const ShallowRefMarker: unique symbol -export type ShallowRef = Ref & { [ShallowRefMarker]?: true } +export type ShallowRef = Ref & { + [ShallowRefMarker]?: true +} /** * Shallow version of {@link ref()}. @@ -487,12 +489,12 @@ export type ShallowUnwrapRef = { [K in keyof T]: DistributeRef } -type DistributeRef = T extends Ref ? V : T +type DistributeRef = T extends Ref ? V : T export type UnwrapRef = - T extends ShallowRef + T extends ShallowRef ? V - : T extends Ref + : T extends Ref ? UnwrapRefSimple : UnwrapRefSimple diff --git a/packages/runtime-core/__tests__/apiWatch.spec.ts b/packages/runtime-core/__tests__/apiWatch.spec.ts index 082d585b8..10a4fe659 100644 --- a/packages/runtime-core/__tests__/apiWatch.spec.ts +++ b/packages/runtime-core/__tests__/apiWatch.spec.ts @@ -1930,7 +1930,7 @@ describe('api: watch', () => { warn.mockRestore() }) - it('should be executed correctly', () => { + test('should be executed correctly', () => { const v = ref(1) let foo = '' @@ -1957,4 +1957,30 @@ describe('api: watch', () => { v.value++ expect(foo).toBe('12') }) + + // 12045 + test('sync watcher should not break pre watchers', async () => { + const count1 = ref(0) + const count2 = ref(0) + + watch( + count1, + () => { + count2.value++ + }, + { flush: 'sync' }, + ) + + const spy1 = vi.fn() + watch([count1, count2], spy1) + + const spy2 = vi.fn() + watch(count1, spy2) + + count1.value++ + + await nextTick() + expect(spy1).toHaveBeenCalled() + expect(spy2).toHaveBeenCalled() + }) }) diff --git a/packages/runtime-core/__tests__/rendererChildren.spec.ts b/packages/runtime-core/__tests__/rendererChildren.spec.ts index 47024b674..2c3e5ff0d 100644 --- a/packages/runtime-core/__tests__/rendererChildren.spec.ts +++ b/packages/runtime-core/__tests__/rendererChildren.spec.ts @@ -65,6 +65,15 @@ test('array children -> text children', () => { expect(inner(root)).toBe('
hello
') }) +test('plain object child', () => { + const root = nodeOps.createElement('div') + const foo = { foo: '1' } + // @ts-expect-error + render(h('div', null, [foo]), root) + expect('Invalid VNode type').not.toHaveBeenWarned() + expect(inner(root)).toBe('
[object Object]
') +}) + describe('renderer: keyed children', () => { let root: TestElement let elm: TestElement diff --git a/packages/runtime-core/__tests__/scheduler.spec.ts b/packages/runtime-core/__tests__/scheduler.spec.ts index cf961667e..3e454aec0 100644 --- a/packages/runtime-core/__tests__/scheduler.spec.ts +++ b/packages/runtime-core/__tests__/scheduler.spec.ts @@ -441,6 +441,29 @@ describe('scheduler', () => { await nextTick() expect(calls).toEqual(['job1', 'job2', 'cb1', 'cb2']) }) + + test('jobs added during post flush are ordered correctly', async () => { + const calls: string[] = [] + + const job1: SchedulerJob = () => { + calls.push('job1') + } + job1.id = 1 + + const job2: SchedulerJob = () => { + calls.push('job2') + } + job2.id = 2 + + queuePostFlushCb(() => { + queueJob(job2) + queueJob(job1) + }) + + await nextTick() + + expect(calls).toEqual(['job1', 'job2']) + }) }) test('sort job based on id', async () => { @@ -758,6 +781,37 @@ describe('scheduler', () => { expect(spy).toHaveBeenCalledTimes(1) }) + test('flushPreFlushCbs inside a post job', async () => { + const calls: string[] = [] + const callsAfterFlush: string[] = [] + + const job1: SchedulerJob = () => { + calls.push('job1') + } + job1.id = 1 + job1.flags! |= SchedulerJobFlags.PRE + + const job2: SchedulerJob = () => { + calls.push('job2') + } + job2.id = 2 + job2.flags! |= SchedulerJobFlags.PRE + + queuePostFlushCb(() => { + queueJob(job2) + queueJob(job1) + + // e.g. nested app.mount() call + flushPreFlushCbs() + callsAfterFlush.push(...calls) + }) + + await nextTick() + + expect(callsAfterFlush).toEqual(['job1', 'job2']) + expect(calls).toEqual(['job1', 'job2']) + }) + it('nextTick should return promise', async () => { const fn = vi.fn(() => { return 1 diff --git a/packages/runtime-core/package.json b/packages/runtime-core/package.json index 254a92805..f6096c156 100644 --- a/packages/runtime-core/package.json +++ b/packages/runtime-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-core", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/runtime-core", "main": "index.js", "module": "dist/runtime-core.esm-bundler.js", diff --git a/packages/runtime-core/src/apiDefineComponent.ts b/packages/runtime-core/src/apiDefineComponent.ts index 3748fc81c..9ae6b41a4 100644 --- a/packages/runtime-core/src/apiDefineComponent.ts +++ b/packages/runtime-core/src/apiDefineComponent.ts @@ -27,7 +27,7 @@ import type { EmitsToProps, TypeEmitsToOptions, } from './componentEmits' -import { extend, isFunction } from '@vue/shared' +import { type IsKeyValues, extend, isFunction } from '@vue/shared' import type { VNodeProps } from './vnode' import type { ComponentPublicInstanceConstructor, @@ -79,7 +79,7 @@ export type DefineComponent< Mixin, Extends, E, - PP & Props, + PP, Defaults, MakeDefaultsOptional, {}, @@ -208,15 +208,13 @@ export function defineComponent< ResolvedEmits extends EmitsOptions = {} extends RuntimeEmitsOptions ? TypeEmitsToOptions : RuntimeEmitsOptions, - InferredProps = unknown extends TypeProps - ? keyof TypeProps extends never - ? string extends RuntimePropsKeys - ? ComponentObjectPropsOptions extends RuntimePropsOptions - ? {} - : ExtractPropTypes - : { [key in RuntimePropsKeys]?: any } - : TypeProps - : TypeProps, + InferredProps = IsKeyValues extends true + ? TypeProps + : string extends RuntimePropsKeys + ? ComponentObjectPropsOptions extends RuntimePropsOptions + ? {} + : ExtractPropTypes + : { [key in RuntimePropsKeys]?: any }, TypeRefs extends Record = {}, TypeEl extends Element = any, >( diff --git a/packages/runtime-core/src/componentEmits.ts b/packages/runtime-core/src/componentEmits.ts index b1be1c9ed..db52bc88c 100644 --- a/packages/runtime-core/src/componentEmits.ts +++ b/packages/runtime-core/src/componentEmits.ts @@ -66,11 +66,23 @@ export type TypeEmitsToOptions = { : {}) type ParametersToFns = { - [K in T[0]]: K extends `${infer C}` - ? (...args: T extends [C, ...infer Args] ? Args : never) => any + [K in T[0]]: IsStringLiteral extends true + ? ( + ...args: T extends [e: infer E, ...args: infer P] + ? K extends E + ? P + : never + : never + ) => any : never } +type IsStringLiteral = T extends string + ? string extends T + ? false + : true + : false + export type ShortEmitsToObject = E extends Record ? { diff --git a/packages/runtime-core/src/helpers/useId.ts b/packages/runtime-core/src/helpers/useId.ts index f7a2b5fc3..4b51e0dda 100644 --- a/packages/runtime-core/src/helpers/useId.ts +++ b/packages/runtime-core/src/helpers/useId.ts @@ -4,7 +4,7 @@ import { } from '../component' import { warn } from '../warning' -export function useId(): string | undefined { +export function useId(): string { const i = getCurrentInstance() if (i) { return (i.appContext.config.idPrefix || 'v') + '-' + i.ids[0] + i.ids[1]++ @@ -14,6 +14,7 @@ export function useId(): string | undefined { `instance to be associated with.`, ) } + return '' } /** diff --git a/packages/runtime-core/src/hydration.ts b/packages/runtime-core/src/hydration.ts index 3cde4377e..82972e171 100644 --- a/packages/runtime-core/src/hydration.ts +++ b/packages/runtime-core/src/hydration.ts @@ -1,8 +1,8 @@ import { - Comment, Fragment, Static, Text, + Comment as VComment, type VNode, type VNodeHook, createTextVNode, @@ -195,7 +195,7 @@ export function createHydrationFunctions( nextNode = nextSibling(node) } break - case Comment: + case VComment: if (isTemplateNode(node)) { nextNode = nextSibling(node) // wrapped diff --git a/packages/runtime-core/src/scheduler.ts b/packages/runtime-core/src/scheduler.ts index 798f850b7..b40c31d39 100644 --- a/packages/runtime-core/src/scheduler.ts +++ b/packages/runtime-core/src/scheduler.ts @@ -40,11 +40,8 @@ export interface SchedulerJob extends Function { export type SchedulerJobs = SchedulerJob | SchedulerJob[] -let isFlushing = false -let isFlushPending = false - const queue: SchedulerJob[] = [] -let flushIndex = 0 +let flushIndex = -1 const pendingPostFlushCbs: SchedulerJob[] = [] let activePostFlushCbs: SchedulerJob[] | null = null @@ -74,7 +71,7 @@ export function nextTick( // watcher should be inserted immediately before the update job. This allows // watchers to be skipped if the component is unmounted by the parent update. function findInsertionIndex(id: number) { - let start = isFlushing ? flushIndex + 1 : 0 + let start = flushIndex + 1 let end = queue.length while (start < end) { @@ -115,8 +112,7 @@ export function queueJob(job: SchedulerJob): void { } function queueFlush() { - if (!isFlushing && !isFlushPending) { - isFlushPending = true + if (!currentFlushPromise) { currentFlushPromise = resolvedPromise.then(flushJobs) } } @@ -141,8 +137,8 @@ export function queuePostFlushCb(cb: SchedulerJobs): void { export function flushPreFlushCbs( instance?: ComponentInternalInstance, seen?: CountMap, - // if currently flushing, skip the current job itself - i: number = isFlushing ? flushIndex + 1 : 0, + // skip the current job + i: number = flushIndex + 1, ): void { if (__DEV__) { seen = seen || new Map() @@ -211,8 +207,6 @@ const getId = (job: SchedulerJob): number => job.id == null ? (job.flags! & SchedulerJobFlags.PRE ? -1 : Infinity) : job.id function flushJobs(seen?: CountMap) { - isFlushPending = false - isFlushing = true if (__DEV__) { seen = seen || new Map() } @@ -255,15 +249,13 @@ function flushJobs(seen?: CountMap) { } } - flushIndex = 0 + flushIndex = -1 queue.length = 0 flushPostFlushCbs(seen) - isFlushing = false currentFlushPromise = null - // some postFlushCb queued jobs! - // keep flushing until it drains. + // If new jobs have been added to either queue, keep flushing if (queue.length || pendingPostFlushCbs.length) { flushJobs(seen) } diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts index a2ce937c1..9309d5d92 100644 --- a/packages/runtime-core/src/vnode.ts +++ b/packages/runtime-core/src/vnode.ts @@ -793,7 +793,7 @@ export function normalizeVNode(child: VNodeChild): VNode { // #3666, avoid reference pollution when reusing vnode child.slice(), ) - } else if (typeof child === 'object') { + } else if (isVNode(child)) { // already vnode, this should be the most common since compiled templates // always produce all-vnode children arrays return cloneIfMounted(child) diff --git a/packages/runtime-dom/__tests__/customElement.spec.ts b/packages/runtime-dom/__tests__/customElement.spec.ts index 51113edef..ef5051f42 100644 --- a/packages/runtime-dom/__tests__/customElement.spec.ts +++ b/packages/runtime-dom/__tests__/customElement.spec.ts @@ -223,6 +223,21 @@ describe('defineCustomElement', () => { expect(e.getAttribute('baz-qux')).toBe('four') }) + test('props via hyphen property', async () => { + const Comp = defineCustomElement({ + props: { + fooBar: Boolean, + }, + render() { + return 'Comp' + }, + }) + customElements.define('my-el-comp', Comp) + render(h('my-el-comp', { 'foo-bar': true }), container) + const el = container.children[0] + expect((el as any).outerHTML).toBe('') + }) + test('attribute -> prop type casting', async () => { const E = defineCustomElement({ props: { diff --git a/packages/runtime-dom/package.json b/packages/runtime-dom/package.json index e9b1d6997..75a2680e5 100644 --- a/packages/runtime-dom/package.json +++ b/packages/runtime-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-dom", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/runtime-dom", "main": "index.js", "module": "dist/runtime-dom.esm-bundler.js", diff --git a/packages/runtime-dom/src/directives/vModel.ts b/packages/runtime-dom/src/directives/vModel.ts index b3d127fbe..5a27b245a 100644 --- a/packages/runtime-dom/src/directives/vModel.ts +++ b/packages/runtime-dom/src/directives/vModel.ts @@ -160,7 +160,7 @@ export const vModelCheckbox: ModelDirective = { function setChecked( el: HTMLInputElement, - { value, oldValue }: DirectiveBinding, + { value }: DirectiveBinding, vnode: VNode, ) { // store the v-model value on the element so it can be accessed by the @@ -225,20 +225,20 @@ export const vModelSelect: ModelDirective = { }, // set value in mounted & updated because with // :true-value & :false-value @@ -127,14 +134,5 @@ function shouldSetAsProp( return false } - if (key in el) { - return true - } - - // #11081 force set props for possible async custom element - if ((el as VueElement)._isVueCE && (/[A-Z]/.test(key) || !isString(value))) { - return true - } - - return false + return key in el } diff --git a/packages/server-renderer/package.json b/packages/server-renderer/package.json index bcc352d11..65bf90086 100644 --- a/packages/server-renderer/package.json +++ b/packages/server-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@vue/server-renderer", - "version": "3.5.7", + "version": "3.5.11", "description": "@vue/server-renderer", "main": "index.js", "module": "dist/server-renderer.esm-bundler.js", diff --git a/packages/shared/package.json b/packages/shared/package.json index 9cd5f2901..bc2d6ce9a 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@vue/shared", - "version": "3.5.7", + "version": "3.5.11", "description": "internal utils shared across @vue packages", "main": "index.js", "module": "dist/shared.esm-bundler.js", diff --git a/packages/shared/src/general.ts b/packages/shared/src/general.ts index 6ec7311f6..158b893bc 100644 --- a/packages/shared/src/general.ts +++ b/packages/shared/src/general.ts @@ -218,3 +218,12 @@ export function genPropsAccessExp(name: string): string { ? `__props.${name}` : `__props[${JSON.stringify(name)}]` } + +export function genCacheKey(source: string, options: any): string { + return ( + source + + JSON.stringify(options, (_, val) => + typeof val === 'function' ? val.toString() : val, + ) + ) +} diff --git a/packages/shared/src/typeUtils.ts b/packages/shared/src/typeUtils.ts index 1fd161ceb..f5b9e6ec3 100644 --- a/packages/shared/src/typeUtils.ts +++ b/packages/shared/src/typeUtils.ts @@ -13,6 +13,12 @@ export type LooseRequired = { [P in keyof (T & Required)]: T[P] } // https://stackoverflow.com/questions/49927523/disallow-call-with-any/49928360#49928360 export type IfAny = 0 extends 1 & T ? Y : N +export type IsKeyValues = IfAny< + T, + false, + T extends object ? (keyof T extends K ? true : false) : false +> + /** * Utility for extracting the parameters from a function overload (for typed emits) * https://github.com/microsoft/TypeScript/issues/32164#issuecomment-1146737709 diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index 1827c3230..41eb7d9a0 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compat", - "version": "3.5.7", + "version": "3.5.11", "description": "Vue 3 compatibility build for Vue 2", "main": "index.js", "module": "dist/vue.runtime.esm-bundler.js", diff --git a/packages/vue-compat/src/index.ts b/packages/vue-compat/src/index.ts index 639ccfd94..d7e9695d8 100644 --- a/packages/vue-compat/src/index.ts +++ b/packages/vue-compat/src/index.ts @@ -12,7 +12,13 @@ import { registerRuntimeCompiler, warn, } from '@vue/runtime-dom' -import { NOOP, extend, generateCodeFrame, isString } from '@vue/shared' +import { + NOOP, + extend, + genCacheKey, + generateCodeFrame, + isString, +} from '@vue/shared' import type { InternalRenderFunction } from 'packages/runtime-core/src/component' import * as runtimeDom from '@vue/runtime-dom' import { @@ -35,7 +41,7 @@ function compileToFunction( } } - const key = template + const key = genCacheKey(template, options) const cached = compileCache[key] if (cached) { return cached diff --git a/packages/vue/package.json b/packages/vue/package.json index 97105cc84..930da5e34 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "vue", - "version": "3.5.7", + "version": "3.5.11", "description": "The progressive JavaScript framework for building modern web UI.", "main": "index.js", "module": "dist/vue.runtime.esm-bundler.js", diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts index 35077b3cf..785f3fd4b 100644 --- a/packages/vue/src/index.ts +++ b/packages/vue/src/index.ts @@ -13,9 +13,9 @@ import { } from '@vue/runtime-dom' import * as runtimeDom from '@vue/runtime-dom' import { - EMPTY_OBJ, NOOP, extend, + genCacheKey, generateCodeFrame, isString, } from '@vue/shared' @@ -25,19 +25,7 @@ if (__DEV__) { initDev() } -const compileCache = new WeakMap< - CompilerOptions, - Record ->() - -function getCache(options?: CompilerOptions) { - let c = compileCache.get(options ?? EMPTY_OBJ) - if (!c) { - c = Object.create(null) as Record - compileCache.set(options ?? EMPTY_OBJ, c) - } - return c -} +const compileCache: Record = Object.create(null) function compileToFunction( template: string | HTMLElement, @@ -52,9 +40,8 @@ function compileToFunction( } } - const key = template - const cache = getCache(options) - const cached = cache[key] + const key = genCacheKey(template, options) + const cached = compileCache[key] if (cached) { return cached } @@ -111,7 +98,7 @@ function compileToFunction( // mark the function as runtime compiled ;(render as InternalRenderFunction)._rc = true - return (cache[key] = render) + return (compileCache[key] = render) } registerRuntimeCompiler(compileToFunction) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4b487822..b4986a5aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,29 +39,29 @@ importers: specifier: 'catalog:' version: 7.25.2 '@rollup/plugin-alias': - specifier: ^5.1.0 - version: 5.1.0(rollup@4.21.3) + specifier: ^5.1.1 + version: 5.1.1(rollup@4.24.0) '@rollup/plugin-commonjs': - specifier: ^26.0.1 - version: 26.0.1(rollup@4.21.3) + specifier: ^26.0.3 + version: 26.0.3(rollup@4.24.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.21.3) + version: 6.1.0(rollup@4.24.0) '@rollup/plugin-node-resolve': - specifier: ^15.2.3 - version: 15.2.3(rollup@4.21.3) + specifier: ^15.3.0 + version: 15.3.0(rollup@4.24.0) '@rollup/plugin-replace': specifier: 5.0.4 - version: 5.0.4(rollup@4.21.3) + version: 5.0.4(rollup@4.24.0) '@swc/core': - specifier: ^1.7.26 - version: 1.7.26 + specifier: ^1.7.28 + version: 1.7.28 '@types/hash-sum': specifier: ^1.0.2 version: 1.0.2 '@types/node': - specifier: ^20.16.5 - version: 20.16.5 + specifier: ^20.16.10 + version: 20.16.10 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -70,7 +70,7 @@ importers: version: 6.1.4 '@vitest/coverage-v8': specifier: ^2.1.1 - version: 2.1.1(vitest@2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0)) + version: 2.1.1(vitest@2.1.1) '@vitest/ui': specifier: ^2.1.1 version: 2.1.1(vitest@2.1.1) @@ -84,11 +84,11 @@ importers: specifier: ^2.4.1 version: 2.4.1 esbuild: - specifier: ^0.23.1 - version: 0.23.1 + specifier: ^0.24.0 + version: 0.24.0 esbuild-plugin-polyfill-node: specifier: ^0.3.0 - version: 0.3.0(esbuild@0.23.1) + version: 0.3.0(esbuild@0.24.0) eslint: specifier: ^9.10.0 version: 9.10.0 @@ -97,7 +97,7 @@ importers: version: 4.2.1(eslint@9.10.0)(typescript@5.6.2) eslint-plugin-vitest: specifier: ^0.5.4 - version: 0.5.4(eslint@9.10.0)(typescript@5.6.2)(vitest@2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0)) + version: 0.5.4(eslint@9.10.0)(typescript@5.6.2)(vitest@2.1.1) estree-walker: specifier: 'catalog:' version: 2.0.2 @@ -141,17 +141,17 @@ importers: specifier: ^6.0.1 version: 6.0.1 rollup: - specifier: ^4.21.3 - version: 4.21.3 + specifier: ^4.24.0 + version: 4.24.0 rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.21.3)(typescript@5.6.2) + version: 6.1.1(rollup@4.24.0)(typescript@5.6.2) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.23.1)(rollup@4.21.3) + version: 6.1.1(esbuild@0.24.0)(rollup@4.24.0) rollup-plugin-polyfill-node: specifier: ^0.13.0 - version: 0.13.0(rollup@4.21.3) + version: 0.13.0(rollup@4.24.0) semver: specifier: ^7.6.3 version: 7.6.3 @@ -178,16 +178,16 @@ importers: version: 8.5.0(eslint@9.10.0)(typescript@5.6.2) vite: specifier: 'catalog:' - version: 5.4.0(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0) + version: 5.4.0(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0) vitest: specifier: ^2.1.1 - version: 2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0) + version: 2.1.1(@types/node@20.16.10)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.4)(terser@5.33.0) benchmark: dependencies: '@vitejs/plugin-vue': specifier: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5 - version: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.3.3(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2)) + version: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.3.3(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0))(vue@3.5.11(typescript@5.6.2)) connect: specifier: ^3.7.0 version: 3.7.0 @@ -196,7 +196,7 @@ importers: version: 2.0.4 vite: specifier: ^5.0.12 - version: 5.3.3(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + version: 5.3.3(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) devDependencies: '@types/connect': specifier: ^3.4.38 @@ -243,10 +243,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: 'catalog:' - version: 5.1.2(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0))(vue@packages+vue) + version: 5.1.2(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0))(vue@packages+vue) vite: specifier: 'catalog:' - version: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + version: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) packages-private/template-explorer: dependencies: @@ -264,10 +264,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: 'catalog:' - version: 5.1.2(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0))(vue@packages+vue) + version: 5.1.2(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0))(vue@packages+vue) vite: specifier: 'catalog:' - version: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + version: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) vue: specifier: workspace:* version: link:../../packages/vue @@ -364,8 +364,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 sass: - specifier: ^1.78.0 - version: 1.78.0 + specifier: ^1.79.4 + version: 1.79.4 packages/compiler-ssr: dependencies: @@ -521,16 +521,16 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5 - version: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0))(vue@packages+vue) + version: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0))(vue@packages+vue) vite: specifier: 'catalog:' - version: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + version: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) vite-hyper-config: specifier: ^0.4.0 - version: 0.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0)) + version: 0.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0)) vite-plugin-inspect: specifier: ^0.8.7 - version: 0.8.7(rollup@4.22.4)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0)) + version: 0.8.7(rollup@4.24.0)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0)) packages: @@ -596,8 +596,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.23.1': - resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -608,8 +608,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.23.1': - resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -620,8 +620,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.23.1': - resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -632,8 +632,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.23.1': - resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -644,8 +644,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.23.1': - resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -656,8 +656,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.23.1': - resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -668,8 +668,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.23.1': - resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -680,8 +680,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.23.1': - resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -692,8 +692,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.23.1': - resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -704,8 +704,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.23.1': - resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -716,8 +716,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.23.1': - resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -728,8 +728,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.23.1': - resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -740,8 +740,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.23.1': - resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -752,8 +752,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.23.1': - resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -764,8 +764,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.23.1': - resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -776,8 +776,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.23.1': - resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -788,8 +788,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.23.1': - resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -800,14 +800,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.23.1': - resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.23.1': - resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -818,8 +818,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.23.1': - resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -830,8 +830,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.23.1': - resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -842,8 +842,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.23.1': - resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -854,8 +854,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.23.1': - resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -866,8 +866,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.23.1': - resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -970,8 +970,8 @@ packages: engines: {node: '>=18'} hasBin: true - '@rollup/plugin-alias@5.1.0': - resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + '@rollup/plugin-alias@5.1.1': + resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -979,8 +979,8 @@ packages: rollup: optional: true - '@rollup/plugin-commonjs@26.0.1': - resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==} + '@rollup/plugin-commonjs@26.0.3': + resolution: {integrity: sha512-2BJcolt43MY+y5Tz47djHkodCC3c1VKVrBDKpVqHKpQ9z9S158kCCqB8NF6/gzxLdNlYW9abB3Ibh+kOWLp8KQ==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -1006,8 +1006,8 @@ packages: rollup: optional: true - '@rollup/plugin-node-resolve@15.2.3': - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + '@rollup/plugin-node-resolve@15.3.0': + resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0||^4.0.0 @@ -1033,308 +1033,148 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.20.0': - resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} + '@rollup/rollup-android-arm-eabi@4.24.0': + resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.21.3': - resolution: {integrity: sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm-eabi@4.22.4': - resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.20.0': - resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} + '@rollup/rollup-android-arm64@4.24.0': + resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.21.3': - resolution: {integrity: sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-android-arm64@4.22.4': - resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.20.0': - resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} + '@rollup/rollup-darwin-arm64@4.24.0': + resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.21.3': - resolution: {integrity: sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-arm64@4.22.4': - resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.20.0': - resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} + '@rollup/rollup-darwin-x64@4.24.0': + resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.3': - resolution: {integrity: sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.22.4': - resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': - resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': + resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.21.3': - resolution: {integrity: sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==} + '@rollup/rollup-linux-arm-musleabihf@4.24.0': + resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': - resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.20.0': - resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.21.3': - resolution: {integrity: sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.22.4': - resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.20.0': - resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} + '@rollup/rollup-linux-arm64-gnu@4.24.0': + resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.3': - resolution: {integrity: sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==} + '@rollup/rollup-linux-arm64-musl@4.24.0': + resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.22.4': - resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.20.0': - resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.21.3': - resolution: {integrity: sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.22.4': - resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': - resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': + resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': - resolution: {integrity: sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': - resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.20.0': - resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} + '@rollup/rollup-linux-riscv64-gnu@4.24.0': + resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.3': - resolution: {integrity: sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.22.4': - resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.20.0': - resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} + '@rollup/rollup-linux-s390x-gnu@4.24.0': + resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.3': - resolution: {integrity: sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.22.4': - resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.20.0': - resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} + '@rollup/rollup-linux-x64-gnu@4.24.0': + resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.3': - resolution: {integrity: sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==} + '@rollup/rollup-linux-x64-musl@4.24.0': + resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.22.4': - resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.20.0': - resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.21.3': - resolution: {integrity: sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.22.4': - resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.20.0': - resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} + '@rollup/rollup-win32-arm64-msvc@4.24.0': + resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.21.3': - resolution: {integrity: sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-arm64-msvc@4.22.4': - resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.20.0': - resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} + '@rollup/rollup-win32-ia32-msvc@4.24.0': + resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.3': - resolution: {integrity: sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.22.4': - resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.20.0': - resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} + '@rollup/rollup-win32-x64-msvc@4.24.0': + resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.3': - resolution: {integrity: sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.22.4': - resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} - cpu: [x64] - os: [win32] - - '@swc/core-darwin-arm64@1.7.26': - resolution: {integrity: sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw==} + '@swc/core-darwin-arm64@1.7.28': + resolution: {integrity: sha512-BNkj6enHo2pdzOpCtQGKZbXT2A/qWIr0CVtbTM4WkJ3MCK/glbFsyO6X59p1r8+gfaZG4bWYnTTu+RuUAcsL5g==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.26': - resolution: {integrity: sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ==} + '@swc/core-darwin-x64@1.7.28': + resolution: {integrity: sha512-96zQ+X5Fd6P/RNPkOyikTJgEc2M4TzznfYvjRd2hye5h22jhxCLL/csoauDgN7lYfd7mwsZ/sVXwJTMKl+vZSA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.26': - resolution: {integrity: sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q==} + '@swc/core-linux-arm-gnueabihf@1.7.28': + resolution: {integrity: sha512-l2100Wx6LdXMOmOW3+KoHhBhyZrGdz8ylkygcVOC0QHp6YIATfuG+rRHksfyEWCSOdL3anM9MJZJX26KT/s+XQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.26': - resolution: {integrity: sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q==} + '@swc/core-linux-arm64-gnu@1.7.28': + resolution: {integrity: sha512-03m6iQ5Bv9u2VPnNRyaBmE8eHi056eE39L0gXcqGoo46GAGuoqYHt9pDz8wS6EgoN4t85iBMUZrkCNqFKkN6ZQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.26': - resolution: {integrity: sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg==} + '@swc/core-linux-arm64-musl@1.7.28': + resolution: {integrity: sha512-vqVOpG/jc8mvTKQjaPBLhr7tnWyzuztOHsPnJqMWmg7zGcMeQC/2c5pU4uzRAfXMTp25iId6s4Y4wWfPS1EeDw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.26': - resolution: {integrity: sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w==} + '@swc/core-linux-x64-gnu@1.7.28': + resolution: {integrity: sha512-HGwpWuB83Kr+V0E+zT5UwIIY9OxiS8aLd0UVMRVWuO8SrQyKm9HKJ46+zoAb8tfJrpZftfxvbn2ayZWR7gqosA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.26': - resolution: {integrity: sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ==} + '@swc/core-linux-x64-musl@1.7.28': + resolution: {integrity: sha512-q2Y2T8y8EgFtIiRyInnAXNe94aaHX74F0ha1Bl9VdRxE0u1/So+3VLbPvtp4V3Z6pj5pOePfCQJKifnllgAQ9A==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.26': - resolution: {integrity: sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA==} + '@swc/core-win32-arm64-msvc@1.7.28': + resolution: {integrity: sha512-bCqh4uBT/59h3dWK1v91In6qzz8rKoWoFRxCtNQLIK4jP55K0U231ZK9oN7neZD6bzcOUeFvOGgcyMAgDfFWfA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.26': - resolution: {integrity: sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ==} + '@swc/core-win32-ia32-msvc@1.7.28': + resolution: {integrity: sha512-XTHbHrksnrqK3JSJ2sbuMWvdJ6/G0roRpgyVTmNDfhTYPOwcVaL/mSrPGLwbksYUbq7ckwoKzrobhdxvQzPsDA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.26': - resolution: {integrity: sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w==} + '@swc/core-win32-x64-msvc@1.7.28': + resolution: {integrity: sha512-jyXeoq6nX8abiCy2EpporsC5ywNENs4ocYuvxo1LSxDktWN1E2MTXq3cdJcEWB2Vydxq0rDcsGyzkRPMzFhkZw==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.7.26': - resolution: {integrity: sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw==} + '@swc/core@1.7.28': + resolution: {integrity: sha512-XapcMgsOS0cKh01AFEj+qXOk6KM4NZhp7a5vPicdhkRR8RzvjrCa7DTtijMxfotU8bqaEHguxmiIag2HUlT8QQ==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -1357,11 +1197,14 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/hash-sum@1.0.2': resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==} - '@types/node@20.16.5': - resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} + '@types/node@20.16.10': + resolution: {integrity: sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==} '@types/node@22.5.5': resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} @@ -1530,41 +1373,41 @@ packages: '@vitest/utils@2.1.1': resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} - '@vue/compiler-core@3.5.8': - resolution: {integrity: sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==} + '@vue/compiler-core@3.5.11': + resolution: {integrity: sha512-PwAdxs7/9Hc3ieBO12tXzmTD+Ln4qhT/56S+8DvrrZ4kLDn4Z/AMUr8tXJD0axiJBS0RKIoNaR0yMuQB9v9Udg==} - '@vue/compiler-dom@3.5.8': - resolution: {integrity: sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==} + '@vue/compiler-dom@3.5.11': + resolution: {integrity: sha512-pyGf8zdbDDRkBrEzf8p7BQlMKNNF5Fk/Cf/fQ6PiUz9at4OaUfyXW0dGJTo2Vl1f5U9jSLCNf0EZJEogLXoeew==} - '@vue/compiler-sfc@3.5.8': - resolution: {integrity: sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==} + '@vue/compiler-sfc@3.5.11': + resolution: {integrity: sha512-gsbBtT4N9ANXXepprle+X9YLg2htQk1sqH/qGJ/EApl+dgpUBdTv3yP7YlR535uHZY3n6XaR0/bKo0BgwwDniw==} - '@vue/compiler-ssr@3.5.8': - resolution: {integrity: sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==} + '@vue/compiler-ssr@3.5.11': + resolution: {integrity: sha512-P4+GPjOuC2aFTk1Z4WANvEhyOykcvEd5bIj2KVNGKGfM745LaXGr++5njpdBTzVz5pZifdlR1kpYSJJpIlSePA==} '@vue/consolidate@1.0.0': resolution: {integrity: sha512-oTyUE+QHIzLw2PpV14GD/c7EohDyP64xCniWTcqcEmTd699eFqTIwOmtDYjcO1j3QgdXoJEoWv1/cCdLrRoOfg==} engines: {node: '>= 0.12.0'} - '@vue/reactivity@3.5.8': - resolution: {integrity: sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==} + '@vue/reactivity@3.5.11': + resolution: {integrity: sha512-Nqo5VZEn8MJWlCce8XoyVqHZbd5P2NH+yuAaFzuNSR96I+y1cnuUiq7xfSG+kyvLSiWmaHTKP1r3OZY4mMD50w==} '@vue/repl@4.4.2': resolution: {integrity: sha512-MEAsBK/YzMFGINOBzqM40XTeIYAUsg7CqvXvD5zi0rhYEQrPfEUIdexmMjdm7kVKsKmcvIHxrFK2DFC35m9kHw==} - '@vue/runtime-core@3.5.8': - resolution: {integrity: sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==} + '@vue/runtime-core@3.5.11': + resolution: {integrity: sha512-7PsxFGqwfDhfhh0OcDWBG1DaIQIVOLgkwA5q6MtkPiDFjp5gohVnJEahSktwSFLq7R5PtxDKy6WKURVN1UDbzA==} - '@vue/runtime-dom@3.5.8': - resolution: {integrity: sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==} + '@vue/runtime-dom@3.5.11': + resolution: {integrity: sha512-GNghjecT6IrGf0UhuYmpgaOlN7kxzQBhxWEn08c/SQDxv1yy4IXI1bn81JgEpQ4IXjRxWtPyI8x0/7TF5rPfYQ==} - '@vue/server-renderer@3.5.8': - resolution: {integrity: sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==} + '@vue/server-renderer@3.5.11': + resolution: {integrity: sha512-cVOwYBxR7Wb1B1FoxYvtjJD8X/9E5nlH4VSkJy2uMA1MzYNdzAAB//l8nrmN9py/4aP+3NjWukf9PZ3TeWULaA==} peerDependencies: - vue: 3.5.8 + vue: 3.5.11 - '@vue/shared@3.5.8': - resolution: {integrity: sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==} + '@vue/shared@3.5.11': + resolution: {integrity: sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==} '@vueuse/core@11.1.0': resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==} @@ -1641,10 +1484,6 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} @@ -1710,10 +1549,6 @@ packages: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - boxen@7.0.0: resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} engines: {node: '>=14.16'} @@ -1737,10 +1572,6 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -1796,10 +1627,6 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - chokidar@4.0.1: resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} @@ -2146,8 +1973,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.23.1: - resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} engines: {node: '>=18'} hasBin: true @@ -2542,14 +2369,6 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - is-core-module@2.15.0: resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} engines: {node: '>= 0.4'} @@ -2916,10 +2735,6 @@ packages: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - npm-normalize-package-bin@3.0.1: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3245,10 +3060,6 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - readdirp@4.0.1: resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} engines: {node: '>= 14.16.0'} @@ -3317,18 +3128,8 @@ packages: peerDependencies: rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup@4.20.0: - resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.21.3: - resolution: {integrity: sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.22.4: - resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} + rollup@4.24.0: + resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3354,13 +3155,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.78.0: - resolution: {integrity: sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==} - engines: {node: '>=14.0.0'} - hasBin: true - - sass@1.79.3: - resolution: {integrity: sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==} + sass@1.79.4: + resolution: {integrity: sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==} engines: {node: '>=14.0.0'} hasBin: true @@ -3421,10 +3217,6 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -3684,9 +3476,6 @@ packages: unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - undici-types@6.19.6: - resolution: {integrity: sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==} - undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} @@ -3852,8 +3641,8 @@ packages: '@vue/composition-api': optional: true - vue@3.5.8: - resolution: {integrity: sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==} + vue@3.5.11: + resolution: {integrity: sha512-/8Wurrd9J3lb72FTQS7gRMNQD4nztTtKPmuDuPuhqXmmpD6+skVjAeahNpVzsuky6Sy9gy7wn8UadqPtt9SQIg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4024,142 +3813,142 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/aix-ppc64@0.23.1': + '@esbuild/aix-ppc64@0.24.0': optional: true '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm64@0.23.1': + '@esbuild/android-arm64@0.24.0': optional: true '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-arm@0.23.1': + '@esbuild/android-arm@0.24.0': optional: true '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/android-x64@0.23.1': + '@esbuild/android-x64@0.24.0': optional: true '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.23.1': + '@esbuild/darwin-arm64@0.24.0': optional: true '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/darwin-x64@0.23.1': + '@esbuild/darwin-x64@0.24.0': optional: true '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.23.1': + '@esbuild/freebsd-arm64@0.24.0': optional: true '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.23.1': + '@esbuild/freebsd-x64@0.24.0': optional: true '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm64@0.23.1': + '@esbuild/linux-arm64@0.24.0': optional: true '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-arm@0.23.1': + '@esbuild/linux-arm@0.24.0': optional: true '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-ia32@0.23.1': + '@esbuild/linux-ia32@0.24.0': optional: true '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-loong64@0.23.1': + '@esbuild/linux-loong64@0.24.0': optional: true '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-mips64el@0.23.1': + '@esbuild/linux-mips64el@0.24.0': optional: true '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-ppc64@0.23.1': + '@esbuild/linux-ppc64@0.24.0': optional: true '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.23.1': + '@esbuild/linux-riscv64@0.24.0': optional: true '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-s390x@0.23.1': + '@esbuild/linux-s390x@0.24.0': optional: true '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/linux-x64@0.23.1': + '@esbuild/linux-x64@0.24.0': optional: true '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.23.1': + '@esbuild/netbsd-x64@0.24.0': optional: true - '@esbuild/openbsd-arm64@0.23.1': + '@esbuild/openbsd-arm64@0.24.0': optional: true '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.23.1': + '@esbuild/openbsd-x64@0.24.0': optional: true '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.23.1': + '@esbuild/sunos-x64@0.24.0': optional: true '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-arm64@0.23.1': + '@esbuild/win32-arm64@0.24.0': optional: true '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-ia32@0.23.1': + '@esbuild/win32-ia32@0.24.0': optional: true '@esbuild/win32-x64@0.21.5': optional: true - '@esbuild/win32-x64@0.23.1': + '@esbuild/win32-x64@0.24.0': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0)': @@ -4270,260 +4059,153 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/plugin-alias@5.1.0(rollup@4.21.3)': - dependencies: - slash: 4.0.0 + '@rollup/plugin-alias@5.1.1(rollup@4.24.0)': optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.0 - '@rollup/plugin-commonjs@26.0.1(rollup@4.21.3)': + '@rollup/plugin-commonjs@26.0.3(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.5 is-reference: 1.2.1 magic-string: 0.30.11 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.0 - '@rollup/plugin-inject@5.0.5(rollup@4.21.3)': + '@rollup/plugin-inject@5.0.5(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) estree-walker: 2.0.2 magic-string: 0.30.11 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.0 - '@rollup/plugin-json@6.1.0(rollup@4.21.3)': + '@rollup/plugin-json@6.1.0(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.0 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.21.3)': + '@rollup/plugin-node-resolve@15.3.0(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 - is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.0 - '@rollup/plugin-replace@5.0.4(rollup@4.21.3)': + '@rollup/plugin-replace@5.0.4(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) magic-string: 0.30.11 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.0 - '@rollup/pluginutils@5.1.0(rollup@4.21.3)': + '@rollup/pluginutils@5.1.0(rollup@4.24.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.0 - '@rollup/pluginutils@5.1.0(rollup@4.22.4)': - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 4.22.4 - - '@rollup/rollup-android-arm-eabi@4.20.0': + '@rollup/rollup-android-arm-eabi@4.24.0': optional: true - '@rollup/rollup-android-arm-eabi@4.21.3': + '@rollup/rollup-android-arm64@4.24.0': optional: true - '@rollup/rollup-android-arm-eabi@4.22.4': + '@rollup/rollup-darwin-arm64@4.24.0': optional: true - '@rollup/rollup-android-arm64@4.20.0': + '@rollup/rollup-darwin-x64@4.24.0': optional: true - '@rollup/rollup-android-arm64@4.21.3': + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': optional: true - '@rollup/rollup-android-arm64@4.22.4': + '@rollup/rollup-linux-arm-musleabihf@4.24.0': optional: true - '@rollup/rollup-darwin-arm64@4.20.0': + '@rollup/rollup-linux-arm64-gnu@4.24.0': optional: true - '@rollup/rollup-darwin-arm64@4.21.3': + '@rollup/rollup-linux-arm64-musl@4.24.0': optional: true - '@rollup/rollup-darwin-arm64@4.22.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': optional: true - '@rollup/rollup-darwin-x64@4.20.0': + '@rollup/rollup-linux-riscv64-gnu@4.24.0': optional: true - '@rollup/rollup-darwin-x64@4.21.3': + '@rollup/rollup-linux-s390x-gnu@4.24.0': optional: true - '@rollup/rollup-darwin-x64@4.22.4': + '@rollup/rollup-linux-x64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': + '@rollup/rollup-linux-x64-musl@4.24.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.3': + '@rollup/rollup-win32-arm64-msvc@4.24.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': + '@rollup/rollup-win32-ia32-msvc@4.24.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.20.0': + '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.3': + '@swc/core-darwin-arm64@1.7.28': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.22.4': + '@swc/core-darwin-x64@1.7.28': optional: true - '@rollup/rollup-linux-arm64-gnu@4.20.0': + '@swc/core-linux-arm-gnueabihf@1.7.28': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.3': + '@swc/core-linux-arm64-gnu@1.7.28': optional: true - '@rollup/rollup-linux-arm64-gnu@4.22.4': + '@swc/core-linux-arm64-musl@1.7.28': optional: true - '@rollup/rollup-linux-arm64-musl@4.20.0': + '@swc/core-linux-x64-gnu@1.7.28': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.3': + '@swc/core-linux-x64-musl@1.7.28': optional: true - '@rollup/rollup-linux-arm64-musl@4.22.4': + '@swc/core-win32-arm64-msvc@1.7.28': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': + '@swc/core-win32-ia32-msvc@1.7.28': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': + '@swc/core-win32-x64-msvc@1.7.28': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.20.0': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.21.3': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.22.4': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.20.0': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.21.3': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.22.4': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.20.0': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.21.3': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.22.4': - optional: true - - '@rollup/rollup-linux-x64-musl@4.20.0': - optional: true - - '@rollup/rollup-linux-x64-musl@4.21.3': - optional: true - - '@rollup/rollup-linux-x64-musl@4.22.4': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.20.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.21.3': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.22.4': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.20.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.21.3': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.22.4': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.20.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.21.3': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.22.4': - optional: true - - '@swc/core-darwin-arm64@1.7.26': - optional: true - - '@swc/core-darwin-x64@1.7.26': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.7.26': - optional: true - - '@swc/core-linux-arm64-gnu@1.7.26': - optional: true - - '@swc/core-linux-arm64-musl@1.7.26': - optional: true - - '@swc/core-linux-x64-gnu@1.7.26': - optional: true - - '@swc/core-linux-x64-musl@1.7.26': - optional: true - - '@swc/core-win32-arm64-msvc@1.7.26': - optional: true - - '@swc/core-win32-ia32-msvc@1.7.26': - optional: true - - '@swc/core-win32-x64-msvc@1.7.26': - optional: true - - '@swc/core@1.7.26': + '@swc/core@1.7.28': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.26 - '@swc/core-darwin-x64': 1.7.26 - '@swc/core-linux-arm-gnueabihf': 1.7.26 - '@swc/core-linux-arm64-gnu': 1.7.26 - '@swc/core-linux-arm64-musl': 1.7.26 - '@swc/core-linux-x64-gnu': 1.7.26 - '@swc/core-linux-x64-musl': 1.7.26 - '@swc/core-win32-arm64-msvc': 1.7.26 - '@swc/core-win32-ia32-msvc': 1.7.26 - '@swc/core-win32-x64-msvc': 1.7.26 + '@swc/core-darwin-arm64': 1.7.28 + '@swc/core-darwin-x64': 1.7.28 + '@swc/core-linux-arm-gnueabihf': 1.7.28 + '@swc/core-linux-arm64-gnu': 1.7.28 + '@swc/core-linux-arm64-musl': 1.7.28 + '@swc/core-linux-x64-gnu': 1.7.28 + '@swc/core-linux-x64-musl': 1.7.28 + '@swc/core-win32-arm64-msvc': 1.7.28 + '@swc/core-win32-ia32-msvc': 1.7.28 + '@swc/core-win32-x64-msvc': 1.7.28 '@swc/counter@0.1.3': {} @@ -4535,15 +4217,17 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.10 '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/hash-sum@1.0.2': {} - '@types/node@20.16.5': + '@types/node@20.16.10': dependencies: - undici-types: 6.19.6 + undici-types: 6.19.8 '@types/node@22.5.5': dependencies: @@ -4558,7 +4242,7 @@ snapshots: '@types/serve-handler@6.1.4': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.10 '@types/trusted-types@2.0.7': {} @@ -4566,7 +4250,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.10 optional: true '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2)': @@ -4688,22 +4372,22 @@ snapshots: '@typescript-eslint/types': 8.5.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.1.2(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0))(vue@packages+vue)': + '@vitejs/plugin-vue@5.1.2(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0))(vue@packages+vue)': dependencies: - vite: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) vue: link:packages/vue - '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.3.3(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))': + '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.3.3(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0))(vue@3.5.11(typescript@5.6.2))': dependencies: - vite: 5.3.3(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) - vue: 3.5.8(typescript@5.6.2) + vite: 5.3.3(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) + vue: 3.5.11(typescript@5.6.2) - '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0))(vue@packages+vue)': + '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0))(vue@packages+vue)': dependencies: - vite: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) vue: link:packages/vue - '@vitest/coverage-v8@2.1.1(vitest@2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0))': + '@vitest/coverage-v8@2.1.1(vitest@2.1.1)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -4717,7 +4401,7 @@ snapshots: std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0) + vitest: 2.1.1(@types/node@20.16.10)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.4)(terser@5.33.0) transitivePeerDependencies: - supports-color @@ -4728,13 +4412,13 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.0(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0))': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.0(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0))': dependencies: '@vitest/spy': 2.1.1 estree-walker: 3.0.3 magic-string: 0.30.11 optionalDependencies: - vite: 5.4.0(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0) '@vitest/pretty-format@2.1.1': dependencies: @@ -4764,7 +4448,7 @@ snapshots: sirv: 2.0.4 tinyglobby: 0.2.6 tinyrainbow: 1.2.0 - vitest: 2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0) + vitest: 2.1.1(@types/node@20.16.10)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.4)(terser@5.33.0) '@vitest/utils@2.1.1': dependencies: @@ -4772,63 +4456,63 @@ snapshots: loupe: 3.1.1 tinyrainbow: 1.2.0 - '@vue/compiler-core@3.5.8': + '@vue/compiler-core@3.5.11': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.11 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.8': + '@vue/compiler-dom@3.5.11': dependencies: - '@vue/compiler-core': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-core': 3.5.11 + '@vue/shared': 3.5.11 - '@vue/compiler-sfc@3.5.8': + '@vue/compiler-sfc@3.5.11': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.8 - '@vue/compiler-dom': 3.5.8 - '@vue/compiler-ssr': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-core': 3.5.11 + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-ssr': 3.5.11 + '@vue/shared': 3.5.11 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.8': + '@vue/compiler-ssr@3.5.11': dependencies: - '@vue/compiler-dom': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-dom': 3.5.11 + '@vue/shared': 3.5.11 '@vue/consolidate@1.0.0': {} - '@vue/reactivity@3.5.8': + '@vue/reactivity@3.5.11': dependencies: - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.11 '@vue/repl@4.4.2': {} - '@vue/runtime-core@3.5.8': + '@vue/runtime-core@3.5.11': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/reactivity': 3.5.11 + '@vue/shared': 3.5.11 - '@vue/runtime-dom@3.5.8': + '@vue/runtime-dom@3.5.11': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/runtime-core': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/reactivity': 3.5.11 + '@vue/runtime-core': 3.5.11 + '@vue/shared': 3.5.11 csstype: 3.1.3 - '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.6.2))': + '@vue/server-renderer@3.5.11(vue@3.5.11(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.5.8 - '@vue/shared': 3.5.8 - vue: 3.5.8(typescript@5.6.2) + '@vue/compiler-ssr': 3.5.11 + '@vue/shared': 3.5.11 + vue: 3.5.11(typescript@5.6.2) - '@vue/shared@3.5.8': {} + '@vue/shared@3.5.11': {} '@vueuse/core@11.1.0(vue@packages+vue)': dependencies: @@ -4910,11 +4594,6 @@ snapshots: ansi-styles@6.2.1: {} - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - arch@2.2.0: {} arg@5.0.2: {} @@ -4972,8 +4651,6 @@ snapshots: basic-ftp@5.0.5: {} - binary-extensions@2.3.0: {} - boxen@7.0.0: dependencies: ansi-align: 3.0.1 @@ -5007,8 +4684,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - builtin-modules@3.3.0: {} - bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -5062,22 +4737,9 @@ snapshots: check-error@2.1.1: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chokidar@4.0.1: dependencies: readdirp: 4.0.1 - optional: true chromium-bidi@0.6.5(devtools-protocol@0.0.1330662): dependencies: @@ -5390,10 +5052,10 @@ snapshots: es-module-lexer@1.5.4: {} - esbuild-plugin-polyfill-node@0.3.0(esbuild@0.23.1): + esbuild-plugin-polyfill-node@0.3.0(esbuild@0.24.0): dependencies: '@jspm/core': 2.0.1 - esbuild: 0.23.1 + esbuild: 0.24.0 import-meta-resolve: 3.1.1 esbuild@0.21.5: @@ -5422,32 +5084,32 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - esbuild@0.23.1: + esbuild@0.24.0: optionalDependencies: - '@esbuild/aix-ppc64': 0.23.1 - '@esbuild/android-arm': 0.23.1 - '@esbuild/android-arm64': 0.23.1 - '@esbuild/android-x64': 0.23.1 - '@esbuild/darwin-arm64': 0.23.1 - '@esbuild/darwin-x64': 0.23.1 - '@esbuild/freebsd-arm64': 0.23.1 - '@esbuild/freebsd-x64': 0.23.1 - '@esbuild/linux-arm': 0.23.1 - '@esbuild/linux-arm64': 0.23.1 - '@esbuild/linux-ia32': 0.23.1 - '@esbuild/linux-loong64': 0.23.1 - '@esbuild/linux-mips64el': 0.23.1 - '@esbuild/linux-ppc64': 0.23.1 - '@esbuild/linux-riscv64': 0.23.1 - '@esbuild/linux-s390x': 0.23.1 - '@esbuild/linux-x64': 0.23.1 - '@esbuild/netbsd-x64': 0.23.1 - '@esbuild/openbsd-arm64': 0.23.1 - '@esbuild/openbsd-x64': 0.23.1 - '@esbuild/sunos-x64': 0.23.1 - '@esbuild/win32-arm64': 0.23.1 - '@esbuild/win32-ia32': 0.23.1 - '@esbuild/win32-x64': 0.23.1 + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 escalade@3.1.2: {} @@ -5490,12 +5152,12 @@ snapshots: - supports-color - typescript - eslint-plugin-vitest@0.5.4(eslint@9.10.0)(typescript@5.6.2)(vitest@2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0)): + eslint-plugin-vitest@0.5.4(eslint@9.10.0)(typescript@5.6.2)(vitest@2.1.1): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@9.10.0)(typescript@5.6.2) eslint: 9.10.0 optionalDependencies: - vitest: 2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0) + vitest: 2.1.1(@types/node@20.16.10)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.4)(terser@5.33.0) transitivePeerDependencies: - supports-color - typescript @@ -5899,14 +5561,6 @@ snapshots: is-arrayish@0.2.1: {} - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-builtin-module@3.2.1: - dependencies: - builtin-modules: 3.3.0 - is-core-module@2.15.0: dependencies: hasown: 2.0.2 @@ -6250,8 +5904,6 @@ snapshots: semver: 7.6.3 validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} - npm-normalize-package-bin@3.0.1: {} npm-run-all2@6.2.3: @@ -6639,12 +6291,7 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - readdirp@4.0.1: - optional: true + readdirp@4.0.1: {} registry-auth-token@3.3.2: dependencies: @@ -6685,94 +6332,50 @@ snapshots: glob: 11.0.0 package-json-from-dist: 1.0.0 - rollup-plugin-dts@6.1.1(rollup@4.21.3)(typescript@5.6.2): + rollup-plugin-dts@6.1.1(rollup@4.24.0)(typescript@5.6.2): dependencies: magic-string: 0.30.11 - rollup: 4.21.3 + rollup: 4.24.0 typescript: 5.6.2 optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-esbuild@6.1.1(esbuild@0.23.1)(rollup@4.21.3): + rollup-plugin-esbuild@6.1.1(esbuild@0.24.0)(rollup@4.24.0): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) debug: 4.3.6 es-module-lexer: 1.5.4 - esbuild: 0.23.1 + esbuild: 0.24.0 get-tsconfig: 4.7.6 - rollup: 4.21.3 + rollup: 4.24.0 transitivePeerDependencies: - supports-color - rollup-plugin-polyfill-node@0.13.0(rollup@4.21.3): + rollup-plugin-polyfill-node@0.13.0(rollup@4.24.0): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.21.3) - rollup: 4.21.3 + '@rollup/plugin-inject': 5.0.5(rollup@4.24.0) + rollup: 4.24.0 - rollup@4.20.0: + rollup@4.24.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.20.0 - '@rollup/rollup-android-arm64': 4.20.0 - '@rollup/rollup-darwin-arm64': 4.20.0 - '@rollup/rollup-darwin-x64': 4.20.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 - '@rollup/rollup-linux-arm-musleabihf': 4.20.0 - '@rollup/rollup-linux-arm64-gnu': 4.20.0 - '@rollup/rollup-linux-arm64-musl': 4.20.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 - '@rollup/rollup-linux-riscv64-gnu': 4.20.0 - '@rollup/rollup-linux-s390x-gnu': 4.20.0 - '@rollup/rollup-linux-x64-gnu': 4.20.0 - '@rollup/rollup-linux-x64-musl': 4.20.0 - '@rollup/rollup-win32-arm64-msvc': 4.20.0 - '@rollup/rollup-win32-ia32-msvc': 4.20.0 - '@rollup/rollup-win32-x64-msvc': 4.20.0 - fsevents: 2.3.3 - - rollup@4.21.3: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.3 - '@rollup/rollup-android-arm64': 4.21.3 - '@rollup/rollup-darwin-arm64': 4.21.3 - '@rollup/rollup-darwin-x64': 4.21.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.3 - '@rollup/rollup-linux-arm-musleabihf': 4.21.3 - '@rollup/rollup-linux-arm64-gnu': 4.21.3 - '@rollup/rollup-linux-arm64-musl': 4.21.3 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.3 - '@rollup/rollup-linux-riscv64-gnu': 4.21.3 - '@rollup/rollup-linux-s390x-gnu': 4.21.3 - '@rollup/rollup-linux-x64-gnu': 4.21.3 - '@rollup/rollup-linux-x64-musl': 4.21.3 - '@rollup/rollup-win32-arm64-msvc': 4.21.3 - '@rollup/rollup-win32-ia32-msvc': 4.21.3 - '@rollup/rollup-win32-x64-msvc': 4.21.3 - fsevents: 2.3.3 - - rollup@4.22.4: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.22.4 - '@rollup/rollup-android-arm64': 4.22.4 - '@rollup/rollup-darwin-arm64': 4.22.4 - '@rollup/rollup-darwin-x64': 4.22.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 - '@rollup/rollup-linux-arm-musleabihf': 4.22.4 - '@rollup/rollup-linux-arm64-gnu': 4.22.4 - '@rollup/rollup-linux-arm64-musl': 4.22.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 - '@rollup/rollup-linux-riscv64-gnu': 4.22.4 - '@rollup/rollup-linux-s390x-gnu': 4.22.4 - '@rollup/rollup-linux-x64-gnu': 4.22.4 - '@rollup/rollup-linux-x64-musl': 4.22.4 - '@rollup/rollup-win32-arm64-msvc': 4.22.4 - '@rollup/rollup-win32-ia32-msvc': 4.22.4 - '@rollup/rollup-win32-x64-msvc': 4.22.4 + '@rollup/rollup-android-arm-eabi': 4.24.0 + '@rollup/rollup-android-arm64': 4.24.0 + '@rollup/rollup-darwin-arm64': 4.24.0 + '@rollup/rollup-darwin-x64': 4.24.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 + '@rollup/rollup-linux-arm-musleabihf': 4.24.0 + '@rollup/rollup-linux-arm64-gnu': 4.24.0 + '@rollup/rollup-linux-arm64-musl': 4.24.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 + '@rollup/rollup-linux-riscv64-gnu': 4.24.0 + '@rollup/rollup-linux-s390x-gnu': 4.24.0 + '@rollup/rollup-linux-x64-gnu': 4.24.0 + '@rollup/rollup-linux-x64-musl': 4.24.0 + '@rollup/rollup-win32-arm64-msvc': 4.24.0 + '@rollup/rollup-win32-ia32-msvc': 4.24.0 + '@rollup/rollup-win32-x64-msvc': 4.24.0 fsevents: 2.3.3 rrweb-cssom@0.6.0: {} @@ -6791,18 +6394,11 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.78.0: - dependencies: - chokidar: 3.6.0 - immutable: 4.3.7 - source-map-js: 1.2.1 - - sass@1.79.3: + sass@1.79.4: dependencies: chokidar: 4.0.1 immutable: 4.3.7 source-map-js: 1.2.1 - optional: true saxes@6.0.0: dependencies: @@ -6872,8 +6468,6 @@ snapshots: slash@3.0.0: {} - slash@4.0.0: {} - slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 @@ -7114,10 +6708,7 @@ snapshots: buffer: 5.7.1 through: 2.3.8 - undici-types@6.19.6: {} - - undici-types@6.19.8: - optional: true + undici-types@6.19.8: {} unicorn-magic@0.1.0: {} @@ -7154,12 +6745,12 @@ snapshots: vary@1.1.2: {} - vite-hyper-config@0.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0)): + vite-hyper-config@0.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0)): dependencies: cac: 6.7.14 picocolors: 1.1.0 - vite: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) - vite-node: 2.1.1(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) + vite-node: 2.1.1(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) transitivePeerDependencies: - '@types/node' - less @@ -7171,12 +6762,12 @@ snapshots: - supports-color - terser - vite-node@2.1.1(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0): + vite-node@2.1.1(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 - vite: 5.4.0(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0) transitivePeerDependencies: - '@types/node' - less @@ -7188,12 +6779,12 @@ snapshots: - supports-color - terser - vite-node@2.1.1(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0): + vite-node@2.1.1(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 - vite: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) transitivePeerDependencies: - '@types/node' - less @@ -7205,10 +6796,10 @@ snapshots: - supports-color - terser - vite-plugin-inspect@0.8.7(rollup@4.22.4)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0)): + vite-plugin-inspect@0.8.7(rollup@4.24.0)(vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.0(rollup@4.22.4) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) debug: 4.3.7 error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 @@ -7216,48 +6807,48 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.0 sirv: 2.0.4 - vite: 5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0) transitivePeerDependencies: - rollup - supports-color - vite@5.3.3(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0): + vite@5.3.3(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0): dependencies: esbuild: 0.21.5 postcss: 8.4.41 - rollup: 4.20.0 + rollup: 4.24.0 optionalDependencies: '@types/node': 22.5.5 fsevents: 2.3.3 - sass: 1.79.3 + sass: 1.79.4 terser: 5.33.0 - vite@5.4.0(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0): + vite@5.4.0(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.22.4 + rollup: 4.24.0 optionalDependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.10 fsevents: 2.3.3 - sass: 1.79.3 + sass: 1.79.4 terser: 5.33.0 - vite@5.4.0(@types/node@22.5.5)(sass@1.79.3)(terser@5.33.0): + vite@5.4.0(@types/node@22.5.5)(sass@1.79.4)(terser@5.33.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.22.4 + rollup: 4.24.0 optionalDependencies: '@types/node': 22.5.5 fsevents: 2.3.3 - sass: 1.79.3 + sass: 1.79.4 terser: 5.33.0 - vitest@2.1.1(@types/node@20.16.5)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.3)(terser@5.33.0): + vitest@2.1.1(@types/node@20.16.10)(@vitest/ui@2.1.1)(jsdom@25.0.0)(sass@1.79.4)(terser@5.33.0): dependencies: '@vitest/expect': 2.1.1 - '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.0(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0)) + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.0(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0)) '@vitest/pretty-format': 2.1.1 '@vitest/runner': 2.1.1 '@vitest/snapshot': 2.1.1 @@ -7272,11 +6863,11 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.4.0(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0) - vite-node: 2.1.1(@types/node@20.16.5)(sass@1.79.3)(terser@5.33.0) + vite: 5.4.0(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0) + vite-node: 2.1.1(@types/node@20.16.10)(sass@1.79.4)(terser@5.33.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.10 '@vitest/ui': 2.1.1(vitest@2.1.1) jsdom: 25.0.0 transitivePeerDependencies: @@ -7296,13 +6887,13 @@ snapshots: dependencies: vue: link:packages/vue - vue@3.5.8(typescript@5.6.2): + vue@3.5.11(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.5.8 - '@vue/compiler-sfc': 3.5.8 - '@vue/runtime-dom': 3.5.8 - '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.6.2)) - '@vue/shared': 3.5.8 + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-sfc': 3.5.11 + '@vue/runtime-dom': 3.5.11 + '@vue/server-renderer': 3.5.11(vue@3.5.11(typescript@5.6.2)) + '@vue/shared': 3.5.11 optionalDependencies: typescript: 5.6.2 diff --git a/scripts/release.js b/scripts/release.js index ce72ba4bb..9872a1f3f 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -306,12 +306,6 @@ async function main() { if (args.publish) { await buildPackages() await publishPackages(targetVersion) - } else { - console.log( - pico.yellow( - '\nPublish step skipped (will be done in GitHub actions on successful push)', - ), - ) } // push to GitHub @@ -322,6 +316,15 @@ async function main() { await runIfNotDry('git', ['push']) } + if (!args.publish) { + console.log( + pico.yellow( + '\nRelease will be done via GitHub Actions.\n' + + 'Check status at https://github.com/vuejs/core/actions/workflows/release.yml', + ), + ) + } + if (isDryRun) { console.log(`\nDry run finished - run git diff to see package changes.`) }