added version

This commit is contained in:
2026-02-22 12:27:05 +03:30
parent f5928601fa
commit 2edf23a065
603 changed files with 5281 additions and 4037 deletions
@@ -1 +0,0 @@
../../../shared@3.5.27
@@ -1,5 +1,5 @@
/**
* @vue/compiler-core v3.5.27
* @vue/compiler-core v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -0,0 +1 @@
../../../shared@3.5.28
@@ -1,6 +1,6 @@
{
"name": "@vue/compiler-core",
"version": "3.5.27",
"version": "3.5.28",
"description": "@vue/compiler-core",
"main": "index.js",
"module": "dist/compiler-core.esm-bundler.js",
@@ -46,13 +46,13 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme",
"dependencies": {
"@babel/parser": "^7.28.5",
"entities": "^7.0.0",
"@babel/parser": "^7.29.0",
"entities": "^7.0.1",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.1",
"@vue/shared": "3.5.27"
"@vue/shared": "3.5.28"
},
"devDependencies": {
"@babel/types": "^7.28.5"
"@babel/types": "^7.29.0"
}
}
@@ -1 +0,0 @@
../../../compiler-core@3.5.27
@@ -1 +0,0 @@
../../../shared@3.5.27
@@ -1,5 +1,5 @@
/**
* @vue/compiler-dom v3.5.27
* @vue/compiler-dom v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -0,0 +1 @@
../../../compiler-core@3.5.28
@@ -0,0 +1 @@
../../../shared@3.5.28
@@ -1,6 +1,6 @@
{
"name": "@vue/compiler-dom",
"version": "3.5.27",
"version": "3.5.28",
"description": "@vue/compiler-dom",
"main": "index.js",
"module": "dist/compiler-dom.esm-bundler.js",
@@ -51,7 +51,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme",
"dependencies": {
"@vue/shared": "3.5.27",
"@vue/compiler-core": "3.5.27"
"@vue/compiler-core": "3.5.28",
"@vue/shared": "3.5.28"
}
}
@@ -1 +0,0 @@
../../../compiler-dom@3.5.27
@@ -1 +0,0 @@
../../../shared@3.5.27
@@ -1,5 +1,5 @@
/**
* @vue/compiler-ssr v3.5.27
* @vue/compiler-ssr v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -0,0 +1 @@
../../../compiler-dom@3.5.28
@@ -0,0 +1 @@
../../../shared@3.5.28
@@ -1,6 +1,6 @@
{
"name": "@vue/compiler-ssr",
"version": "3.5.27",
"version": "3.5.28",
"description": "@vue/compiler-ssr",
"main": "dist/compiler-ssr.cjs.js",
"types": "dist/compiler-ssr.d.ts",
@@ -28,7 +28,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme",
"dependencies": {
"@vue/shared": "3.5.27",
"@vue/compiler-dom": "3.5.27"
"@vue/shared": "3.5.28",
"@vue/compiler-dom": "3.5.28"
}
}
@@ -1 +0,0 @@
../../../shared@3.5.27
@@ -1,5 +1,5 @@
/**
* @vue/reactivity v3.5.27
* @vue/reactivity v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -11,6 +11,7 @@ var shared = require('@vue/shared');
let activeEffectScope;
class EffectScope {
// TODO isolatedDeclarations "__v_skip"
constructor(detached = false) {
this.detached = detached;
/**
@@ -30,6 +31,7 @@ class EffectScope {
*/
this.cleanups = [];
this._isPaused = false;
this.__v_skip = true;
this.parent = activeEffectScope;
if (!detached && activeEffectScope) {
this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
@@ -0,0 +1 @@
../../../shared@3.5.28
@@ -1,6 +1,6 @@
{
"name": "@vue/reactivity",
"version": "3.5.27",
"version": "3.5.28",
"description": "@vue/reactivity",
"main": "index.js",
"module": "dist/reactivity.esm-bundler.js",
@@ -50,6 +50,6 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme",
"dependencies": {
"@vue/shared": "3.5.27"
"@vue/shared": "3.5.28"
}
}
@@ -1 +0,0 @@
../../../reactivity@3.5.27
@@ -1 +0,0 @@
../../../shared@3.5.27
@@ -1,5 +1,5 @@
/**
* @vue/runtime-core v3.5.27
* @vue/runtime-core v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -750,7 +750,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
o: { nextSibling, parentNode, querySelector, insert, createText }
}, hydrateChildren) {
function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
function hydrateAnchor(target2, targetNode) {
let targetAnchor = targetNode;
while (targetAnchor) {
if (targetAnchor && targetAnchor.nodeType === 8) {
if (targetAnchor.data === "teleport start anchor") {
vnode.targetStart = targetAnchor;
} else if (targetAnchor.data === "teleport anchor") {
vnode.targetAnchor = targetAnchor;
target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
break;
}
}
targetAnchor = nextSibling(targetAnchor);
}
}
function hydrateDisabledTeleport(node2, vnode2) {
vnode2.anchor = hydrateChildren(
nextSibling(node2),
vnode2,
@@ -760,8 +775,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
slotScopeIds,
optimized
);
vnode2.targetStart = targetStart;
vnode2.targetAnchor = targetAnchor;
}
const target = vnode.target = resolveTarget(
vnode.props,
@@ -772,27 +785,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
const targetNode = target._lpa || target.firstChild;
if (vnode.shapeFlag & 16) {
if (disabled) {
hydrateDisabledTeleport(
node,
vnode,
targetNode,
targetNode && nextSibling(targetNode)
);
hydrateDisabledTeleport(node, vnode);
hydrateAnchor(target, targetNode);
if (!vnode.targetAnchor) {
prepareAnchor(
target,
vnode,
createText,
insert,
// if target is the same as the main view, insert anchors before current node
// to avoid hydrating mismatch
parentNode(node) === target ? node : null
);
}
} else {
vnode.anchor = nextSibling(node);
let targetAnchor = targetNode;
while (targetAnchor) {
if (targetAnchor && targetAnchor.nodeType === 8) {
if (targetAnchor.data === "teleport start anchor") {
vnode.targetStart = targetAnchor;
} else if (targetAnchor.data === "teleport anchor") {
vnode.targetAnchor = targetAnchor;
target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
break;
}
}
targetAnchor = nextSibling(targetAnchor);
}
hydrateAnchor(target, targetNode);
if (!vnode.targetAnchor) {
prepareAnchor(target, vnode, createText, insert);
}
@@ -810,7 +818,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
updateCssVars(vnode, disabled);
} else if (disabled) {
if (vnode.shapeFlag & 16) {
hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
hydrateDisabledTeleport(node, vnode);
vnode.targetStart = node;
vnode.targetAnchor = nextSibling(node);
}
}
return vnode.anchor && nextSibling(vnode.anchor);
@@ -834,13 +844,13 @@ function updateCssVars(vnode, isDisabled) {
ctx.ut();
}
}
function prepareAnchor(target, vnode, createText, insert) {
function prepareAnchor(target, vnode, createText, insert, anchor = null) {
const targetStart = vnode.targetStart = createText("");
const targetAnchor = vnode.targetAnchor = createText("");
targetStart[TeleportEndKey] = targetAnchor;
if (target) {
insert(targetStart, target);
insert(targetAnchor, target);
insert(targetStart, target, anchor);
insert(targetAnchor, target, anchor);
}
return targetAnchor;
}
@@ -1065,7 +1075,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
}
}
let called = false;
const done = el[enterCbKey] = (cancelled) => {
el[enterCbKey] = (cancelled) => {
if (called) return;
called = true;
if (cancelled) {
@@ -1078,6 +1088,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
}
el[enterCbKey] = void 0;
};
const done = el[enterCbKey].bind(null, false);
if (hook) {
callAsyncHook(hook, [el, done]);
} else {
@@ -1097,7 +1108,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
}
callHook(onBeforeLeave, [el]);
let called = false;
const done = el[leaveCbKey] = (cancelled) => {
el[leaveCbKey] = (cancelled) => {
if (called) return;
called = true;
remove();
@@ -1111,6 +1122,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
delete leavingVNodesCache[key2];
}
};
const done = el[leaveCbKey].bind(null, false);
leavingVNodesCache[key2] = vnode;
if (onLeave) {
callAsyncHook(onLeave, [el, done]);
@@ -1229,6 +1241,10 @@ function useTemplateRef(key) {
const ret = r;
return ret;
}
function isTemplateRefKey(refs, key) {
let desc;
return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
}
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
@@ -1258,8 +1274,17 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
const setupState = owner.setupState;
const rawSetupState = reactivity.toRaw(setupState);
const canSetSetupRef = setupState === shared.EMPTY_OBJ ? shared.NO : (key) => {
if (isTemplateRefKey(refs, key)) {
return false;
}
return shared.hasOwn(rawSetupState, key);
};
const canSetRef = (ref2, key) => {
if (key && isTemplateRefKey(refs, key)) {
return false;
}
return true;
};
if (oldRef != null && oldRef !== ref) {
invalidatePendingSetRef(oldRawRef);
if (shared.isString(oldRef)) {
@@ -1268,10 +1293,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
setupState[oldRef] = null;
}
} else if (reactivity.isRef(oldRef)) {
{
const oldRawRefAtom = oldRawRef;
if (canSetRef(oldRef, oldRawRefAtom.k)) {
oldRef.value = null;
}
const oldRawRefAtom = oldRawRef;
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
}
}
@@ -1283,7 +1308,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
if (_isString || _isRef) {
const doSet = () => {
if (rawRef.f) {
const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value ;
const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef() || !rawRef.k ? ref.value : refs[rawRef.k];
if (isUnmount) {
shared.isArray(existing) && shared.remove(existing, refValue);
} else {
@@ -1295,7 +1320,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
}
} else {
const newVal = [refValue];
{
if (canSetRef(ref, rawRef.k)) {
ref.value = newVal;
}
if (rawRef.k) refs[rawRef.k] = newVal;
@@ -1310,7 +1335,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
setupState[ref] = value;
}
} else if (_isRef) {
{
if (canSetRef(ref, rawRef.k)) {
ref.value = value;
}
if (rawRef.k) refs[rawRef.k] = value;
@@ -3527,7 +3552,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
const dynamicProps = nextVNode.dynamicProps;
for (let i = 0; i < dynamicProps.length; i++) {
const key = dynamicProps[i];
if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
return true;
}
}
@@ -3558,12 +3583,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
}
for (let i = 0; i < nextKeys.length; i++) {
const key = nextKeys[i];
if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
return true;
}
}
return false;
}
function hasPropValueChanged(nextProps, prevProps, key) {
const nextProp = nextProps[key];
const prevProp = prevProps[key];
if (key === "style" && shared.isObject(nextProp) && shared.isObject(prevProp)) {
return !shared.looseEqual(nextProp, prevProp);
}
return nextProp !== prevProp;
}
function updateHOCHostEl({ vnode, parent }, el) {
while (parent) {
const root = parent.subTree;
@@ -4070,9 +4103,7 @@ function baseCreateRenderer(options, createHydrationFns) {
} else {
const el = n2.el = n1.el;
if (n2.children !== n1.children) {
{
hostSetText(el, n2.children);
}
hostSetText(el, n2.children);
}
}
};
@@ -4133,7 +4164,7 @@ function baseCreateRenderer(options, createHydrationFns) {
optimized
);
} else {
const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
try {
if (customElement) {
customElement._beginPatch();
@@ -4564,8 +4595,7 @@ function baseCreateRenderer(options, createHydrationFns) {
hydrateSubTree();
}
} else {
if (root.ce && // @ts-expect-error _def is private
root.ce._def.shadowRoot !== false) {
if (root.ce && root.ce._hasShadowRoot()) {
root.ce._injectChildStyle(type);
}
const subTree = instance.subTree = renderComponentRoot(instance);
@@ -4605,9 +4635,9 @@ function baseCreateRenderer(options, createHydrationFns) {
updateComponentPreRender(instance, next, optimized);
}
nonHydratedAsyncRoot.asyncDep.then(() => {
if (!instance.isUnmounted) {
componentUpdateFn();
}
queuePostRenderEffect(() => {
if (!instance.isUnmounted) update();
}, parentSuspense);
});
return;
}
@@ -5258,12 +5288,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
traverseStaticChildren(c1, c2);
}
if (c2.type === Text) {
if (c2.patchFlag !== -1) {
c2.el = c1.el;
} else {
c2.__elIndex = i + // take fragment start anchor into account
(n1.type === Fragment ? 1 : 0);
if (c2.patchFlag === -1) {
c2 = ch2[i] = cloneIfMounted(c2);
}
c2.el = c1.el;
}
if (c2.type === Comment && !c2.el) {
c2.el = c1.el;
@@ -6600,7 +6628,7 @@ function isMemoSame(cached, memo) {
return true;
}
const version = "3.5.27";
const version = "3.5.28";
const warn$1 = shared.NOOP;
const ErrorTypeStrings = ErrorTypeStrings$1 ;
const devtools = void 0;
@@ -0,0 +1 @@
../../../reactivity@3.5.28
@@ -0,0 +1 @@
../../../shared@3.5.28
@@ -1,6 +1,6 @@
{
"name": "@vue/runtime-core",
"version": "3.5.27",
"version": "3.5.28",
"description": "@vue/runtime-core",
"main": "index.js",
"module": "dist/runtime-core.esm-bundler.js",
@@ -46,7 +46,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
"dependencies": {
"@vue/shared": "3.5.27",
"@vue/reactivity": "3.5.27"
"@vue/shared": "3.5.28",
"@vue/reactivity": "3.5.28"
}
}
@@ -1 +0,0 @@
../../../runtime-core@3.5.27
@@ -1 +0,0 @@
../../../shared@3.5.27
@@ -1,5 +1,5 @@
/**
* @vue/runtime-dom v3.5.27
* @vue/runtime-dom v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -1127,6 +1127,12 @@ class VueElement extends BaseClass {
this._update();
}
}
/**
* @internal
*/
_hasShadowRoot() {
return this._def.shadowRoot !== false;
}
/**
* @internal
*/
@@ -1238,10 +1244,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
instance
)
);
positionMap.set(child, {
left: child.el.offsetLeft,
top: child.el.offsetTop
});
positionMap.set(child, getPosition(child.el));
}
}
}
@@ -1270,10 +1273,7 @@ function callPendingCbs(c) {
}
}
function recordPosition(c) {
newPositionMap.set(c, {
left: c.el.offsetLeft,
top: c.el.offsetTop
});
newPositionMap.set(c, getPosition(c.el));
}
function applyTranslation(c) {
const oldPos = positionMap.get(c);
@@ -1281,12 +1281,29 @@ function applyTranslation(c) {
const dx = oldPos.left - newPos.left;
const dy = oldPos.top - newPos.top;
if (dx || dy) {
const s = c.el.style;
s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
const el = c.el;
const s = el.style;
const rect = el.getBoundingClientRect();
let scaleX = 1;
let scaleY = 1;
if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;
if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;
s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
s.transitionDuration = "0s";
return c;
}
}
function getPosition(el) {
const rect = el.getBoundingClientRect();
return {
left: rect.left,
top: rect.top
};
}
function hasCSSTransform(el, root, moveClass) {
const clone = el.cloneNode();
const _vtc = el[vtcKey];
@@ -1594,6 +1611,7 @@ const modifierGuards = {
exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
};
const withModifiers = (fn, modifiers) => {
if (!fn) return fn;
const cache = fn._withMods || (fn._withMods = {});
const cacheKey = modifiers.join(".");
return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
@@ -0,0 +1 @@
../../../runtime-core@3.5.28
@@ -0,0 +1 @@
../../../shared@3.5.28
@@ -1,6 +1,6 @@
{
"name": "@vue/runtime-dom",
"version": "3.5.27",
"version": "3.5.28",
"description": "@vue/runtime-dom",
"main": "index.js",
"module": "dist/runtime-dom.esm-bundler.js",
@@ -50,9 +50,9 @@
"homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-dom#readme",
"dependencies": {
"csstype": "^3.2.3",
"@vue/shared": "3.5.27",
"@vue/runtime-core": "3.5.27",
"@vue/reactivity": "3.5.27"
"@vue/runtime-core": "3.5.28",
"@vue/reactivity": "3.5.28",
"@vue/shared": "3.5.28"
},
"devDependencies": {
"@types/trusted-types": "^2.0.7"
@@ -1 +0,0 @@
../../../compiler-ssr@3.5.27
@@ -1 +0,0 @@
../../../shared@3.5.27
@@ -1 +0,0 @@
../../../vue@3.5.27
@@ -1,5 +1,5 @@
/**
* @vue/server-renderer v3.5.27
* @vue/server-renderer v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -0,0 +1 @@
../../../compiler-ssr@3.5.28
@@ -0,0 +1 @@
../../../shared@3.5.28
+1
View File
@@ -0,0 +1 @@
../../../vue@3.5.28
@@ -1,6 +1,6 @@
{
"name": "@vue/server-renderer",
"version": "3.5.27",
"version": "3.5.28",
"description": "@vue/server-renderer",
"main": "index.js",
"module": "dist/server-renderer.esm-bundler.js",
@@ -46,10 +46,10 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/server-renderer#readme",
"peerDependencies": {
"vue": "3.5.27"
"vue": "3.5.28"
},
"dependencies": {
"@vue/shared": "3.5.27",
"@vue/compiler-ssr": "3.5.27"
"@vue/shared": "3.5.28",
"@vue/compiler-ssr": "3.5.28"
}
}
@@ -1,5 +1,5 @@
/**
* @vue/shared v3.5.27
* @vue/shared v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -1,6 +1,6 @@
{
"name": "@vue/shared",
"version": "3.5.27",
"version": "3.5.28",
"description": "internal utils shared across @vue packages",
"main": "index.js",
"module": "dist/shared.esm-bundler.js",
@@ -1 +0,0 @@
../../../@vue/compiler-dom@3.5.27
@@ -1 +0,0 @@
../../../@vue/runtime-dom@3.5.27
@@ -1 +0,0 @@
../../../@vue/server-renderer@3.5.27
@@ -1 +0,0 @@
../../../@vue/shared@3.5.27
@@ -1,5 +1,5 @@
/**
* vue v3.5.27
* vue v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
@@ -1,5 +1,5 @@
/**
* vue v3.5.27
* vue v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
+1
View File
@@ -0,0 +1 @@
../../../@vue/compiler-dom@3.5.28
+1
View File
@@ -0,0 +1 @@
../../../@vue/runtime-dom@3.5.28
+1
View File
@@ -0,0 +1 @@
../../../@vue/server-renderer@3.5.28
+1
View File
@@ -0,0 +1 @@
../../../@vue/shared@3.5.28
@@ -1,6 +1,6 @@
{
"name": "vue",
"version": "3.5.27",
"version": "3.5.28",
"description": "The progressive JavaScript framework for building modern web UI.",
"main": "index.js",
"module": "dist/vue.runtime.esm-bundler.js",
@@ -95,11 +95,11 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/vue#readme",
"dependencies": {
"@vue/compiler-dom": "3.5.27",
"@vue/compiler-sfc": "3.5.27",
"@vue/runtime-dom": "3.5.27",
"@vue/server-renderer": "3.5.27",
"@vue/shared": "3.5.27"
"@vue/shared": "3.5.28",
"@vue/compiler-dom": "3.5.28",
"@vue/compiler-sfc": "3.5.28",
"@vue/runtime-dom": "3.5.28",
"@vue/server-renderer": "3.5.28"
},
"peerDependencies": {
"typescript": "*"
+13 -3
View File
@@ -9246,7 +9246,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass {
return this.finishCallExpression(node, state.optionalChainMember);
}
const tokenType = this.state.type;
if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) {
if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenType !== 93 && tokenType !== 120 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) {
return;
}
const node = this.startNodeAt(startLoc);
@@ -9721,8 +9721,18 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass {
}
parseClassSuper(node) {
super.parseClassSuper(node);
if (node.superClass && (this.match(47) || this.match(51))) {
node.superTypeParameters = this.tsParseTypeArgumentsInExpression();
if (node.superClass) {
if (node.superClass.type === "TSInstantiationExpression") {
const tsInstantiationExpression = node.superClass;
const superClass = tsInstantiationExpression.expression;
this.takeSurroundingComments(superClass, superClass.start, superClass.end);
const superTypeArguments = tsInstantiationExpression.typeParameters;
this.takeSurroundingComments(superTypeArguments, superTypeArguments.start, superTypeArguments.end);
node.superClass = superClass;
node.superTypeParameters = superTypeArguments;
} else if (this.match(47) || this.match(51)) {
node.superTypeParameters = this.tsParseTypeArgumentsInExpression();
}
}
if (this.eatContextual(113)) {
node.implements = this.tsParseHeritageClause("implements");
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@babel/parser",
"version": "7.28.6",
"version": "7.29.0",
"description": "A JavaScript parser",
"author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-parser",
@@ -35,10 +35,10 @@
},
"# dependencies": "This package doesn't actually have runtime dependencies. @babel/types is only needed for type definitions.",
"dependencies": {
"@babel/types": "^7.28.6"
"@babel/types": "^7.29.0"
},
"devDependencies": {
"@babel/code-frame": "^7.28.6",
"@babel/code-frame": "^7.29.0",
"@babel/helper-check-duplicate-nodes": "^7.28.6",
"@babel/helper-fixtures": "^7.28.6",
"@babel/helper-string-parser": "^7.27.1",
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/compiler-core@3.5.27
../.nitro/@vue/compiler-core@3.5.28
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/compiler-dom@3.5.27
../.nitro/@vue/compiler-dom@3.5.28
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/compiler-ssr@3.5.27
../.nitro/@vue/compiler-ssr@3.5.28
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/reactivity@3.5.27
../.nitro/@vue/reactivity@3.5.28
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/runtime-core@3.5.27
../.nitro/@vue/runtime-core@3.5.28
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/runtime-dom@3.5.27
../.nitro/@vue/runtime-dom@3.5.28
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/server-renderer@3.5.27
../.nitro/@vue/server-renderer@3.5.28
+1 -1
View File
@@ -1 +1 @@
../.nitro/@vue/shared@3.5.27
../.nitro/@vue/shared@3.5.28
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "devalue",
"description": "Gets the job done when JSON.stringify can't",
"version": "5.6.2",
"version": "5.6.3",
"repository": "sveltejs/devalue",
"sideEffects": false,
"exports": {
@@ -32,6 +32,6 @@
"changeset:version": "changeset version",
"changeset:publish": "changeset publish",
"build": "dts-buddy",
"test": "uvu test"
"test": "uvu"
}
}
+1
View File
@@ -4,3 +4,4 @@ export const NAN = -3;
export const POSITIVE_INFINITY = -4;
export const NEGATIVE_INFINITY = -5;
export const NEGATIVE_ZERO = -6;
export const SPARSE = -7;
+13 -1
View File
@@ -5,6 +5,7 @@ import {
NEGATIVE_INFINITY,
NEGATIVE_ZERO,
POSITIVE_INFINITY,
SPARSE,
UNDEFINED
} from './constants.js';
@@ -201,6 +202,17 @@ export function unflatten(parsed, revivers) {
default:
throw new Error(`Unknown type ${type}`);
}
} else if (value[0] === SPARSE) {
// Sparse array encoding: [SPARSE, length, idx, val, idx, val, ...]
const len = value[1];
const array = new Array(len);
hydrated[index] = array;
for (let i = 2; i < value.length; i += 2) {
const idx = value[i];
array[idx] = hydrate(value[i + 1]);
}
} else {
const array = new Array(value.length);
hydrated[index] = array;
@@ -217,7 +229,7 @@ export function unflatten(parsed, revivers) {
const object = {};
hydrated[index] = object;
for (const key in value) {
for (const key of Object.keys(value)) {
if (key === '__proto__') {
throw new Error('Cannot parse an object with a `__proto__` property');
}
+91 -6
View File
@@ -5,7 +5,8 @@ import {
is_plain_object,
is_primitive,
stringify_key,
stringify_string
stringify_string,
valid_array_indices
} from './utils.js';
import {
HOLE,
@@ -13,6 +14,7 @@ import {
NEGATIVE_INFINITY,
NEGATIVE_ZERO,
POSITIVE_INFINITY,
SPARSE,
UNDEFINED
} from './constants.js';
import { encode64 } from './base64.js';
@@ -105,24 +107,89 @@ export function stringify(value, reducers) {
: `["RegExp",${stringify_string(source)}]`;
break;
case 'Array':
case 'Array': {
// For dense arrays (no holes), we iterate normally.
// When we encounter the first hole, we call Object.keys
// to determine the sparseness, then decide between:
// - HOLE encoding: [-2, val, -2, ...] (default)
// - Sparse encoding: [-7, length, idx, val, ...] (for very sparse arrays)
// Only the sparse path avoids iterating every slot, which
// is what protects against the DoS of e.g. `arr[1000000] = 1`.
let mostly_dense = false;
str = '[';
for (let i = 0; i < thing.length; i += 1) {
if (i > 0) str += ',';
if (i in thing) {
if (Object.hasOwn(thing, i)) {
keys.push(`[${i}]`);
str += flatten(thing[i]);
keys.pop();
} else {
} else if (mostly_dense) {
// Use dense encoding. The heuristic guarantees the
// array is only mildly sparse, so iterating over every
// slot is fine.
str += HOLE;
} else {
// Decide between HOLE encoding and sparse encoding.
//
// HOLE encoding: each hole is serialized as the HOLE
// sentinel (-2). For example, [, "a", ,] becomes
// [-2, 0, -2]. Each hole costs 3 chars ("-2" + comma).
//
// Sparse encoding: lists only populated indices.
// For example, [, "a", ,] becomes [-7, 3, 1, 0] — the
// -7 sentinel, the array length (3), then index-value
// pairs. This avoids paying per-hole, but each element
// costs extra chars to write its index.
//
// The values are the same size either way, so the
// choice comes down to structural overhead:
//
// HOLE overhead:
// 3 chars per hole ("-2" + comma)
// = (L - P) * 3
//
// Sparse overhead:
// "-7," — 3 chars (sparse sentinel + comma)
// + length + "," — (d + 1) chars (array length + comma)
// + per element: index + "," — (d + 1) chars
// = (4 + d) + P * (d + 1)
//
// where L is the array length, P is the number of
// populated elements, and d is the number of digits
// in L (an upper bound on the digits in any index).
//
// Sparse encoding is cheaper when:
// (4 + d) + P * (d + 1) < (L - P) * 3
const populated_keys = valid_array_indices(/** @type {any[]} */ (thing));
const population = populated_keys.length;
const d = String(thing.length).length;
const hole_cost = (thing.length - population) * 3;
const sparse_cost = 4 + d + population * (d + 1);
if (hole_cost > sparse_cost) {
str = '[' + SPARSE + ',' + thing.length;
for (let j = 0; j < populated_keys.length; j++) {
const key = populated_keys[j];
keys.push(`[${key}]`);
str += ',' + key + ',' + flatten(thing[key]);
keys.pop();
}
break;
} else {
mostly_dense = true;
str += HOLE;
}
}
}
str += ']';
break;
}
case 'Set':
str = '["Set"';
@@ -217,7 +284,16 @@ export function stringify(value, reducers) {
if (Object.getPrototypeOf(thing) === null) {
str = '["null"';
for (const key in thing) {
for (const key of Object.keys(thing)) {
if (key === '__proto__') {
throw new DevalueError(
`Cannot stringify objects with __proto__ keys`,
keys,
thing,
value
);
}
keys.push(stringify_key(key));
str += `,${stringify_string(key)},${flatten(thing[key])}`;
keys.pop();
@@ -226,7 +302,16 @@ export function stringify(value, reducers) {
} else {
str = '{';
let started = false;
for (const key in thing) {
for (const key of Object.keys(thing)) {
if (key === '__proto__') {
throw new DevalueError(
`Cannot stringify objects with __proto__ keys`,
keys,
thing,
value
);
}
if (started) str += ',';
started = true;
keys.push(stringify_key(key));
+90 -7
View File
@@ -6,7 +6,8 @@ import {
is_plain_object,
is_primitive,
stringify_key,
stringify_string
stringify_string,
valid_array_indices
} from './utils.js';
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$';
@@ -131,7 +132,16 @@ export function uneval(value, replacer) {
);
}
for (const key in thing) {
for (const key of Object.keys(thing)) {
if (key === '__proto__') {
throw new DevalueError(
`Cannot stringify objects with __proto__ keys`,
keys,
thing,
value
);
}
keys.push(stringify_key(key));
walk(thing[key]);
keys.pop();
@@ -190,12 +200,85 @@ export function uneval(value, replacer) {
case 'URLSearchParams':
return `new URLSearchParams(${stringify_string(thing.toString())})`;
case 'Array':
const members = /** @type {any[]} */ (thing).map((v, i) =>
i in thing ? stringify(v) : ''
);
case 'Array': {
// For dense arrays (no holes), we iterate normally.
// When we encounter the first hole, we call Object.keys
// to determine the sparseness, then decide between:
// - Array literal with holes: [,"a",,] (default)
// - Object.assign: Object.assign(Array(n),{...}) (for very sparse arrays)
// Only the Object.assign path avoids iterating every slot, which
// is what protects against the DoS of e.g. `arr[1000000] = 1`.
let has_holes = false;
let result = '[';
for (let i = 0; i < thing.length; i += 1) {
if (i > 0) result += ',';
if (Object.hasOwn(thing, i)) {
result += stringify(thing[i]);
} else if (!has_holes) {
// Decide between array literal and Object.assign.
//
// Array literal: holes are consecutive commas.
// For example, [, "a", ,] is written as [,"a",,].
// Each hole costs 1 char (a comma).
//
// Object.assign: populated indices are listed explicitly.
// For example, [, "a", ,] would be written as
// Object.assign(Array(3),{1:"a"}). This avoids paying
// per-hole, but has a large fixed overhead for the
// "Object.assign(Array(n),{...})" wrapper, and each
// element costs extra chars for its index and colon.
//
// The serialized values are the same size either way, so
// the choice comes down to the structural overhead:
//
// Array literal overhead:
// 1 char per element or hole (comma separators)
// + 2 chars for "[" and "]"
// = L + 2
//
// Object.assign overhead:
// "Object.assign(Array(" — 20 chars
// + length — d chars
// + "),{" — 3 chars
// + for each populated element:
// index + ":" + "," — (d + 2) chars
// + "})" — 2 chars
// = (25 + d) + P * (d + 2)
//
// where L is the array length, P is the number of
// populated elements, and d is the number of digits
// in L (an upper bound on the digits in any index).
//
// Object.assign is cheaper when:
// (25 + d) + P * (d + 2) < L + 2
const populated_keys = valid_array_indices(/** @type {any[]} */ (thing));
const population = populated_keys.length;
const d = String(thing.length).length;
const hole_cost = thing.length + 2;
const sparse_cost = (25 + d) + population * (d + 2);
if (hole_cost > sparse_cost) {
const entries = populated_keys
.map((k) => `${k}:${stringify(thing[k])}`)
.join(',');
return `Object.assign(Array(${thing.length}),{${entries}})`;
}
// Re-process this index as a hole in the array literal
has_holes = true;
i -= 1;
}
// else: already decided on array literal, hole is just an empty slot
// (the comma separator is all we need — no content for this position)
}
const tail = thing.length === 0 || thing.length - 1 in thing ? '' : ',';
return `[${members.join(',')}${tail}]`;
return result + tail + ']';
}
case 'Set':
case 'Map':
+30
View File
@@ -116,3 +116,33 @@ const is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;
export function stringify_key(key) {
return is_identifier.test(key) ? '.' + key : '[' + JSON.stringify(key) + ']';
}
/** @param {string} s */
function is_valid_array_index(s) {
if (s.length === 0) return false;
if (s.length > 1 && s.charCodeAt(0) === 48) return false; // leading zero
for (let i = 0; i < s.length; i++) {
const c = s.charCodeAt(i);
if (c < 48 || c > 57) return false;
}
// by this point we know it's a string of digits, but it has to be within the range of valid array indices
const n = +s;
if (n >= 2 ** 32 - 1) return false;
if (n < 0) return false;
return true;
}
/**
* Finds the populated indices of an array.
* @param {unknown[]} array
*/
export function valid_array_indices(array) {
const keys = Object.keys(array);
for (var i = keys.length - 1; i >= 0; i--) {
if (is_valid_array_index(keys[i])) {
break;
}
}
keys.length = i + 1;
return keys;
}
+2 -2
View File
@@ -78,8 +78,8 @@ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
// ## Pre-release Version Identifier
// A numeric identifier, or a non-numeric identifier.
// Non-numberic identifiers include numberic identifiers but can be longer.
// Therefore non-numberic identifiers must go first.
// Non-numeric identifiers include numeric identifiers but can be longer.
// Therefore non-numeric identifiers must go first.
createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER]
}|${src[t.NUMERICIDENTIFIER]})`)
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "semver",
"version": "7.7.3",
"version": "7.7.4",
"description": "The semantic version parser used by npm.",
"main": "index.js",
"scripts": {
@@ -14,8 +14,8 @@
"eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
"@npmcli/template-oss": "4.25.1",
"@npmcli/eslint-config": "^6.0.0",
"@npmcli/template-oss": "4.29.0",
"benchmark": "^2.1.4",
"tap": "^16.0.0"
},
@@ -52,7 +52,7 @@
"author": "GitHub Inc.",
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
"version": "4.25.1",
"version": "4.29.0",
"engines": ">=10",
"distPaths": [
"classes/",
+2 -2
View File
@@ -1,9 +1,9 @@
export { u as useHead, a as useHeadSafe, b as useSeoMeta, c as useServerHead, d as useServerHeadSafe, e as useServerSeoMeta } from './shared/unhead.BPM0-cfG.mjs';
export { c as createHeadCore, a as createUnhead } from './shared/unhead.CGCfDSEL.mjs';
export { c as createHeadCore, a as createUnhead } from './shared/unhead.BFfcxOoW.mjs';
export { u as useScript } from './shared/unhead.B578PsDV.mjs';
import './shared/unhead.CApf5sj3.mjs';
import './shared/unhead.DQc16pHI.mjs';
import './shared/unhead.yem5I2v_.mjs';
import 'hookable';
import './shared/unhead.CYpwL2hc.mjs';
import './shared/unhead.eK9_7LaY.mjs';
import './shared/unhead.CbpEuj3y.mjs';
+2 -2
View File
@@ -1,8 +1,8 @@
import { a as createUnhead } from './shared/unhead.CGCfDSEL.mjs';
import { a as createUnhead } from './shared/unhead.BFfcxOoW.mjs';
import { T as TagsWithInnerContent, S as SelfClosingTags } from './shared/unhead.yem5I2v_.mjs';
import { parseHtmlForUnheadExtraction, applyHeadToHtml, parseHtmlForIndexes } from './parser.mjs';
import 'hookable';
import './shared/unhead.CYpwL2hc.mjs';
import './shared/unhead.eK9_7LaY.mjs';
import './shared/unhead.CbpEuj3y.mjs';
// @__NO_SIDE_EFFECTS__
@@ -1,5 +1,5 @@
import { createHooks } from 'hookable';
import { n as normalizeEntryToTags, d as dedupeKey, i as isMetaArrayDupeKey } from './unhead.CYpwL2hc.mjs';
import { n as normalizeEntryToTags, d as dedupeKey, i as isMetaArrayDupeKey } from './unhead.eK9_7LaY.mjs';
import { t as tagWeight, s as sortTags } from './unhead.CbpEuj3y.mjs';
import { c as UsesMergeStrategy, V as ValidHeadTags } from './unhead.yem5I2v_.mjs';
@@ -19,6 +19,10 @@ function dedupeKey(tag) {
return name;
if (name === "link" && props.rel === "canonical")
return "canonical";
const altKey = props.hreflang || props.type;
if (name === "link" && props.rel === "alternate" && altKey) {
return `alternate:${altKey}`;
}
if (props.charset)
return "charset";
if (tag.tag === "meta") {
+1 -1
View File
@@ -1,5 +1,5 @@
export { D as DupeableTags, H as HasElementTags, M as MetaTagsArrayable, b as ScriptNetworkEvents, S as SelfClosingTags, a as TagConfigKeys, T as TagsWithInnerContent, U as UniqueTags, c as UsesMergeStrategy, V as ValidHeadTags } from './shared/unhead.yem5I2v_.mjs';
export { d as dedupeKey, h as hashTag, i as isMetaArrayDupeKey, n as normalizeEntryToTags, a as normalizeProps, w as walkResolver } from './shared/unhead.CYpwL2hc.mjs';
export { d as dedupeKey, h as hashTag, i as isMetaArrayDupeKey, n as normalizeEntryToTags, a as normalizeProps, w as walkResolver } from './shared/unhead.eK9_7LaY.mjs';
export { r as resolveMetaKeyType, a as resolveMetaKeyValue, b as resolvePackedMetaObjectValue, u as unpackMeta } from './shared/unhead.DQc16pHI.mjs';
export { s as sortTags, t as tagWeight } from './shared/unhead.CbpEuj3y.mjs';
export { p as processTemplateParams } from './shared/unhead.BYvz9V1x.mjs';
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "unhead",
"type": "module",
"version": "2.1.2",
"version": "2.1.4",
"description": "Full-stack <head> manager built for any framework.",
"author": {
"name": "Harlan Wilton",
+1 -1
View File
@@ -1 +1 @@
.nitro/vue@3.5.27
.nitro/vue@3.5.28
File diff suppressed because one or more lines are too long
+94
View File
@@ -0,0 +1,94 @@
{
"name": "wavesurfer.js",
"version": "7.12.1",
"license": "BSD-3-Clause",
"author": "katspaugh",
"description": "Audio waveform player",
"homepage": "https://wavesurfer.xyz",
"keywords": [
"waveform",
"spectrogram",
"audio",
"player",
"music",
"linguistics"
],
"repository": {
"type": "git",
"url": "git@github.com:katspaugh/wavesurfer.js.git"
},
"type": "module",
"files": [
"dist"
],
"main": "./dist/wavesurfer.js",
"unpkg": "./dist/wavesurfer.min.js",
"module": "./dist/wavesurfer.js",
"browser": "./dist/wavesurfer.js",
"types": "./dist/wavesurfer.d.ts",
"exports": {
".": {
"import": "./dist/wavesurfer.esm.js",
"types": "./dist/wavesurfer.d.ts",
"require": "./dist/wavesurfer.cjs"
},
"./dist/plugins/*.js": {
"import": "./dist/plugins/*.esm.js",
"types": "./dist/plugins/*.d.ts",
"require": "./dist/plugins/*.cjs"
},
"./plugins/*": {
"import": "./dist/plugins/*.esm.js",
"types": "./dist/plugins/*.d.ts",
"require": "./dist/plugins/*.cjs"
},
"./dist/*": {
"import": "./dist/*",
"types": "./dist/*.d.ts",
"require": "./dist/*.cjs"
},
"./dist/plugins/*.esm.js": {
"import": "./dist/plugins/*.esm.js",
"types": "./dist/plugins/*.d.ts",
"require": "./dist/plugins/*.cjs"
}
},
"scripts": {
"clean": "node ./scripts/clean.cjs",
"build:dev": "tsc -w --target ESNext",
"build": "npm run clean && tsc && rollup -c",
"prepublishOnly": "npm run build",
"lint": "eslint \"src/**/*.ts\" --fix",
"lint:report": "eslint \"src/**/*.ts\" --output-file eslint_report.json --format json",
"prettier": "prettier -w '**/*.{js,ts,css}' --ignore-path .gitignore",
"make-plugin": "./scripts/plugin.sh",
"cypress": "cypress open --e2e",
"cypress:canary": "cypress open --e2e -b chrome:canary",
"test": "cypress run --browser chrome",
"test:unit": "jest --coverage",
"serve": "npx live-server --port=9090 --no-browser --ignore='.*,src,cypress,scripts'",
"start": "npm run build:dev & npm run serve"
},
"packageManager": "yarn@1.22.22",
"devDependencies": {
"@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^12.1.1",
"@types/jest": "^29.5.2",
"@typescript-eslint/eslint-plugin": "^8.43.0",
"@typescript-eslint/parser": "^8.43.0",
"cypress": "^13.16.1",
"cypress-image-snapshot": "^4.0.1",
"eslint": "^9.35.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.2.1",
"glob": "^11.0.0",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"prettier": "^3.4.2",
"rollup": "^4.50.1",
"rollup-plugin-dts": "^6.1.0",
"rollup-plugin-web-worker-loader": "^1.7.0",
"ts-jest": "^29.1.1",
"typescript": "^5.9.2"
}
}