[build] 2.3.1

This commit is contained in:
Evan You 2017-05-02 15:58:34 +08:00
parent ebd0338d5a
commit 2355318f0f
14 changed files with 370 additions and 316 deletions

96
dist/vue.common.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Vue.js v2.3.0
* Vue.js v2.3.1
* (c) 2014-2017 Evan You
* Released under the MIT License.
*/
@ -37,24 +37,24 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
function isRegExp (v) {
return toString.call(v) === '[object RegExp]'
return _toString.call(v) === '[object RegExp]'
}
/**
* Convert a value to a string that is actually rendered.
*/
function _toString (val) {
function toString (val) {
return val == null
? ''
: typeof val === 'object'
@ -415,9 +415,11 @@ function parsePath (path) {
}
}
/* */
var warn = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
if (process.env.NODE_ENV !== 'production') {
var hasConsole = typeof console !== 'undefined';
@ -506,6 +508,8 @@ if (process.env.NODE_ENV !== 'production') {
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -1518,6 +1522,8 @@ function isType (type, fn) {
return false
}
/* */
var mark;
var measure;
@ -1914,7 +1920,7 @@ function normalizeArrayChildren (children, nestedIndex) {
res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
} else if (isPrimitive(c)) {
if (isDef(last) && isDef(last.text)) {
(last).text += String(c);
last.text += String(c);
} else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
@ -1925,7 +1931,7 @@ function normalizeArrayChildren (children, nestedIndex) {
} else {
// default key for nested array children (likely generated by v-for)
if (isDef(c.tag) && isUndef(c.key) && isDef(nestedIndex)) {
c.key = "__vlist" + ((nestedIndex)) + "_" + i + "__";
c.key = "__vlist" + nestedIndex + "_" + i + "__";
}
res.push(c);
}
@ -3275,7 +3281,7 @@ function createFunctionalComponent (
var propOptions = Ctor.options.props;
if (isDef(propOptions)) {
for (var key in propOptions) {
props[key] = validateProp(key, propOptions, propsData);
props[key] = validateProp(key, propOptions, propsData || {});
}
} else {
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
@ -3604,7 +3610,7 @@ function _createElement (
// direct component options / constructor
vnode = createComponent(tag, data, context, children);
}
if (vnode !== undefined) {
if (isDef(vnode)) {
if (ns) { applyNS(vnode, ns); }
return vnode
} else {
@ -3618,7 +3624,7 @@ function applyNS (vnode, ns) {
// use default namespace inside foreignObject
return
}
if (Array.isArray(vnode.children)) {
if (isDef(vnode.children)) {
for (var i = 0, l = vnode.children.length; i < l; i++) {
var child = vnode.children[i];
if (isDef(child.tag) && isUndef(child.ns)) {
@ -3902,7 +3908,7 @@ function renderMixin (Vue) {
// code size.
Vue.prototype._o = markOnce;
Vue.prototype._n = toNumber;
Vue.prototype._s = _toString;
Vue.prototype._s = toString;
Vue.prototype._l = renderList;
Vue.prototype._t = renderSlot;
Vue.prototype._q = looseEqual;
@ -4384,7 +4390,7 @@ Object.defineProperty(Vue$3.prototype, '$isServer', {
get: isServerRendering
});
Vue$3.version = '2.3.0';
Vue$3.version = '2.3.1';
/* */
@ -6187,7 +6193,7 @@ function updateDOMProps (oldVnode, vnode) {
// non-string values will be stringified
elm._value = cur;
// avoid resetting cursor position when value is the same
var strCur = cur == null ? '' : String(cur);
var strCur = isUndef(cur) ? '' : String(cur);
if (shouldUpdateValue(elm, vnode, strCur)) {
elm.value = strCur;
}
@ -6639,24 +6645,23 @@ function enter (vnode, toggleDisplay) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var enterClass = ref.enterClass;
var enterToClass = ref.enterToClass;
var enterActiveClass = ref.enterActiveClass;
var appearClass = ref.appearClass;
var appearToClass = ref.appearToClass;
var appearActiveClass = ref.appearActiveClass;
var beforeEnter = ref.beforeEnter;
var enter = ref.enter;
var afterEnter = ref.afterEnter;
var enterCancelled = ref.enterCancelled;
var beforeAppear = ref.beforeAppear;
var appear = ref.appear;
var afterAppear = ref.afterAppear;
var appearCancelled = ref.appearCancelled;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var enterClass = data.enterClass;
var enterToClass = data.enterToClass;
var enterActiveClass = data.enterActiveClass;
var appearClass = data.appearClass;
var appearToClass = data.appearToClass;
var appearActiveClass = data.appearActiveClass;
var beforeEnter = data.beforeEnter;
var enter = data.enter;
var afterEnter = data.afterEnter;
var enterCancelled = data.enterCancelled;
var beforeAppear = data.beforeAppear;
var appear = data.appear;
var afterAppear = data.afterAppear;
var appearCancelled = data.appearCancelled;
var duration = data.duration;
// activeInstance will always be the <transition> component managing this
// transition. One edge case to check is when the <transition> is placed
@ -6788,18 +6793,17 @@ function leave (vnode, rm) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var leaveClass = ref.leaveClass;
var leaveToClass = ref.leaveToClass;
var leaveActiveClass = ref.leaveActiveClass;
var beforeLeave = ref.beforeLeave;
var leave = ref.leave;
var afterLeave = ref.afterLeave;
var leaveCancelled = ref.leaveCancelled;
var delayLeave = ref.delayLeave;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var leaveClass = data.leaveClass;
var leaveToClass = data.leaveToClass;
var leaveActiveClass = data.leaveActiveClass;
var beforeLeave = data.beforeLeave;
var leave = data.leave;
var afterLeave = data.afterLeave;
var leaveCancelled = data.leaveCancelled;
var delayLeave = data.delayLeave;
var duration = data.duration;
var expectsCSS = css !== false && !isIE9;
var userWantsControl = getHookArgumentsLength(leave);
@ -6810,7 +6814,7 @@ function leave (vnode, rm) {
: duration
);
if (process.env.NODE_ENV !== 'production' && explicitLeaveDuration != null) {
if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {
checkDuration(explicitLeaveDuration, 'leave', vnode);
}
@ -6847,7 +6851,7 @@ function leave (vnode, rm) {
}
// record leaving element
if (!vnode.data.show) {
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode;
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
}
beforeLeave && beforeLeave(el);
if (expectsCSS) {

96
dist/vue.esm.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Vue.js v2.3.0
* Vue.js v2.3.1
* (c) 2014-2017 Evan You
* Released under the MIT License.
*/
@ -35,24 +35,24 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
function isRegExp (v) {
return toString.call(v) === '[object RegExp]'
return _toString.call(v) === '[object RegExp]'
}
/**
* Convert a value to a string that is actually rendered.
*/
function _toString (val) {
function toString (val) {
return val == null
? ''
: typeof val === 'object'
@ -413,9 +413,11 @@ function parsePath (path) {
}
}
/* */
var warn = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
if (process.env.NODE_ENV !== 'production') {
var hasConsole = typeof console !== 'undefined';
@ -504,6 +506,8 @@ if (process.env.NODE_ENV !== 'production') {
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -1516,6 +1520,8 @@ function isType (type, fn) {
return false
}
/* */
var mark;
var measure;
@ -1912,7 +1918,7 @@ function normalizeArrayChildren (children, nestedIndex) {
res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
} else if (isPrimitive(c)) {
if (isDef(last) && isDef(last.text)) {
(last).text += String(c);
last.text += String(c);
} else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
@ -1923,7 +1929,7 @@ function normalizeArrayChildren (children, nestedIndex) {
} else {
// default key for nested array children (likely generated by v-for)
if (isDef(c.tag) && isUndef(c.key) && isDef(nestedIndex)) {
c.key = "__vlist" + ((nestedIndex)) + "_" + i + "__";
c.key = "__vlist" + nestedIndex + "_" + i + "__";
}
res.push(c);
}
@ -3273,7 +3279,7 @@ function createFunctionalComponent (
var propOptions = Ctor.options.props;
if (isDef(propOptions)) {
for (var key in propOptions) {
props[key] = validateProp(key, propOptions, propsData);
props[key] = validateProp(key, propOptions, propsData || {});
}
} else {
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
@ -3602,7 +3608,7 @@ function _createElement (
// direct component options / constructor
vnode = createComponent(tag, data, context, children);
}
if (vnode !== undefined) {
if (isDef(vnode)) {
if (ns) { applyNS(vnode, ns); }
return vnode
} else {
@ -3616,7 +3622,7 @@ function applyNS (vnode, ns) {
// use default namespace inside foreignObject
return
}
if (Array.isArray(vnode.children)) {
if (isDef(vnode.children)) {
for (var i = 0, l = vnode.children.length; i < l; i++) {
var child = vnode.children[i];
if (isDef(child.tag) && isUndef(child.ns)) {
@ -3900,7 +3906,7 @@ function renderMixin (Vue) {
// code size.
Vue.prototype._o = markOnce;
Vue.prototype._n = toNumber;
Vue.prototype._s = _toString;
Vue.prototype._s = toString;
Vue.prototype._l = renderList;
Vue.prototype._t = renderSlot;
Vue.prototype._q = looseEqual;
@ -4382,7 +4388,7 @@ Object.defineProperty(Vue$3.prototype, '$isServer', {
get: isServerRendering
});
Vue$3.version = '2.3.0';
Vue$3.version = '2.3.1';
/* */
@ -6185,7 +6191,7 @@ function updateDOMProps (oldVnode, vnode) {
// non-string values will be stringified
elm._value = cur;
// avoid resetting cursor position when value is the same
var strCur = cur == null ? '' : String(cur);
var strCur = isUndef(cur) ? '' : String(cur);
if (shouldUpdateValue(elm, vnode, strCur)) {
elm.value = strCur;
}
@ -6637,24 +6643,23 @@ function enter (vnode, toggleDisplay) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var enterClass = ref.enterClass;
var enterToClass = ref.enterToClass;
var enterActiveClass = ref.enterActiveClass;
var appearClass = ref.appearClass;
var appearToClass = ref.appearToClass;
var appearActiveClass = ref.appearActiveClass;
var beforeEnter = ref.beforeEnter;
var enter = ref.enter;
var afterEnter = ref.afterEnter;
var enterCancelled = ref.enterCancelled;
var beforeAppear = ref.beforeAppear;
var appear = ref.appear;
var afterAppear = ref.afterAppear;
var appearCancelled = ref.appearCancelled;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var enterClass = data.enterClass;
var enterToClass = data.enterToClass;
var enterActiveClass = data.enterActiveClass;
var appearClass = data.appearClass;
var appearToClass = data.appearToClass;
var appearActiveClass = data.appearActiveClass;
var beforeEnter = data.beforeEnter;
var enter = data.enter;
var afterEnter = data.afterEnter;
var enterCancelled = data.enterCancelled;
var beforeAppear = data.beforeAppear;
var appear = data.appear;
var afterAppear = data.afterAppear;
var appearCancelled = data.appearCancelled;
var duration = data.duration;
// activeInstance will always be the <transition> component managing this
// transition. One edge case to check is when the <transition> is placed
@ -6786,18 +6791,17 @@ function leave (vnode, rm) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var leaveClass = ref.leaveClass;
var leaveToClass = ref.leaveToClass;
var leaveActiveClass = ref.leaveActiveClass;
var beforeLeave = ref.beforeLeave;
var leave = ref.leave;
var afterLeave = ref.afterLeave;
var leaveCancelled = ref.leaveCancelled;
var delayLeave = ref.delayLeave;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var leaveClass = data.leaveClass;
var leaveToClass = data.leaveToClass;
var leaveActiveClass = data.leaveActiveClass;
var beforeLeave = data.beforeLeave;
var leave = data.leave;
var afterLeave = data.afterLeave;
var leaveCancelled = data.leaveCancelled;
var delayLeave = data.delayLeave;
var duration = data.duration;
var expectsCSS = css !== false && !isIE9;
var userWantsControl = getHookArgumentsLength(leave);
@ -6808,7 +6812,7 @@ function leave (vnode, rm) {
: duration
);
if (process.env.NODE_ENV !== 'production' && explicitLeaveDuration != null) {
if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {
checkDuration(explicitLeaveDuration, 'leave', vnode);
}
@ -6845,7 +6849,7 @@ function leave (vnode, rm) {
}
// record leaving element
if (!vnode.data.show) {
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode;
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
}
beforeLeave && beforeLeave(el);
if (expectsCSS) {

96
dist/vue.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Vue.js v2.3.0
* Vue.js v2.3.1
* (c) 2014-2017 Evan You
* Released under the MIT License.
*/
@ -41,24 +41,24 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
function isRegExp (v) {
return toString.call(v) === '[object RegExp]'
return _toString.call(v) === '[object RegExp]'
}
/**
* Convert a value to a string that is actually rendered.
*/
function _toString (val) {
function toString (val) {
return val == null
? ''
: typeof val === 'object'
@ -419,9 +419,11 @@ function parsePath (path) {
}
}
/* */
var warn = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
{
var hasConsole = typeof console !== 'undefined';
@ -510,6 +512,8 @@ var formatComponentName;
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -1522,6 +1526,8 @@ function isType (type, fn) {
return false
}
/* */
var mark;
var measure;
@ -1918,7 +1924,7 @@ function normalizeArrayChildren (children, nestedIndex) {
res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
} else if (isPrimitive(c)) {
if (isDef(last) && isDef(last.text)) {
(last).text += String(c);
last.text += String(c);
} else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
@ -1929,7 +1935,7 @@ function normalizeArrayChildren (children, nestedIndex) {
} else {
// default key for nested array children (likely generated by v-for)
if (isDef(c.tag) && isUndef(c.key) && isDef(nestedIndex)) {
c.key = "__vlist" + ((nestedIndex)) + "_" + i + "__";
c.key = "__vlist" + nestedIndex + "_" + i + "__";
}
res.push(c);
}
@ -3271,7 +3277,7 @@ function createFunctionalComponent (
var propOptions = Ctor.options.props;
if (isDef(propOptions)) {
for (var key in propOptions) {
props[key] = validateProp(key, propOptions, propsData);
props[key] = validateProp(key, propOptions, propsData || {});
}
} else {
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
@ -3600,7 +3606,7 @@ function _createElement (
// direct component options / constructor
vnode = createComponent(tag, data, context, children);
}
if (vnode !== undefined) {
if (isDef(vnode)) {
if (ns) { applyNS(vnode, ns); }
return vnode
} else {
@ -3614,7 +3620,7 @@ function applyNS (vnode, ns) {
// use default namespace inside foreignObject
return
}
if (Array.isArray(vnode.children)) {
if (isDef(vnode.children)) {
for (var i = 0, l = vnode.children.length; i < l; i++) {
var child = vnode.children[i];
if (isDef(child.tag) && isUndef(child.ns)) {
@ -3896,7 +3902,7 @@ function renderMixin (Vue) {
// code size.
Vue.prototype._o = markOnce;
Vue.prototype._n = toNumber;
Vue.prototype._s = _toString;
Vue.prototype._s = toString;
Vue.prototype._l = renderList;
Vue.prototype._t = renderSlot;
Vue.prototype._q = looseEqual;
@ -4376,7 +4382,7 @@ Object.defineProperty(Vue$3.prototype, '$isServer', {
get: isServerRendering
});
Vue$3.version = '2.3.0';
Vue$3.version = '2.3.1';
/* */
@ -6179,7 +6185,7 @@ function updateDOMProps (oldVnode, vnode) {
// non-string values will be stringified
elm._value = cur;
// avoid resetting cursor position when value is the same
var strCur = cur == null ? '' : String(cur);
var strCur = isUndef(cur) ? '' : String(cur);
if (shouldUpdateValue(elm, vnode, strCur)) {
elm.value = strCur;
}
@ -6631,24 +6637,23 @@ function enter (vnode, toggleDisplay) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var enterClass = ref.enterClass;
var enterToClass = ref.enterToClass;
var enterActiveClass = ref.enterActiveClass;
var appearClass = ref.appearClass;
var appearToClass = ref.appearToClass;
var appearActiveClass = ref.appearActiveClass;
var beforeEnter = ref.beforeEnter;
var enter = ref.enter;
var afterEnter = ref.afterEnter;
var enterCancelled = ref.enterCancelled;
var beforeAppear = ref.beforeAppear;
var appear = ref.appear;
var afterAppear = ref.afterAppear;
var appearCancelled = ref.appearCancelled;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var enterClass = data.enterClass;
var enterToClass = data.enterToClass;
var enterActiveClass = data.enterActiveClass;
var appearClass = data.appearClass;
var appearToClass = data.appearToClass;
var appearActiveClass = data.appearActiveClass;
var beforeEnter = data.beforeEnter;
var enter = data.enter;
var afterEnter = data.afterEnter;
var enterCancelled = data.enterCancelled;
var beforeAppear = data.beforeAppear;
var appear = data.appear;
var afterAppear = data.afterAppear;
var appearCancelled = data.appearCancelled;
var duration = data.duration;
// activeInstance will always be the <transition> component managing this
// transition. One edge case to check is when the <transition> is placed
@ -6780,18 +6785,17 @@ function leave (vnode, rm) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var leaveClass = ref.leaveClass;
var leaveToClass = ref.leaveToClass;
var leaveActiveClass = ref.leaveActiveClass;
var beforeLeave = ref.beforeLeave;
var leave = ref.leave;
var afterLeave = ref.afterLeave;
var leaveCancelled = ref.leaveCancelled;
var delayLeave = ref.delayLeave;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var leaveClass = data.leaveClass;
var leaveToClass = data.leaveToClass;
var leaveActiveClass = data.leaveActiveClass;
var beforeLeave = data.beforeLeave;
var leave = data.leave;
var afterLeave = data.afterLeave;
var leaveCancelled = data.leaveCancelled;
var delayLeave = data.delayLeave;
var duration = data.duration;
var expectsCSS = css !== false && !isIE9;
var userWantsControl = getHookArgumentsLength(leave);
@ -6802,7 +6806,7 @@ function leave (vnode, rm) {
: duration
);
if ("development" !== 'production' && explicitLeaveDuration != null) {
if ("development" !== 'production' && isDef(explicitLeaveDuration)) {
checkDuration(explicitLeaveDuration, 'leave', vnode);
}
@ -6839,7 +6843,7 @@ function leave (vnode, rm) {
}
// record leaving element
if (!vnode.data.show) {
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode;
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
}
beforeLeave && beforeLeave(el);
if (expectsCSS) {

6
dist/vue.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* Vue.js v2.3.0
* Vue.js v2.3.1
* (c) 2014-2017 Evan You
* Released under the MIT License.
*/
@ -37,24 +37,24 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
function isRegExp (v) {
return toString.call(v) === '[object RegExp]'
return _toString.call(v) === '[object RegExp]'
}
/**
* Convert a value to a string that is actually rendered.
*/
function _toString (val) {
function toString (val) {
return val == null
? ''
: typeof val === 'object'
@ -411,9 +411,11 @@ function parsePath (path) {
}
}
/* */
var warn = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
if (process.env.NODE_ENV !== 'production') {
var hasConsole = typeof console !== 'undefined';
@ -502,6 +504,8 @@ if (process.env.NODE_ENV !== 'production') {
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -1514,6 +1518,8 @@ function isType (type, fn) {
return false
}
/* */
/* not type checking this file because flow doesn't play well with Proxy */
var initProxy;
@ -1910,7 +1916,7 @@ function normalizeArrayChildren (children, nestedIndex) {
res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
} else if (isPrimitive(c)) {
if (isDef(last) && isDef(last.text)) {
(last).text += String(c);
last.text += String(c);
} else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
@ -1921,7 +1927,7 @@ function normalizeArrayChildren (children, nestedIndex) {
} else {
// default key for nested array children (likely generated by v-for)
if (isDef(c.tag) && isUndef(c.key) && isDef(nestedIndex)) {
c.key = "__vlist" + ((nestedIndex)) + "_" + i + "__";
c.key = "__vlist" + nestedIndex + "_" + i + "__";
}
res.push(c);
}
@ -3271,7 +3277,7 @@ function createFunctionalComponent (
var propOptions = Ctor.options.props;
if (isDef(propOptions)) {
for (var key in propOptions) {
props[key] = validateProp(key, propOptions, propsData);
props[key] = validateProp(key, propOptions, propsData || {});
}
} else {
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
@ -3600,7 +3606,7 @@ function _createElement (
// direct component options / constructor
vnode = createComponent(tag, data, context, children);
}
if (vnode !== undefined) {
if (isDef(vnode)) {
if (ns) { applyNS(vnode, ns); }
return vnode
} else {
@ -3614,7 +3620,7 @@ function applyNS (vnode, ns) {
// use default namespace inside foreignObject
return
}
if (Array.isArray(vnode.children)) {
if (isDef(vnode.children)) {
for (var i = 0, l = vnode.children.length; i < l; i++) {
var child = vnode.children[i];
if (isDef(child.tag) && isUndef(child.ns)) {
@ -3898,7 +3904,7 @@ function renderMixin (Vue) {
// code size.
Vue.prototype._o = markOnce;
Vue.prototype._n = toNumber;
Vue.prototype._s = _toString;
Vue.prototype._s = toString;
Vue.prototype._l = renderList;
Vue.prototype._t = renderSlot;
Vue.prototype._q = looseEqual;
@ -4380,7 +4386,7 @@ Object.defineProperty(Vue$3.prototype, '$isServer', {
get: isServerRendering
});
Vue$3.version = '2.3.0';
Vue$3.version = '2.3.1';
/* */
@ -5722,7 +5728,7 @@ function updateDOMProps (oldVnode, vnode) {
// non-string values will be stringified
elm._value = cur;
// avoid resetting cursor position when value is the same
var strCur = cur == null ? '' : String(cur);
var strCur = isUndef(cur) ? '' : String(cur);
if (shouldUpdateValue(elm, vnode, strCur)) {
elm.value = strCur;
}
@ -6174,24 +6180,23 @@ function enter (vnode, toggleDisplay) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var enterClass = ref.enterClass;
var enterToClass = ref.enterToClass;
var enterActiveClass = ref.enterActiveClass;
var appearClass = ref.appearClass;
var appearToClass = ref.appearToClass;
var appearActiveClass = ref.appearActiveClass;
var beforeEnter = ref.beforeEnter;
var enter = ref.enter;
var afterEnter = ref.afterEnter;
var enterCancelled = ref.enterCancelled;
var beforeAppear = ref.beforeAppear;
var appear = ref.appear;
var afterAppear = ref.afterAppear;
var appearCancelled = ref.appearCancelled;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var enterClass = data.enterClass;
var enterToClass = data.enterToClass;
var enterActiveClass = data.enterActiveClass;
var appearClass = data.appearClass;
var appearToClass = data.appearToClass;
var appearActiveClass = data.appearActiveClass;
var beforeEnter = data.beforeEnter;
var enter = data.enter;
var afterEnter = data.afterEnter;
var enterCancelled = data.enterCancelled;
var beforeAppear = data.beforeAppear;
var appear = data.appear;
var afterAppear = data.afterAppear;
var appearCancelled = data.appearCancelled;
var duration = data.duration;
// activeInstance will always be the <transition> component managing this
// transition. One edge case to check is when the <transition> is placed
@ -6323,18 +6328,17 @@ function leave (vnode, rm) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var leaveClass = ref.leaveClass;
var leaveToClass = ref.leaveToClass;
var leaveActiveClass = ref.leaveActiveClass;
var beforeLeave = ref.beforeLeave;
var leave = ref.leave;
var afterLeave = ref.afterLeave;
var leaveCancelled = ref.leaveCancelled;
var delayLeave = ref.delayLeave;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var leaveClass = data.leaveClass;
var leaveToClass = data.leaveToClass;
var leaveActiveClass = data.leaveActiveClass;
var beforeLeave = data.beforeLeave;
var leave = data.leave;
var afterLeave = data.afterLeave;
var leaveCancelled = data.leaveCancelled;
var delayLeave = data.delayLeave;
var duration = data.duration;
var expectsCSS = css !== false && !isIE9;
var userWantsControl = getHookArgumentsLength(leave);
@ -6345,7 +6349,7 @@ function leave (vnode, rm) {
: duration
);
if (process.env.NODE_ENV !== 'production' && explicitLeaveDuration != null) {
if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {
checkDuration(explicitLeaveDuration, 'leave', vnode);
}
@ -6382,7 +6386,7 @@ function leave (vnode, rm) {
}
// record leaving element
if (!vnode.data.show) {
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode;
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
}
beforeLeave && beforeLeave(el);
if (expectsCSS) {

View File

@ -1,5 +1,5 @@
/*!
* Vue.js v2.3.0
* Vue.js v2.3.1
* (c) 2014-2017 Evan You
* Released under the MIT License.
*/
@ -35,24 +35,24 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
function isRegExp (v) {
return toString.call(v) === '[object RegExp]'
return _toString.call(v) === '[object RegExp]'
}
/**
* Convert a value to a string that is actually rendered.
*/
function _toString (val) {
function toString (val) {
return val == null
? ''
: typeof val === 'object'
@ -409,9 +409,11 @@ function parsePath (path) {
}
}
/* */
var warn = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
if (process.env.NODE_ENV !== 'production') {
var hasConsole = typeof console !== 'undefined';
@ -500,6 +502,8 @@ if (process.env.NODE_ENV !== 'production') {
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -1512,6 +1516,8 @@ function isType (type, fn) {
return false
}
/* */
/* not type checking this file because flow doesn't play well with Proxy */
var initProxy;
@ -1908,7 +1914,7 @@ function normalizeArrayChildren (children, nestedIndex) {
res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
} else if (isPrimitive(c)) {
if (isDef(last) && isDef(last.text)) {
(last).text += String(c);
last.text += String(c);
} else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
@ -1919,7 +1925,7 @@ function normalizeArrayChildren (children, nestedIndex) {
} else {
// default key for nested array children (likely generated by v-for)
if (isDef(c.tag) && isUndef(c.key) && isDef(nestedIndex)) {
c.key = "__vlist" + ((nestedIndex)) + "_" + i + "__";
c.key = "__vlist" + nestedIndex + "_" + i + "__";
}
res.push(c);
}
@ -3269,7 +3275,7 @@ function createFunctionalComponent (
var propOptions = Ctor.options.props;
if (isDef(propOptions)) {
for (var key in propOptions) {
props[key] = validateProp(key, propOptions, propsData);
props[key] = validateProp(key, propOptions, propsData || {});
}
} else {
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
@ -3598,7 +3604,7 @@ function _createElement (
// direct component options / constructor
vnode = createComponent(tag, data, context, children);
}
if (vnode !== undefined) {
if (isDef(vnode)) {
if (ns) { applyNS(vnode, ns); }
return vnode
} else {
@ -3612,7 +3618,7 @@ function applyNS (vnode, ns) {
// use default namespace inside foreignObject
return
}
if (Array.isArray(vnode.children)) {
if (isDef(vnode.children)) {
for (var i = 0, l = vnode.children.length; i < l; i++) {
var child = vnode.children[i];
if (isDef(child.tag) && isUndef(child.ns)) {
@ -3896,7 +3902,7 @@ function renderMixin (Vue) {
// code size.
Vue.prototype._o = markOnce;
Vue.prototype._n = toNumber;
Vue.prototype._s = _toString;
Vue.prototype._s = toString;
Vue.prototype._l = renderList;
Vue.prototype._t = renderSlot;
Vue.prototype._q = looseEqual;
@ -4378,7 +4384,7 @@ Object.defineProperty(Vue$3.prototype, '$isServer', {
get: isServerRendering
});
Vue$3.version = '2.3.0';
Vue$3.version = '2.3.1';
/* */
@ -5720,7 +5726,7 @@ function updateDOMProps (oldVnode, vnode) {
// non-string values will be stringified
elm._value = cur;
// avoid resetting cursor position when value is the same
var strCur = cur == null ? '' : String(cur);
var strCur = isUndef(cur) ? '' : String(cur);
if (shouldUpdateValue(elm, vnode, strCur)) {
elm.value = strCur;
}
@ -6172,24 +6178,23 @@ function enter (vnode, toggleDisplay) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var enterClass = ref.enterClass;
var enterToClass = ref.enterToClass;
var enterActiveClass = ref.enterActiveClass;
var appearClass = ref.appearClass;
var appearToClass = ref.appearToClass;
var appearActiveClass = ref.appearActiveClass;
var beforeEnter = ref.beforeEnter;
var enter = ref.enter;
var afterEnter = ref.afterEnter;
var enterCancelled = ref.enterCancelled;
var beforeAppear = ref.beforeAppear;
var appear = ref.appear;
var afterAppear = ref.afterAppear;
var appearCancelled = ref.appearCancelled;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var enterClass = data.enterClass;
var enterToClass = data.enterToClass;
var enterActiveClass = data.enterActiveClass;
var appearClass = data.appearClass;
var appearToClass = data.appearToClass;
var appearActiveClass = data.appearActiveClass;
var beforeEnter = data.beforeEnter;
var enter = data.enter;
var afterEnter = data.afterEnter;
var enterCancelled = data.enterCancelled;
var beforeAppear = data.beforeAppear;
var appear = data.appear;
var afterAppear = data.afterAppear;
var appearCancelled = data.appearCancelled;
var duration = data.duration;
// activeInstance will always be the <transition> component managing this
// transition. One edge case to check is when the <transition> is placed
@ -6321,18 +6326,17 @@ function leave (vnode, rm) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var leaveClass = ref.leaveClass;
var leaveToClass = ref.leaveToClass;
var leaveActiveClass = ref.leaveActiveClass;
var beforeLeave = ref.beforeLeave;
var leave = ref.leave;
var afterLeave = ref.afterLeave;
var leaveCancelled = ref.leaveCancelled;
var delayLeave = ref.delayLeave;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var leaveClass = data.leaveClass;
var leaveToClass = data.leaveToClass;
var leaveActiveClass = data.leaveActiveClass;
var beforeLeave = data.beforeLeave;
var leave = data.leave;
var afterLeave = data.afterLeave;
var leaveCancelled = data.leaveCancelled;
var delayLeave = data.delayLeave;
var duration = data.duration;
var expectsCSS = css !== false && !isIE9;
var userWantsControl = getHookArgumentsLength(leave);
@ -6343,7 +6347,7 @@ function leave (vnode, rm) {
: duration
);
if (process.env.NODE_ENV !== 'production' && explicitLeaveDuration != null) {
if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {
checkDuration(explicitLeaveDuration, 'leave', vnode);
}
@ -6380,7 +6384,7 @@ function leave (vnode, rm) {
}
// record leaving element
if (!vnode.data.show) {
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode;
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
}
beforeLeave && beforeLeave(el);
if (expectsCSS) {

96
dist/vue.runtime.js vendored
View File

@ -1,5 +1,5 @@
/*!
* Vue.js v2.3.0
* Vue.js v2.3.1
* (c) 2014-2017 Evan You
* Released under the MIT License.
*/
@ -41,24 +41,24 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
function isRegExp (v) {
return toString.call(v) === '[object RegExp]'
return _toString.call(v) === '[object RegExp]'
}
/**
* Convert a value to a string that is actually rendered.
*/
function _toString (val) {
function toString (val) {
return val == null
? ''
: typeof val === 'object'
@ -415,9 +415,11 @@ function parsePath (path) {
}
}
/* */
var warn = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
{
var hasConsole = typeof console !== 'undefined';
@ -506,6 +508,8 @@ var formatComponentName;
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -1518,6 +1522,8 @@ function isType (type, fn) {
return false
}
/* */
/* not type checking this file because flow doesn't play well with Proxy */
var initProxy;
@ -1914,7 +1920,7 @@ function normalizeArrayChildren (children, nestedIndex) {
res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
} else if (isPrimitive(c)) {
if (isDef(last) && isDef(last.text)) {
(last).text += String(c);
last.text += String(c);
} else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
@ -1925,7 +1931,7 @@ function normalizeArrayChildren (children, nestedIndex) {
} else {
// default key for nested array children (likely generated by v-for)
if (isDef(c.tag) && isUndef(c.key) && isDef(nestedIndex)) {
c.key = "__vlist" + ((nestedIndex)) + "_" + i + "__";
c.key = "__vlist" + nestedIndex + "_" + i + "__";
}
res.push(c);
}
@ -3267,7 +3273,7 @@ function createFunctionalComponent (
var propOptions = Ctor.options.props;
if (isDef(propOptions)) {
for (var key in propOptions) {
props[key] = validateProp(key, propOptions, propsData);
props[key] = validateProp(key, propOptions, propsData || {});
}
} else {
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
@ -3596,7 +3602,7 @@ function _createElement (
// direct component options / constructor
vnode = createComponent(tag, data, context, children);
}
if (vnode !== undefined) {
if (isDef(vnode)) {
if (ns) { applyNS(vnode, ns); }
return vnode
} else {
@ -3610,7 +3616,7 @@ function applyNS (vnode, ns) {
// use default namespace inside foreignObject
return
}
if (Array.isArray(vnode.children)) {
if (isDef(vnode.children)) {
for (var i = 0, l = vnode.children.length; i < l; i++) {
var child = vnode.children[i];
if (isDef(child.tag) && isUndef(child.ns)) {
@ -3892,7 +3898,7 @@ function renderMixin (Vue) {
// code size.
Vue.prototype._o = markOnce;
Vue.prototype._n = toNumber;
Vue.prototype._s = _toString;
Vue.prototype._s = toString;
Vue.prototype._l = renderList;
Vue.prototype._t = renderSlot;
Vue.prototype._q = looseEqual;
@ -4372,7 +4378,7 @@ Object.defineProperty(Vue$3.prototype, '$isServer', {
get: isServerRendering
});
Vue$3.version = '2.3.0';
Vue$3.version = '2.3.1';
/* */
@ -5714,7 +5720,7 @@ function updateDOMProps (oldVnode, vnode) {
// non-string values will be stringified
elm._value = cur;
// avoid resetting cursor position when value is the same
var strCur = cur == null ? '' : String(cur);
var strCur = isUndef(cur) ? '' : String(cur);
if (shouldUpdateValue(elm, vnode, strCur)) {
elm.value = strCur;
}
@ -6166,24 +6172,23 @@ function enter (vnode, toggleDisplay) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var enterClass = ref.enterClass;
var enterToClass = ref.enterToClass;
var enterActiveClass = ref.enterActiveClass;
var appearClass = ref.appearClass;
var appearToClass = ref.appearToClass;
var appearActiveClass = ref.appearActiveClass;
var beforeEnter = ref.beforeEnter;
var enter = ref.enter;
var afterEnter = ref.afterEnter;
var enterCancelled = ref.enterCancelled;
var beforeAppear = ref.beforeAppear;
var appear = ref.appear;
var afterAppear = ref.afterAppear;
var appearCancelled = ref.appearCancelled;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var enterClass = data.enterClass;
var enterToClass = data.enterToClass;
var enterActiveClass = data.enterActiveClass;
var appearClass = data.appearClass;
var appearToClass = data.appearToClass;
var appearActiveClass = data.appearActiveClass;
var beforeEnter = data.beforeEnter;
var enter = data.enter;
var afterEnter = data.afterEnter;
var enterCancelled = data.enterCancelled;
var beforeAppear = data.beforeAppear;
var appear = data.appear;
var afterAppear = data.afterAppear;
var appearCancelled = data.appearCancelled;
var duration = data.duration;
// activeInstance will always be the <transition> component managing this
// transition. One edge case to check is when the <transition> is placed
@ -6315,18 +6320,17 @@ function leave (vnode, rm) {
return
}
var ref = (data);
var css = ref.css;
var type = ref.type;
var leaveClass = ref.leaveClass;
var leaveToClass = ref.leaveToClass;
var leaveActiveClass = ref.leaveActiveClass;
var beforeLeave = ref.beforeLeave;
var leave = ref.leave;
var afterLeave = ref.afterLeave;
var leaveCancelled = ref.leaveCancelled;
var delayLeave = ref.delayLeave;
var duration = ref.duration;
var css = data.css;
var type = data.type;
var leaveClass = data.leaveClass;
var leaveToClass = data.leaveToClass;
var leaveActiveClass = data.leaveActiveClass;
var beforeLeave = data.beforeLeave;
var leave = data.leave;
var afterLeave = data.afterLeave;
var leaveCancelled = data.leaveCancelled;
var delayLeave = data.delayLeave;
var duration = data.duration;
var expectsCSS = css !== false && !isIE9;
var userWantsControl = getHookArgumentsLength(leave);
@ -6337,7 +6341,7 @@ function leave (vnode, rm) {
: duration
);
if ("development" !== 'production' && explicitLeaveDuration != null) {
if ("development" !== 'production' && isDef(explicitLeaveDuration)) {
checkDuration(explicitLeaveDuration, 'leave', vnode);
}
@ -6374,7 +6378,7 @@ function leave (vnode, rm) {
}
// record leaving element
if (!vnode.data.show) {
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode;
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
}
beforeLeave && beforeLeave(el);
if (expectsCSS) {

File diff suppressed because one or more lines are too long

View File

@ -34,14 +34,14 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
@ -554,9 +554,11 @@ var config = ({
_lifecycleHooks: LIFECYCLE_HOOKS
});
/* */
var warn = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
if (process.env.NODE_ENV !== 'production') {
var hasConsole = typeof console !== 'undefined';
@ -645,6 +647,8 @@ if (process.env.NODE_ENV !== 'production') {
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -1349,6 +1353,8 @@ var defaultStrat = function (parentVal, childVal) {
/* */
/* */
function genClassForVnode (vnode) {
var data = vnode.data;
var parentNode = vnode;
@ -5434,9 +5440,9 @@ function renderComponent (node, isRoot, context) {
var has = context.has;
var get = context.get;
if (isDef(has)) {
(has)(key, function (hit) {
has(key, function (hit) {
if (hit === true && isDef(get)) {
(get)(key, function (res) {
get(key, function (res) {
if (isDef(registerComponent)) {
registerComponent(userContext);
}
@ -5448,7 +5454,7 @@ function renderComponent (node, isRoot, context) {
}
});
} else if (isDef(get)) {
(get)(key, function (res) {
get(key, function (res) {
if (isDef(res)) {
if (isDef(registerComponent)) {
registerComponent(userContext);
@ -5721,7 +5727,7 @@ var path$2 = require('path');
var resolve = require('resolve');
var NativeModule = require('module');
function createContext (context) {
function createSandbox (context) {
var sandbox = {
Buffer: Buffer,
console: console,
@ -5738,7 +5744,7 @@ function createContext (context) {
return sandbox
}
function compileModule (files, basedir) {
function compileModule (files, basedir, runInNewContext) {
var compiledScripts = {};
var resolvedModules = {};
@ -5756,7 +5762,7 @@ function compileModule (files, basedir) {
return script
}
function evaluateModule (filename, context, evaluatedFiles) {
function evaluateModule (filename, sandbox, evaluatedFiles) {
if ( evaluatedFiles === void 0 ) evaluatedFiles = {};
if (evaluatedFiles[filename]) {
@ -5764,12 +5770,14 @@ function compileModule (files, basedir) {
}
var script = getCompiledScript(filename);
var compiledWrapper = script.runInNewContext(context);
var compiledWrapper = runInNewContext === false
? script.runInThisContext()
: script.runInNewContext(sandbox);
var m = { exports: {}};
var r = function (file) {
file = path$2.join('.', file);
if (files[file]) {
return evaluateModule(file, context, evaluatedFiles)
return evaluateModule(file, sandbox, evaluatedFiles)
} else if (basedir) {
return require(
resolvedModules[file] ||
@ -5805,8 +5813,8 @@ function deepClone (val) {
}
function createBundleRunner (entry, files, basedir, runInNewContext) {
var evaluate = compileModule(files, basedir);
if (runInNewContext) {
var evaluate = compileModule(files, basedir, runInNewContext);
if (runInNewContext !== false && runInNewContext !== 'once') {
// new context mode: creates a fresh context and re-evaluate the bundle
// on each render. Ensures entire application state is fresh for each
// render, but incurs extra evaluation cost.
@ -5815,7 +5823,7 @@ function createBundleRunner (entry, files, basedir, runInNewContext) {
return new Promise(function (resolve) {
userContext._registeredComponents = new Set();
var res = evaluate(entry, createContext(userContext));
var res = evaluate(entry, createSandbox(userContext));
resolve(typeof res === 'function' ? res(userContext) : res);
});
}
@ -5824,22 +5832,23 @@ function createBundleRunner (entry, files, basedir, runInNewContext) {
// each render, it simply calls the exported function. This avoids the
// module evaluation costs but requires the source code to be structured
// slightly differently.
// the initial context is only used for collecting possible non-component
// styles injected by vue-style-loader.
var initialContext = {};
var sharedContext = createContext(initialContext);
var runner; // lazy creation so that errors can be caught by user
var initialContext;
return function (userContext) {
if ( userContext === void 0 ) userContext = {};
return new Promise(function (resolve) {
if (!runner) {
runner = evaluate(entry, sharedContext);
var sandbox = runInNewContext === 'once'
? createSandbox()
: global;
// the initial context is only used for collecting possible non-component
// styles injected by vue-style-loader.
initialContext = sandbox.__VUE_SSR_CONTEXT__ = {};
runner = evaluate(entry, sandbox);
// On subsequent renders, __VUE_SSR_CONTEXT__ will not be avaialbe
// to prevent cross-request pollution.
delete sharedContext.__VUE_SSR_CONTEXT__;
delete sandbox.__VUE_SSR_CONTEXT__;
if (typeof runner !== 'function') {
throw new Error(
'bundle export should be a function when using ' +
@ -5926,7 +5935,6 @@ function createBundleRendererCreator (createRenderer) {
var files, entry, maps;
var basedir = rendererOptions.basedir;
var runInNewContext = rendererOptions.runInNewContext !== false;
// load bundle if given filepath
if (
@ -5968,7 +5976,12 @@ function createBundleRendererCreator (createRenderer) {
var renderer = createRenderer(rendererOptions);
var run = createBundleRunner(entry, files, basedir, runInNewContext);
var run = createBundleRunner(
entry,
files,
basedir,
rendererOptions.runInNewContext
);
return {
renderToString: function (context, cb) {

View File

@ -13,6 +13,7 @@ var warn = exports.warn = function (msg) { return console.error(red((prefix + "
var tip = exports.tip = function (msg) { return console.log(yellow((prefix + " " + msg + "\n"))); };
var hash = require('hash-sum');
var uniq = require('lodash.uniq');
var VueSSRClientPlugin = function VueSSRClientPlugin (options) {
if ( options === void 0 ) options = {};
@ -27,13 +28,13 @@ VueSSRClientPlugin.prototype.apply = function apply (compiler) {
compiler.plugin('emit', function (compilation, cb) {
var stats = compilation.getStats().toJson();
var allFiles = stats.assets
.map(function (a) { return a.name; });
var allFiles = uniq(stats.assets
.map(function (a) { return a.name; }));
var initialFiles = Object.keys(stats.entrypoints)
var initialFiles = uniq(Object.keys(stats.entrypoints)
.map(function (name) { return stats.entrypoints[name].assets; })
.reduce(function (assets, all) { return all.concat(assets); }, [])
.filter(isJS);
.filter(isJS));
var asyncFiles = allFiles
.filter(isJS)
@ -54,6 +55,9 @@ VueSSRClientPlugin.prototype.apply = function apply (compiler) {
if (m.chunks.length === 1) {
var cid = m.chunks[0];
var chunk = stats.chunks.find(function (c) { return c.id === cid; });
if (!chunk || !chunk.files) {
return
}
var files = manifest.modules[hash(m.identifier)] = chunk.files.map(fileToIndex);
// find all asset modules associated with the same chunk
assetModules.forEach(function (m) {

View File

@ -1,6 +1,6 @@
{
"name": "vue-server-renderer",
"version": "2.3.0",
"version": "2.3.1",
"description": "server renderer for Vue 2.0",
"main": "index.js",
"repository": {

View File

@ -45,7 +45,14 @@ VueSSRServerPlugin.prototype.apply = function apply (compiler) {
compiler.plugin('emit', function (compilation, cb) {
var stats = compilation.getStats().toJson();
var entryName = Object.keys(stats.entrypoints)[0];
var entryAssets = stats.entrypoints[entryName].assets.filter(isJS);
var entryInfo = stats.entrypoints[entryName];
if (!entryInfo) {
// #5553
return cb()
}
var entryAssets = entryInfo.assets.filter(isJS);
if (entryAssets.length > 1) {
throw new Error(

View File

@ -31,14 +31,14 @@ function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
var toString = Object.prototype.toString;
var _toString = Object.prototype.toString;
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
function isPlainObject (obj) {
return toString.call(obj) === '[object Object]'
return _toString.call(obj) === '[object Object]'
}
@ -1009,9 +1009,11 @@ var config = ({
_lifecycleHooks: LIFECYCLE_HOOKS
});
/* */
var warn$1 = noop;
var tip = noop;
var formatComponentName;
var formatComponentName = (null); // work around flow check
if (process.env.NODE_ENV !== 'production') {
var hasConsole = typeof console !== 'undefined';
@ -1100,6 +1102,8 @@ if (process.env.NODE_ENV !== 'production') {
};
}
/* */
function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info);
@ -3688,6 +3692,8 @@ var defaultStrat = function (parentVal, childVal) {
/* */
/* */
// these are reserved for web because they are directly compiled away
// during template compilation
var isReservedAttr = makeMap('style,class');

View File

@ -1,6 +1,6 @@
{
"name": "vue-template-compiler",
"version": "2.3.0",
"version": "2.3.1",
"description": "template compiler for Vue 2.0",
"main": "index.js",
"repository": {