vue 3.4.36 → 3.4.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/vue.cjs.js +1 -1
- package/dist/vue.cjs.prod.js +1 -1
- package/dist/vue.esm-browser.js +27 -18
- package/dist/vue.esm-browser.prod.js +6 -6
- package/dist/vue.esm-bundler.js +1 -1
- package/dist/vue.global.js +27 -18
- package/dist/vue.global.prod.js +6 -6
- package/dist/vue.runtime.esm-browser.js +17 -11
- package/dist/vue.runtime.esm-browser.prod.js +2 -2
- package/dist/vue.runtime.esm-bundler.js +1 -1
- package/dist/vue.runtime.global.js +17 -11
- package/dist/vue.runtime.global.prod.js +2 -2
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
### From CDN or without a Bundler
|
|
6
6
|
|
|
7
7
|
- **`vue(.runtime).global(.prod).js`**:
|
|
8
|
+
|
|
8
9
|
- For direct use via `<script src="...">` in the browser. Exposes the `Vue` global.
|
|
9
|
-
- Note that global builds are not [UMD](https://github.com/umdjs/umd) builds.
|
|
10
|
+
- Note that global builds are not [UMD](https://github.com/umdjs/umd) builds. They are built as [IIFEs](https://developer.mozilla.org/en-US/docs/Glossary/IIFE) and is only meant for direct use via `<script src="...">`.
|
|
10
11
|
- In-browser template compilation:
|
|
11
12
|
- **`vue.global.js`** is the "full" build that includes both the compiler and the runtime so it supports compiling templates on the fly.
|
|
12
13
|
- **`vue.runtime.global.js`** contains only the runtime and requires templates to be pre-compiled during a build step.
|
|
@@ -38,10 +39,12 @@
|
|
|
38
39
|
`esm-bundler` builds of Vue expose global feature flags that can be overwritten at compile time:
|
|
39
40
|
|
|
40
41
|
- `__VUE_OPTIONS_API__`
|
|
42
|
+
|
|
41
43
|
- Default: `true`
|
|
42
44
|
- Enable / disable Options API support
|
|
43
45
|
|
|
44
46
|
- `__VUE_PROD_DEVTOOLS__`
|
|
47
|
+
|
|
45
48
|
- Default: `false`
|
|
46
49
|
- Enable / disable devtools support in production
|
|
47
50
|
|
package/dist/vue.cjs.js
CHANGED
package/dist/vue.cjs.prod.js
CHANGED
package/dist/vue.esm-browser.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vue v3.4.
|
|
2
|
+
* vue v3.4.38
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -817,7 +817,7 @@ class BaseReactiveHandler {
|
|
|
817
817
|
return isShallow2;
|
|
818
818
|
} else if (key === "__v_raw") {
|
|
819
819
|
if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
|
|
820
|
-
// this means the
|
|
820
|
+
// this means the receiver is a user proxy of the reactive proxy
|
|
821
821
|
Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
|
|
822
822
|
return target;
|
|
823
823
|
}
|
|
@@ -2936,7 +2936,7 @@ const KeepAliveImpl = {
|
|
|
2936
2936
|
}
|
|
2937
2937
|
function pruneCacheEntry(key) {
|
|
2938
2938
|
const cached = cache.get(key);
|
|
2939
|
-
if (!current || !isSameVNodeType(cached, current)) {
|
|
2939
|
+
if (cached && (!current || !isSameVNodeType(cached, current))) {
|
|
2940
2940
|
unmount(cached);
|
|
2941
2941
|
} else if (current) {
|
|
2942
2942
|
resetShapeFlag(current);
|
|
@@ -2998,6 +2998,10 @@ const KeepAliveImpl = {
|
|
|
2998
2998
|
return rawVNode;
|
|
2999
2999
|
}
|
|
3000
3000
|
let vnode = getInnerChild(rawVNode);
|
|
3001
|
+
if (vnode.type === Comment) {
|
|
3002
|
+
current = null;
|
|
3003
|
+
return vnode;
|
|
3004
|
+
}
|
|
3001
3005
|
const comp = vnode.type;
|
|
3002
3006
|
const name = getComponentName(
|
|
3003
3007
|
isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp
|
|
@@ -4290,7 +4294,7 @@ function provide(key, value) {
|
|
|
4290
4294
|
function inject(key, defaultValue, treatDefaultAsFactory = false) {
|
|
4291
4295
|
const instance = currentInstance || currentRenderingInstance;
|
|
4292
4296
|
if (instance || currentApp) {
|
|
4293
|
-
const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides :
|
|
4297
|
+
const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
|
|
4294
4298
|
if (provides && key in provides) {
|
|
4295
4299
|
return provides[key];
|
|
4296
4300
|
} else if (arguments.length > 1) {
|
|
@@ -7190,13 +7194,13 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7190
7194
|
namespace
|
|
7191
7195
|
);
|
|
7192
7196
|
}
|
|
7197
|
+
container._vnode = vnode;
|
|
7193
7198
|
if (!isFlushing) {
|
|
7194
7199
|
isFlushing = true;
|
|
7195
7200
|
flushPreFlushCbs();
|
|
7196
7201
|
flushPostFlushCbs();
|
|
7197
7202
|
isFlushing = false;
|
|
7198
7203
|
}
|
|
7199
|
-
container._vnode = vnode;
|
|
7200
7204
|
};
|
|
7201
7205
|
const internals = {
|
|
7202
7206
|
p: patch,
|
|
@@ -7604,7 +7608,8 @@ function useModel(props, name, options = EMPTY_OBJ) {
|
|
|
7604
7608
|
return options.get ? options.get(localValue) : localValue;
|
|
7605
7609
|
},
|
|
7606
7610
|
set(value) {
|
|
7607
|
-
|
|
7611
|
+
const emittedValue = options.set ? options.set(value) : value;
|
|
7612
|
+
if (!hasChanged(emittedValue, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
|
|
7608
7613
|
return;
|
|
7609
7614
|
}
|
|
7610
7615
|
const rawProps = i.vnode.props;
|
|
@@ -7613,7 +7618,6 @@ function useModel(props, name, options = EMPTY_OBJ) {
|
|
|
7613
7618
|
localValue = value;
|
|
7614
7619
|
trigger();
|
|
7615
7620
|
}
|
|
7616
|
-
const emittedValue = options.set ? options.set(value) : value;
|
|
7617
7621
|
i.emit(`update:${name}`, emittedValue);
|
|
7618
7622
|
if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
|
|
7619
7623
|
trigger();
|
|
@@ -7651,9 +7655,9 @@ function emit(instance, event, ...rawArgs) {
|
|
|
7651
7655
|
} = instance;
|
|
7652
7656
|
if (emitsOptions) {
|
|
7653
7657
|
if (!(event in emitsOptions) && true) {
|
|
7654
|
-
if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
|
|
7658
|
+
if (!propsOptions || !(toHandlerKey(camelize(event)) in propsOptions)) {
|
|
7655
7659
|
warn$1(
|
|
7656
|
-
`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
|
|
7660
|
+
`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(camelize(event))}" prop.`
|
|
7657
7661
|
);
|
|
7658
7662
|
}
|
|
7659
7663
|
} else {
|
|
@@ -9679,7 +9683,7 @@ function isMemoSame(cached, memo) {
|
|
|
9679
9683
|
return true;
|
|
9680
9684
|
}
|
|
9681
9685
|
|
|
9682
|
-
const version = "3.4.
|
|
9686
|
+
const version = "3.4.38";
|
|
9683
9687
|
const warn = warn$1 ;
|
|
9684
9688
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
9685
9689
|
const devtools = devtools$1 ;
|
|
@@ -10102,8 +10106,10 @@ function useCssVars(getter) {
|
|
|
10102
10106
|
setVarsOnVNode(instance.subTree, vars);
|
|
10103
10107
|
updateTeleports(vars);
|
|
10104
10108
|
};
|
|
10105
|
-
|
|
10109
|
+
onBeforeMount(() => {
|
|
10106
10110
|
watchPostEffect(setVars);
|
|
10111
|
+
});
|
|
10112
|
+
onMounted(() => {
|
|
10107
10113
|
const ob = new MutationObserver(setVars);
|
|
10108
10114
|
ob.observe(instance.subTree.el.parentNode, { childList: true });
|
|
10109
10115
|
onUnmounted(() => ob.disconnect());
|
|
@@ -12552,8 +12558,9 @@ const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
|
|
|
12552
12558
|
const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
|
|
12553
12559
|
const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
|
|
12554
12560
|
const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
|
|
12555
|
-
const
|
|
12556
|
-
|
|
12561
|
+
const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
|
|
12562
|
+
const isMemberExpressionBrowser = (exp) => {
|
|
12563
|
+
const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());
|
|
12557
12564
|
let state = 0 /* inMemberExp */;
|
|
12558
12565
|
let stateStack = [];
|
|
12559
12566
|
let currentOpenBracketCount = 0;
|
|
@@ -12615,6 +12622,9 @@ const isMemberExpressionBrowser = (path) => {
|
|
|
12615
12622
|
return !currentOpenBracketCount && !currentOpenParensCount;
|
|
12616
12623
|
};
|
|
12617
12624
|
const isMemberExpression = isMemberExpressionBrowser ;
|
|
12625
|
+
const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
|
|
12626
|
+
const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
|
|
12627
|
+
const isFnExpression = isFnExpressionBrowser ;
|
|
12618
12628
|
function assert(condition, msg) {
|
|
12619
12629
|
if (!condition) {
|
|
12620
12630
|
throw new Error(msg || `unexpected compiler condition`);
|
|
@@ -15446,7 +15456,7 @@ function resolveComponentType(node, context, ssr = false) {
|
|
|
15446
15456
|
} else {
|
|
15447
15457
|
exp = isProp.exp;
|
|
15448
15458
|
if (!exp) {
|
|
15449
|
-
exp = createSimpleExpression(`is`, false, isProp.loc);
|
|
15459
|
+
exp = createSimpleExpression(`is`, false, isProp.arg.loc);
|
|
15450
15460
|
}
|
|
15451
15461
|
}
|
|
15452
15462
|
if (exp) {
|
|
@@ -15914,7 +15924,6 @@ function processSlotOutlet(node, context) {
|
|
|
15914
15924
|
};
|
|
15915
15925
|
}
|
|
15916
15926
|
|
|
15917
|
-
const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
|
|
15918
15927
|
const transformOn$1 = (dir, node, context, augmentor) => {
|
|
15919
15928
|
const { loc, modifiers, arg } = dir;
|
|
15920
15929
|
if (!dir.exp && !modifiers.length) {
|
|
@@ -15958,8 +15967,8 @@ const transformOn$1 = (dir, node, context, augmentor) => {
|
|
|
15958
15967
|
}
|
|
15959
15968
|
let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
|
|
15960
15969
|
if (exp) {
|
|
15961
|
-
const isMemberExp = isMemberExpression(exp
|
|
15962
|
-
const isInlineStatement = !(isMemberExp ||
|
|
15970
|
+
const isMemberExp = isMemberExpression(exp);
|
|
15971
|
+
const isInlineStatement = !(isMemberExp || isFnExpression(exp));
|
|
15963
15972
|
const hasMultipleStatements = exp.content.includes(`;`);
|
|
15964
15973
|
{
|
|
15965
15974
|
validateBrowserExpression(
|
|
@@ -16107,7 +16116,7 @@ const transformModel$1 = (dir, node, context) => {
|
|
|
16107
16116
|
return createTransformProps();
|
|
16108
16117
|
}
|
|
16109
16118
|
const maybeRef = false;
|
|
16110
|
-
if (!expString.trim() || !isMemberExpression(
|
|
16119
|
+
if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {
|
|
16111
16120
|
context.onError(
|
|
16112
16121
|
createCompilerError(42, exp.loc)
|
|
16113
16122
|
);
|