vue 2.6.7 → 2.6.8
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 +1 -1
- package/dist/vue.common.dev.js +21 -16
- package/dist/vue.common.prod.js +2 -2
- package/dist/vue.esm.browser.js +21 -16
- package/dist/vue.esm.browser.min.js +2 -2
- package/dist/vue.esm.js +21 -16
- package/dist/vue.js +21 -16
- package/dist/vue.min.js +2 -2
- package/dist/vue.runtime.common.dev.js +15 -11
- package/dist/vue.runtime.common.prod.js +2 -2
- package/dist/vue.runtime.esm.js +15 -11
- package/dist/vue.runtime.js +15 -11
- package/dist/vue.runtime.min.js +2 -2
- package/package.json +1 -1
- package/src/compiler/codegen/index.js +1 -1
- package/src/compiler/parser/html-parser.js +3 -3
- package/src/compiler/parser/index.js +3 -2
- package/src/core/util/lang.js +2 -2
- package/src/core/util/options.js +2 -2
- package/src/core/vdom/helpers/resolve-async-component.js +11 -6
- package/src/server/write.js +1 -1
- package/types/vnode.d.ts +5 -1
- package/types/vue.d.ts +3 -3
package/dist/vue.esm.browser.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vue.js v2.6.
|
|
2
|
+
* Vue.js v2.6.8
|
|
3
3
|
* (c) 2014-2019 Evan You
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -475,7 +475,7 @@ var config = ({
|
|
|
475
475
|
* using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname
|
|
476
476
|
* skipping \u10000-\uEFFFF due to it freezing up PhantomJS
|
|
477
477
|
*/
|
|
478
|
-
const
|
|
478
|
+
const unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
|
|
479
479
|
|
|
480
480
|
/**
|
|
481
481
|
* Check if a string starts with $ or _
|
|
@@ -500,7 +500,7 @@ function def (obj, key, val, enumerable) {
|
|
|
500
500
|
/**
|
|
501
501
|
* Parse simple path.
|
|
502
502
|
*/
|
|
503
|
-
const bailRE = new RegExp(`[^${
|
|
503
|
+
const bailRE = new RegExp(`[^${unicodeRegExp.source}.$_\\d]`);
|
|
504
504
|
function parsePath (path) {
|
|
505
505
|
if (bailRE.test(path)) {
|
|
506
506
|
return
|
|
@@ -1440,7 +1440,7 @@ function checkComponents (options) {
|
|
|
1440
1440
|
}
|
|
1441
1441
|
|
|
1442
1442
|
function validateComponentName (name) {
|
|
1443
|
-
if (!new RegExp(`^[a-zA-Z][\\-\\.0-9_${
|
|
1443
|
+
if (!new RegExp(`^[a-zA-Z][\\-\\.0-9_${unicodeRegExp.source}]*$`).test(name)) {
|
|
1444
1444
|
warn(
|
|
1445
1445
|
'Invalid component name: "' + name + '". Component names ' +
|
|
1446
1446
|
'should conform to valid custom element name in html5 specification.'
|
|
@@ -3631,17 +3631,21 @@ function resolveAsyncComponent (
|
|
|
3631
3631
|
return factory.resolved
|
|
3632
3632
|
}
|
|
3633
3633
|
|
|
3634
|
+
const owner = currentRenderingInstance;
|
|
3635
|
+
if (isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
|
|
3636
|
+
// already pending
|
|
3637
|
+
factory.owners.push(owner);
|
|
3638
|
+
}
|
|
3639
|
+
|
|
3634
3640
|
if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
|
|
3635
3641
|
return factory.loadingComp
|
|
3636
3642
|
}
|
|
3637
3643
|
|
|
3638
|
-
|
|
3639
|
-
if (isDef(factory.owners)) {
|
|
3640
|
-
// already pending
|
|
3641
|
-
factory.owners.push(owner);
|
|
3642
|
-
} else {
|
|
3644
|
+
if (!isDef(factory.owners)) {
|
|
3643
3645
|
const owners = factory.owners = [owner];
|
|
3644
|
-
let sync = true
|
|
3646
|
+
let sync = true
|
|
3647
|
+
|
|
3648
|
+
;(owner).$on('hook:destroyed', () => remove(owners, owner));
|
|
3645
3649
|
|
|
3646
3650
|
const forceRender = (renderCompleted) => {
|
|
3647
3651
|
for (let i = 0, l = owners.length; i < l; i++) {
|
|
@@ -5431,7 +5435,7 @@ Object.defineProperty(Vue, 'FunctionalRenderContext', {
|
|
|
5431
5435
|
value: FunctionalRenderContext
|
|
5432
5436
|
});
|
|
5433
5437
|
|
|
5434
|
-
Vue.version = '2.6.
|
|
5438
|
+
Vue.version = '2.6.8';
|
|
5435
5439
|
|
|
5436
5440
|
/* */
|
|
5437
5441
|
|
|
@@ -9219,7 +9223,7 @@ const isNonPhrasingTag = makeMap(
|
|
|
9219
9223
|
// Regular Expressions for parsing tags and attributes
|
|
9220
9224
|
const attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
|
9221
9225
|
const dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
|
9222
|
-
const ncname = `[a-zA-Z_][\\-\\.0-9_a-zA-Z${
|
|
9226
|
+
const ncname = `[a-zA-Z_][\\-\\.0-9_a-zA-Z${unicodeRegExp.source}]*`;
|
|
9223
9227
|
const qnameCapture = `((?:${ncname}\\:)?${ncname})`;
|
|
9224
9228
|
const startTagOpen = new RegExp(`^<${qnameCapture}`);
|
|
9225
9229
|
const startTagClose = /^\s*(\/?)>/;
|
|
@@ -9481,7 +9485,7 @@ function parseHTML (html, options) {
|
|
|
9481
9485
|
) {
|
|
9482
9486
|
options.warn(
|
|
9483
9487
|
`tag <${stack[i].tag}> has no matching end tag.`,
|
|
9484
|
-
{ start: stack[i].start }
|
|
9488
|
+
{ start: stack[i].start, end: stack[i].end }
|
|
9485
9489
|
);
|
|
9486
9490
|
}
|
|
9487
9491
|
if (options.end) {
|
|
@@ -9518,7 +9522,7 @@ const dynamicArgRE = /^\[.*\]$/;
|
|
|
9518
9522
|
|
|
9519
9523
|
const argRE = /:(.*)$/;
|
|
9520
9524
|
const bindRE = /^:|^\.|^v-bind:/;
|
|
9521
|
-
const modifierRE = /\.[
|
|
9525
|
+
const modifierRE = /\.[^.\]]+(?=[^\]]*$)/g;
|
|
9522
9526
|
|
|
9523
9527
|
const slotRE = /^v-slot(:|$)|^#/;
|
|
9524
9528
|
|
|
@@ -9695,7 +9699,7 @@ function parse (
|
|
|
9695
9699
|
shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,
|
|
9696
9700
|
shouldKeepComment: options.comments,
|
|
9697
9701
|
outputSourceRange: options.outputSourceRange,
|
|
9698
|
-
start (tag, attrs, unary, start) {
|
|
9702
|
+
start (tag, attrs, unary, start, end) {
|
|
9699
9703
|
// check namespace.
|
|
9700
9704
|
// inherit parent ns if there is one
|
|
9701
9705
|
const ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);
|
|
@@ -9714,6 +9718,7 @@ function parse (
|
|
|
9714
9718
|
{
|
|
9715
9719
|
if (options.outputSourceRange) {
|
|
9716
9720
|
element.start = start;
|
|
9721
|
+
element.end = end;
|
|
9717
9722
|
element.rawAttrsMap = element.attrsList.reduce((cumulated, attr) => {
|
|
9718
9723
|
cumulated[attr.name] = attr;
|
|
9719
9724
|
return cumulated
|
|
@@ -11240,7 +11245,7 @@ function genScopedSlots (
|
|
|
11240
11245
|
// components with only scoped slots to skip forced updates from parent.
|
|
11241
11246
|
// but in some cases we have to bail-out of this optimization
|
|
11242
11247
|
// for example if the slot contains dynamic names, has v-if or v-for on them...
|
|
11243
|
-
let needsForceUpdate = Object.keys(slots).some(key => {
|
|
11248
|
+
let needsForceUpdate = el.for || Object.keys(slots).some(key => {
|
|
11244
11249
|
const slot = slots[key];
|
|
11245
11250
|
return (
|
|
11246
11251
|
slot.slotTargetDynamic ||
|