marko 4.24.0 → 4.24.4
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/CHANGELOG.md +2437 -0
- package/dist/runtime/components/event-delegation.js +21 -17
- package/dist/runtime/html/AsyncStream.js +2 -1
- package/dist/taglib/taglib-finder/index.js +4 -4
- package/dist/taglib/taglib-lookup/index.js +3 -3
- package/package.json +2 -2
- package/src/runtime/components/event-delegation.js +21 -17
- package/src/runtime/html/AsyncStream.js +2 -3
- package/src/taglib/taglib-finder/index.js +4 -4
- package/src/taglib/taglib-lookup/index.js +3 -3
@@ -74,16 +74,6 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
74
74
|
var listeners = doc[listenersAttachedKey] = doc[listenersAttachedKey] || {};
|
75
75
|
if (!listeners[eventType]) {
|
76
76
|
body.addEventListener(eventType, listeners[eventType] = function (event) {
|
77
|
-
var propagationStopped = false;
|
78
|
-
|
79
|
-
// Monkey-patch to fix #97
|
80
|
-
var oldStopPropagation = event.stopPropagation;
|
81
|
-
|
82
|
-
event.stopPropagation = function () {
|
83
|
-
oldStopPropagation.call(event);
|
84
|
-
propagationStopped = true;
|
85
|
-
};
|
86
|
-
|
87
77
|
var curNode = event.target;
|
88
78
|
if (!curNode) {
|
89
79
|
return;
|
@@ -106,15 +96,29 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
106
96
|
// Attributes will have the following form:
|
107
97
|
// on<event_type>("<target_method>|<component_id>")
|
108
98
|
|
109
|
-
|
110
|
-
|
111
|
-
|
99
|
+
if (event.bubbles) {
|
100
|
+
var propagationStopped = false;
|
101
|
+
|
102
|
+
// Monkey-patch to fix #97
|
103
|
+
var oldStopPropagation = event.stopPropagation;
|
112
104
|
|
113
|
-
|
114
|
-
|
105
|
+
event.stopPropagation = function () {
|
106
|
+
oldStopPropagation.call(event);
|
107
|
+
propagationStopped = true;
|
108
|
+
};
|
109
|
+
|
110
|
+
do {
|
111
|
+
if (target = getEventFromEl(curNode, propName)) {
|
112
|
+
delegateEvent(curNode, propName, target, event);
|
113
|
+
|
114
|
+
if (propagationStopped) {
|
115
|
+
break;
|
116
|
+
}
|
115
117
|
}
|
116
|
-
}
|
117
|
-
}
|
118
|
+
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
119
|
+
} else if (target = getEventFromEl(curNode, propName)) {
|
120
|
+
delegateEvent(curNode, propName, target, event);
|
121
|
+
}
|
118
122
|
}, true);
|
119
123
|
}
|
120
124
|
}
|
@@ -211,7 +211,7 @@ var proto = AsyncStream.prototype = {
|
|
211
211
|
timeout = AsyncStream.DEFAULT_TIMEOUT;
|
212
212
|
}
|
213
213
|
|
214
|
-
newStream._stack = AsyncStream.INCLUDE_STACK ?
|
214
|
+
newStream._stack = AsyncStream.INCLUDE_STACK ? new Error() : null;
|
215
215
|
newStream.name = name;
|
216
216
|
|
217
217
|
if (timeout > 0) {
|
@@ -437,6 +437,7 @@ var proto = AsyncStream.prototype = {
|
|
437
437
|
error: function (e) {
|
438
438
|
var name = this.name;
|
439
439
|
var stack = this._stack;
|
440
|
+
if (stack) stack = getNonMarkoStack(stack);
|
440
441
|
|
441
442
|
if (!(e instanceof Error)) {
|
442
443
|
e = new Error(JSON.stringify(e));
|
@@ -70,15 +70,15 @@ function find(dirname, registeredTaglibs) {
|
|
70
70
|
var added = {};
|
71
71
|
|
72
72
|
var helper = {
|
73
|
-
alreadyAdded: function (
|
74
|
-
return added.hasOwnProperty(
|
73
|
+
alreadyAdded: function (taglibId) {
|
74
|
+
return added.hasOwnProperty(taglibId);
|
75
75
|
},
|
76
76
|
addTaglib: function (taglib) {
|
77
|
-
if (added[taglib.
|
77
|
+
if (added[taglib.id]) {
|
78
78
|
return;
|
79
79
|
}
|
80
80
|
|
81
|
-
added[taglib.
|
81
|
+
added[taglib.id] = true;
|
82
82
|
found.push(taglib);
|
83
83
|
},
|
84
84
|
foundTaglibPackages: {}
|
@@ -37,9 +37,9 @@ function buildLookup(dirname) {
|
|
37
37
|
// The taglibs "closer" to the template will be earlier in the list
|
38
38
|
// and the taglibs "farther" from the template will be later. We
|
39
39
|
// want closer taglibs to take precedence (especially when de-duping)
|
40
|
-
// so we
|
41
|
-
//
|
42
|
-
for (var i =
|
40
|
+
// so we add the taglibs in reverse order so that "closer" taglibs
|
41
|
+
// merge on top of "farther" ones.
|
42
|
+
for (var i = taglibs.length; i--;) {
|
43
43
|
var taglib = taglibs[i];
|
44
44
|
lookup.addTaglib(taglib);
|
45
45
|
handleImports(lookup, taglib);
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "marko",
|
3
|
-
"version": "4.24.
|
3
|
+
"version": "4.24.4",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
|
6
6
|
"dependencies": {
|
@@ -17,7 +17,7 @@
|
|
17
17
|
"estraverse": "^4.3.0",
|
18
18
|
"events-light": "^1.0.0",
|
19
19
|
"he": "^1.1.0",
|
20
|
-
"htmljs-parser": "^2.11.
|
20
|
+
"htmljs-parser": "^2.11.1",
|
21
21
|
"lasso-caching-fs": "^1.0.1",
|
22
22
|
"lasso-modules-client": "^2.0.4",
|
23
23
|
"lasso-package-root": "^1.0.1",
|
@@ -79,16 +79,6 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
79
79
|
body.addEventListener(
|
80
80
|
eventType,
|
81
81
|
(listeners[eventType] = function(event) {
|
82
|
-
var propagationStopped = false;
|
83
|
-
|
84
|
-
// Monkey-patch to fix #97
|
85
|
-
var oldStopPropagation = event.stopPropagation;
|
86
|
-
|
87
|
-
event.stopPropagation = function() {
|
88
|
-
oldStopPropagation.call(event);
|
89
|
-
propagationStopped = true;
|
90
|
-
};
|
91
|
-
|
92
82
|
var curNode = event.target;
|
93
83
|
if (!curNode) {
|
94
84
|
return;
|
@@ -111,15 +101,29 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
111
101
|
// Attributes will have the following form:
|
112
102
|
// on<event_type>("<target_method>|<component_id>")
|
113
103
|
|
114
|
-
|
115
|
-
|
116
|
-
|
104
|
+
if (event.bubbles) {
|
105
|
+
var propagationStopped = false;
|
106
|
+
|
107
|
+
// Monkey-patch to fix #97
|
108
|
+
var oldStopPropagation = event.stopPropagation;
|
117
109
|
|
118
|
-
|
119
|
-
|
110
|
+
event.stopPropagation = function() {
|
111
|
+
oldStopPropagation.call(event);
|
112
|
+
propagationStopped = true;
|
113
|
+
};
|
114
|
+
|
115
|
+
do {
|
116
|
+
if ((target = getEventFromEl(curNode, propName))) {
|
117
|
+
delegateEvent(curNode, propName, target, event);
|
118
|
+
|
119
|
+
if (propagationStopped) {
|
120
|
+
break;
|
121
|
+
}
|
120
122
|
}
|
121
|
-
}
|
122
|
-
}
|
123
|
+
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
124
|
+
} else if ((target = getEventFromEl(curNode, propName))) {
|
125
|
+
delegateEvent(curNode, propName, target, event);
|
126
|
+
}
|
123
127
|
}),
|
124
128
|
true
|
125
129
|
);
|
@@ -215,9 +215,7 @@ var proto = (AsyncStream.prototype = {
|
|
215
215
|
timeout = AsyncStream.DEFAULT_TIMEOUT;
|
216
216
|
}
|
217
217
|
|
218
|
-
newStream._stack = AsyncStream.INCLUDE_STACK
|
219
|
-
? getNonMarkoStack(new Error())
|
220
|
-
: null;
|
218
|
+
newStream._stack = AsyncStream.INCLUDE_STACK ? new Error() : null;
|
221
219
|
newStream.name = name;
|
222
220
|
|
223
221
|
if (timeout > 0) {
|
@@ -451,6 +449,7 @@ var proto = (AsyncStream.prototype = {
|
|
451
449
|
error: function(e) {
|
452
450
|
var name = this.name;
|
453
451
|
var stack = this._stack;
|
452
|
+
if (stack) stack = getNonMarkoStack(stack);
|
454
453
|
|
455
454
|
if (!(e instanceof Error)) {
|
456
455
|
e = new Error(JSON.stringify(e));
|
@@ -69,15 +69,15 @@ function find(dirname, registeredTaglibs) {
|
|
69
69
|
var added = {};
|
70
70
|
|
71
71
|
var helper = {
|
72
|
-
alreadyAdded: function(
|
73
|
-
return added.hasOwnProperty(
|
72
|
+
alreadyAdded: function(taglibId) {
|
73
|
+
return added.hasOwnProperty(taglibId);
|
74
74
|
},
|
75
75
|
addTaglib: function(taglib) {
|
76
|
-
if (added[taglib.
|
76
|
+
if (added[taglib.id]) {
|
77
77
|
return;
|
78
78
|
}
|
79
79
|
|
80
|
-
added[taglib.
|
80
|
+
added[taglib.id] = true;
|
81
81
|
found.push(taglib);
|
82
82
|
},
|
83
83
|
foundTaglibPackages: {}
|
@@ -38,9 +38,9 @@ function buildLookup(dirname) {
|
|
38
38
|
// The taglibs "closer" to the template will be earlier in the list
|
39
39
|
// and the taglibs "farther" from the template will be later. We
|
40
40
|
// want closer taglibs to take precedence (especially when de-duping)
|
41
|
-
// so we
|
42
|
-
//
|
43
|
-
for (var i =
|
41
|
+
// so we add the taglibs in reverse order so that "closer" taglibs
|
42
|
+
// merge on top of "farther" ones.
|
43
|
+
for (var i = taglibs.length; i--; ) {
|
44
44
|
var taglib = taglibs[i];
|
45
45
|
lookup.addTaglib(taglib);
|
46
46
|
handleImports(lookup, taglib);
|