marko 5.31.0 → 5.31.1
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/dist/compiler/index.js +10 -10
- package/dist/core-tags/components/preserve-tag.js +4 -4
- package/dist/core-tags/core/await/AsyncValue.js +7 -7
- package/dist/core-tags/core/await/reorderer-renderer.js +28 -28
- package/dist/node-require/hot-reload.js +5 -5
- package/dist/node-require/index.js +8 -8
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +4 -4
- package/dist/node_modules/@internal/components-beginComponent/index.js +14 -14
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +9 -7
- package/dist/node_modules/@internal/components-entry/index-browser.js +2 -1
- package/dist/node_modules/@internal/components-entry/index.js +5 -5
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
- package/dist/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/dist/node_modules/@internal/components-registry/index-browser.js +43 -51
- package/dist/node_modules/@internal/components-util/index-browser.js +3 -3
- package/dist/node_modules/@internal/create-readable/index-browser.js +5 -5
- package/dist/node_modules/@internal/create-readable/index.js +5 -5
- package/dist/node_modules/@internal/loader/fallback-node.js +89 -0
- package/dist/node_modules/@internal/loader/index-browser.js +1 -3
- package/dist/node_modules/@internal/loader/index.js +20 -85
- package/dist/node_modules/@internal/loader/package.json +2 -3
- package/dist/node_modules/@internal/require/index-browser.js +13 -0
- package/dist/node_modules/@internal/require/index-legacy-browser.js +20 -0
- package/dist/node_modules/@internal/require/index-webpack.js +11 -0
- package/dist/node_modules/@internal/require/index.js +15 -0
- package/dist/node_modules/@internal/require/package.json +11 -0
- package/dist/runtime/RenderResult.js +8 -7
- package/dist/runtime/components/Component.js +18 -18
- package/dist/runtime/components/ComponentDef.js +1 -1
- package/dist/runtime/components/State.js +10 -10
- package/dist/runtime/components/event-delegation.js +49 -49
- package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -5
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +6 -11
- package/dist/runtime/components/legacy/dependencies/index.js +7 -7
- package/dist/runtime/components/legacy/renderer-legacy.js +51 -51
- package/dist/runtime/components/renderer.js +26 -26
- package/dist/runtime/helpers/_change-case.js +3 -3
- package/dist/runtime/helpers/class-value.js +2 -2
- package/dist/runtime/helpers/dynamic-tag.js +27 -27
- package/dist/runtime/helpers/render-tag.js +3 -3
- package/dist/runtime/html/AsyncStream.js +10 -10
- package/dist/runtime/html/BufferedWriter.js +14 -14
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +5 -5
- package/dist/runtime/html/helpers/attrs.js +2 -2
- package/dist/runtime/html/helpers/data-marko.js +2 -2
- package/dist/runtime/html/helpers/escape-xml.js +2 -2
- package/dist/runtime/html/index.js +9 -9
- package/dist/runtime/renderable.js +4 -4
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +36 -36
- package/dist/runtime/vdom/VElement.js +23 -23
- package/dist/runtime/vdom/hot-reload.js +1 -1
- package/dist/runtime/vdom/index.js +8 -8
- package/dist/runtime/vdom/morphdom/fragment.js +8 -8
- package/dist/runtime/vdom/morphdom/helpers.js +7 -7
- package/dist/runtime/vdom/morphdom/index.js +93 -93
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
- package/dist/runtime/vdom/vdom.js +2 -2
- package/dist/taglib/index.js +3 -3
- package/package.json +1 -1
- package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +17 -15
- package/src/node_modules/@internal/components-define-widget-legacy/index.js +1 -1
- package/src/node_modules/@internal/components-entry/index-browser.js +2 -1
- package/src/node_modules/@internal/components-entry/index.js +2 -2
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
- package/src/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/src/node_modules/@internal/components-registry/index-browser.js +9 -17
- package/src/node_modules/@internal/create-readable/index-browser.js +2 -2
- package/src/node_modules/@internal/loader/fallback-node.js +89 -0
- package/src/node_modules/@internal/loader/index-browser.js +1 -3
- package/src/node_modules/@internal/loader/index.js +21 -86
- package/src/node_modules/@internal/loader/package.json +2 -3
- package/src/node_modules/@internal/require/index-browser.js +13 -0
- package/src/node_modules/@internal/require/index-legacy-browser.js +20 -0
- package/src/node_modules/@internal/require/index-webpack.js +11 -0
- package/src/node_modules/@internal/require/index.js +15 -0
- package/src/node_modules/@internal/require/package.json +11 -0
- package/src/runtime/components/legacy/defineComponent-legacy.js +0 -5
- package/src/runtime/components/legacy/defineRenderer-legacy.js +2 -7
package/dist/compiler/index.js
CHANGED
|
@@ -66,9 +66,9 @@ function _compile(src, filename, userConfig, callback) {
|
|
|
66
66
|
|
|
67
67
|
if (callback) {
|
|
68
68
|
compiler.compile(src, filename, options).then(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
(result) => callback(null, resultCompat(result, options)),
|
|
70
|
+
(error) => callback(error)
|
|
71
|
+
);
|
|
72
72
|
} else {
|
|
73
73
|
return resultCompat(compiler.compileSync(src, filename, options), options);
|
|
74
74
|
}
|
|
@@ -93,13 +93,13 @@ function compileForBrowser(src, filename, options, callback) {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
options = extend(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
{
|
|
97
|
+
output: "dom",
|
|
98
|
+
meta: false,
|
|
99
|
+
sourceOnly: false
|
|
100
|
+
},
|
|
101
|
+
options
|
|
102
|
+
);
|
|
103
103
|
|
|
104
104
|
return compile(src, filename, options, callback);
|
|
105
105
|
}
|
|
@@ -93,13 +93,13 @@ AsyncValue.prototype = {
|
|
|
93
93
|
var asyncValue = this;
|
|
94
94
|
|
|
95
95
|
var finalPromise = value.then(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
function onFulfilled(value) {
|
|
97
|
+
queueMicrotask(asyncValue.w_.bind(asyncValue, value));
|
|
98
|
+
},
|
|
99
|
+
function onRejected(err) {
|
|
100
|
+
queueMicrotask(asyncValue.v_.bind(asyncValue, err));
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
103
|
|
|
104
104
|
if (finalPromise.done) {
|
|
105
105
|
finalPromise.done();
|
|
@@ -52,44 +52,44 @@ module.exports = function (input, out) {
|
|
|
52
52
|
if (!global._afRuntime) {
|
|
53
53
|
// Minified version of ./client-reorder-runtime.js
|
|
54
54
|
asyncOut.script(
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
`function $af(d,a,e,l,g,h,k,b,f,c){c=$af;if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("af"+d);g=e.getElementById("afph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`
|
|
56
|
+
);
|
|
57
57
|
global._afRuntime = true;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
if (global.cspNonce) {
|
|
61
61
|
asyncOut.write(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
'<style nonce="' +
|
|
63
|
+
escapeDoubleQuotes(global.cspNonce) +
|
|
64
|
+
'">' +
|
|
65
|
+
"#af" +
|
|
66
|
+
awaitInfo.id +
|
|
67
|
+
"{display:none;}" +
|
|
68
|
+
"</style>" +
|
|
69
|
+
'<div id="af' +
|
|
70
|
+
awaitInfo.id +
|
|
71
|
+
'">' +
|
|
72
|
+
result.toString() +
|
|
73
|
+
"</div>"
|
|
74
|
+
);
|
|
75
75
|
} else {
|
|
76
76
|
asyncOut.write(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
'<div id="af' +
|
|
78
|
+
awaitInfo.id +
|
|
79
|
+
'" style="display:none">' +
|
|
80
|
+
result.toString() +
|
|
81
|
+
"</div>"
|
|
82
|
+
);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
asyncOut.script(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
86
|
+
"$af(" + (
|
|
87
|
+
typeof awaitInfo.id === "number" ?
|
|
88
|
+
awaitInfo.id :
|
|
89
|
+
'"' + awaitInfo.id + '"') + (
|
|
90
|
+
awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
|
|
91
|
+
")"
|
|
92
|
+
);
|
|
93
93
|
|
|
94
94
|
awaitInfo.out.writer = asyncOut.writer;
|
|
95
95
|
|
|
@@ -8,9 +8,9 @@ require("../runtime/html/hot-reload");
|
|
|
8
8
|
exports.handleFileModified = function (filename) {
|
|
9
9
|
if (!fs.existsSync(filename)) {
|
|
10
10
|
console.log(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
"[marko/hot-reload] WARNING cannot resolve template path: ",
|
|
12
|
+
filename
|
|
13
|
+
);
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -35,8 +35,8 @@ function tryReload(filename) {
|
|
|
35
35
|
delete require.cache[filename];
|
|
36
36
|
require(filename);
|
|
37
37
|
console.log(
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
`[marko] Template successfully reloaded: ${cwdRelative(filename)}`
|
|
39
|
+
);
|
|
40
40
|
} catch (e) {
|
|
41
41
|
console.error(e);
|
|
42
42
|
}
|
|
@@ -27,14 +27,14 @@ function normalizeExtension(extension) {
|
|
|
27
27
|
|
|
28
28
|
function compile(templatePath, markoCompiler, userCompilerOptions) {
|
|
29
29
|
return markoCompiler.compileFileSync(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
code;
|
|
30
|
+
templatePath,
|
|
31
|
+
Object.assign(
|
|
32
|
+
{},
|
|
33
|
+
defaultCompilerOptions,
|
|
34
|
+
userCompilerOptions,
|
|
35
|
+
requiredCompilerOptions
|
|
36
|
+
)
|
|
37
|
+
).code;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
function install(options) {
|
|
@@ -8,10 +8,10 @@ ownerComponentDef)
|
|
|
8
8
|
{
|
|
9
9
|
var componentId = component.id;
|
|
10
10
|
var componentDef = componentsContext.k_ = new ComponentDef(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
component,
|
|
12
|
+
componentId,
|
|
13
|
+
componentsContext
|
|
14
|
+
);
|
|
15
15
|
componentsContext.f_.z_[
|
|
16
16
|
componentId] =
|
|
17
17
|
true;
|
|
@@ -22,10 +22,10 @@ existingComponentDef)
|
|
|
22
22
|
var componentDef =
|
|
23
23
|
existingComponentDef || (
|
|
24
24
|
componentsContext.k_ = new ComponentDef(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
component,
|
|
26
|
+
componentId,
|
|
27
|
+
componentsContext
|
|
28
|
+
));
|
|
29
29
|
|
|
30
30
|
var ownerIsRenderBoundary =
|
|
31
31
|
ownerComponentDef && ownerComponentDef.B_;
|
|
@@ -66,16 +66,16 @@ existingComponentDef)
|
|
|
66
66
|
|
|
67
67
|
if ((ownerIsRenderBoundary || ownerWillRerender) && key != null) {
|
|
68
68
|
out.w(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
69
|
+
"<!--" +
|
|
70
|
+
runtimeId +
|
|
71
|
+
"^" +
|
|
72
|
+
componentId +
|
|
73
|
+
" " +
|
|
74
|
+
ownerComponentDef.id +
|
|
75
|
+
" " +
|
|
76
|
+
key +
|
|
77
|
+
"-->"
|
|
78
|
+
);
|
|
79
79
|
} else {
|
|
80
80
|
out.w("<!--" + runtimeId + "#" + componentId + "-->");
|
|
81
81
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
var BaseState;
|
|
5
5
|
var BaseComponent;
|
|
6
6
|
var inherit;
|
|
7
|
-
var
|
|
7
|
+
var req = require("@internal/require");
|
|
8
8
|
var registry = require("@internal/components-registry");
|
|
9
9
|
var jQuery = require("../../../runtime/components/legacy/jquery");
|
|
10
10
|
var ready = require("../../../runtime/components/legacy/ready");
|
|
@@ -265,10 +265,10 @@ module.exports = function defineWidget(def, renderer) {
|
|
|
265
265
|
proto.V_ = State;
|
|
266
266
|
|
|
267
267
|
jQuery.patchComponent(
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
268
|
+
window.$,
|
|
269
|
+
proto,
|
|
270
|
+
true /* don't throw error until used if `$` is missing*/
|
|
271
|
+
);
|
|
272
272
|
|
|
273
273
|
ready.patchComponent(proto);
|
|
274
274
|
|
|
@@ -317,10 +317,12 @@ module.exports = function defineWidget(def, renderer) {
|
|
|
317
317
|
var template = def.template;
|
|
318
318
|
if (template) {
|
|
319
319
|
if (typeof template === "string") {
|
|
320
|
-
template =
|
|
320
|
+
template = req(template);
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
-
registry.r(template.X_, function () {
|
|
323
|
+
registry.r(template.X_, function () {
|
|
324
|
+
return Component;
|
|
325
|
+
});
|
|
324
326
|
}
|
|
325
327
|
|
|
326
328
|
return Component;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";var registry = require("@internal/components-registry");
|
|
2
2
|
|
|
3
|
-
exports.getComponentForEl =
|
|
3
|
+
exports.getComponentForEl =
|
|
4
|
+
require("@internal/components-util").Y_;
|
|
4
5
|
exports.init = registry.Z_;
|
|
5
6
|
exports.register = function (id, component) {
|
|
6
7
|
registry.r(id, function () {
|
|
@@ -30,9 +30,9 @@ function isNotEmpty(obj) {
|
|
|
30
30
|
}
|
|
31
31
|
function safeStringify(data) {
|
|
32
32
|
return JSON.stringify(warp10.stringifyPrepare(data)).replace(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
safeJSONRegExp,
|
|
34
|
+
safeJSONReplacer
|
|
35
|
+
);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
function getSerializedGlobals($global) {
|
|
@@ -282,8 +282,8 @@ componentDefs)
|
|
|
282
282
|
runtimeId === DEFAULT_RUNTIME_ID ? "MC" : runtimeId + "_C";
|
|
283
283
|
|
|
284
284
|
return `$${componentGlobalKey}=(window.$${componentGlobalKey}||[]).concat(${safeStringify(
|
|
285
|
-
|
|
286
|
-
})`;
|
|
285
|
+
initComponentsData
|
|
286
|
+
)})`;
|
|
287
287
|
};
|
|
288
288
|
|
|
289
289
|
exports.__ = addComponentsFromContext;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";var Component = require("../../../runtime/components/Component");
|
|
2
|
-
var
|
|
2
|
+
var req = require("@internal/require");
|
|
3
3
|
var getComponentForEl =
|
|
4
4
|
require("@internal/components-util").Y_;
|
|
5
5
|
|
|
@@ -8,14 +8,15 @@ require("@internal/components-util").Y_;
|
|
|
8
8
|
// expose legacy
|
|
9
9
|
require("@internal/components-registry")._k_ = exports;
|
|
10
10
|
exports.load = function (typeName) {
|
|
11
|
-
return exports.defineWidget(
|
|
11
|
+
return exports.defineWidget(req(typeName));
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
// legacy api
|
|
15
15
|
exports.defineComponent = require("../../../runtime/components/legacy/defineComponent-legacy");
|
|
16
16
|
exports.defineWidget = require("@internal/components-define-widget-legacy");
|
|
17
17
|
exports.defineRenderer = require("../../../runtime/components/legacy/defineRenderer-legacy");
|
|
18
|
-
exports.makeRenderable =
|
|
18
|
+
exports.makeRenderable =
|
|
19
|
+
exports.renderable = require("../../../runtime/renderable");
|
|
19
20
|
|
|
20
21
|
// browser only
|
|
21
22
|
var Widget = exports.Widget = Component;
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
exports.defineComponent = require("../../../runtime/components/legacy/defineComponent-legacy");
|
|
5
5
|
exports.defineWidget = require("@internal/components-define-widget-legacy");
|
|
6
6
|
exports.defineRenderer = require("../../../runtime/components/legacy/defineRenderer-legacy");
|
|
7
|
-
exports.makeRenderable =
|
|
7
|
+
exports.makeRenderable =
|
|
8
|
+
exports.renderable = require("../../../runtime/renderable");
|
|
8
9
|
|
|
9
10
|
// server only
|
|
10
11
|
exports.writeInitWidgetsCode = modernMarko.writeInitComponentsCode;
|
|
@@ -8,7 +8,7 @@ require("../../../runtime/vdom/morphdom/fragment")._n_;
|
|
|
8
8
|
var ComponentDef = require("../../../runtime/components/ComponentDef");
|
|
9
9
|
var domData = require("../../../runtime/components/dom-data");
|
|
10
10
|
var componentsUtil = require("@internal/components-util");
|
|
11
|
-
var
|
|
11
|
+
var req = require("@internal/require");
|
|
12
12
|
var componentLookup = componentsUtil._o_;
|
|
13
13
|
var addComponentRootToKeyedElements =
|
|
14
14
|
componentsUtil._p_;
|
|
@@ -69,8 +69,8 @@ function addPendingDef(def, type, meta, host, runtimeId) {
|
|
|
69
69
|
def,
|
|
70
70
|
meta,
|
|
71
71
|
host,
|
|
72
|
-
runtimeId]
|
|
73
|
-
|
|
72
|
+
runtimeId]
|
|
73
|
+
);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
function load(typeName, isLegacy) {
|
|
@@ -83,7 +83,7 @@ function load(typeName, isLegacy) {
|
|
|
83
83
|
} else if (isLegacy) {
|
|
84
84
|
target = exports._k_.load(typeName);
|
|
85
85
|
} else {
|
|
86
|
-
target =
|
|
86
|
+
target = req(typeName);
|
|
87
87
|
// eslint-disable-next-line no-constant-condition
|
|
88
88
|
|
|
89
89
|
|
|
@@ -184,9 +184,9 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
|
184
184
|
rootNode = createFragmentNode(startNode.nextSibling, endNode);
|
|
185
185
|
} else {
|
|
186
186
|
rootNode = createFragmentNode(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
endNode.parentNode.firstChild,
|
|
188
|
+
endNode
|
|
189
|
+
);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
componentId = startNode.nodeValue.substring(runtimeLength + 1);
|
|
@@ -205,11 +205,11 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
|
205
205
|
keyedElementsByComponentId[ownerId] = {});
|
|
206
206
|
}
|
|
207
207
|
addComponentRootToKeyedElements(
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
208
|
+
keyedElements,
|
|
209
|
+
key,
|
|
210
|
+
rootNode,
|
|
211
|
+
componentId
|
|
212
|
+
);
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
serverComponentRootNodes[componentId] = rootNode;
|
|
@@ -284,18 +284,18 @@ extraArgs,
|
|
|
284
284
|
handles)
|
|
285
285
|
{
|
|
286
286
|
var removeListener = addEventListenerHelper(
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
invokeComponentEventHandler(component, targetMethodName, args);
|
|
297
|
-
});
|
|
287
|
+
el,
|
|
288
|
+
eventType,
|
|
289
|
+
isOnce,
|
|
290
|
+
function (event) {
|
|
291
|
+
var args = [event, el];
|
|
292
|
+
if (extraArgs) {
|
|
293
|
+
args = extraArgs.concat(args);
|
|
294
|
+
}
|
|
298
295
|
|
|
296
|
+
invokeComponentEventHandler(component, targetMethodName, args);
|
|
297
|
+
}
|
|
298
|
+
);
|
|
299
299
|
handles.push(removeListener);
|
|
300
300
|
}
|
|
301
301
|
|
|
@@ -329,14 +329,14 @@ function initComponent(componentDef, host) {
|
|
|
329
329
|
var extraArgs = domEventArgs[4];
|
|
330
330
|
|
|
331
331
|
addDOMEventListeners(
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
332
|
+
component,
|
|
333
|
+
eventEl,
|
|
334
|
+
eventType,
|
|
335
|
+
targetMethodName,
|
|
336
|
+
isOnce,
|
|
337
|
+
extraArgs,
|
|
338
|
+
eventListenerHandles
|
|
339
|
+
);
|
|
340
340
|
});
|
|
341
341
|
|
|
342
342
|
if (eventListenerHandles.length) {
|
|
@@ -495,20 +495,11 @@ function initServerRendered(renderedComponents, host) {
|
|
|
495
495
|
map(function (componentDef) {
|
|
496
496
|
var typeName = meta._E_[componentDef[1]];
|
|
497
497
|
|
|
498
|
-
return
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
// this code is used to detect if a module was registered
|
|
504
|
-
// via a browser.json but not executed.
|
|
505
|
-
loader.runtime &&
|
|
506
|
-
loader.runtime.resolve &&
|
|
507
|
-
loader.runtime.resolve(typeName) ?
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
tryHydrateComponent(componentDef, meta, host, runtimeId) :
|
|
511
|
-
addPendingDef(componentDef, typeName, meta, host, runtimeId));
|
|
498
|
+
return registered[typeName] ||
|
|
499
|
+
document.readyState === "complete" ||
|
|
500
|
+
req.e(typeName) ?
|
|
501
|
+
tryHydrateComponent(componentDef, meta, host, runtimeId) :
|
|
502
|
+
addPendingDef(componentDef, typeName, meta, host, runtimeId);
|
|
512
503
|
}).
|
|
513
504
|
reverse().
|
|
514
505
|
forEach(tryInvoke);
|
|
@@ -518,11 +509,11 @@ function initServerRendered(renderedComponents, host) {
|
|
|
518
509
|
|
|
519
510
|
function tryHydrateComponent(rawDef, meta, host, runtimeId) {
|
|
520
511
|
var componentDef = ComponentDef._F_(
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
512
|
+
rawDef,
|
|
513
|
+
meta._E_,
|
|
514
|
+
meta._D_,
|
|
515
|
+
exports
|
|
516
|
+
);
|
|
526
517
|
var mount = hydrateComponentAndGetMount(componentDef, host);
|
|
527
518
|
|
|
528
519
|
if (!mount) {
|
|
@@ -594,4 +585,5 @@ exports._I_ = createComponent;
|
|
|
594
585
|
exports._J_ = getComponentClass;
|
|
595
586
|
exports.Z_ = win.$initComponents = initServerRendered;
|
|
596
587
|
|
|
597
|
-
require("../../../runtime/components/ComponentsContext")._K_ =
|
|
588
|
+
require("../../../runtime/components/ComponentsContext")._K_ =
|
|
589
|
+
initClientRendered;
|
|
@@ -109,9 +109,9 @@ function getMarkoPropsFromEl(el) {
|
|
|
109
109
|
if (!virtualProps) {
|
|
110
110
|
virtualProps = el.getAttribute("data-marko");
|
|
111
111
|
vPropsByDOMNode.set(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
el,
|
|
113
|
+
virtualProps = virtualProps ? JSON.parse(virtualProps) : EMPTY_OBJECT
|
|
114
|
+
);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
|
|
@@ -14,11 +14,11 @@ module.exports = function (data) {
|
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
16
|
var out = this.createOut(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
data && data.$global,
|
|
18
|
+
facade,
|
|
19
|
+
undefined,
|
|
20
|
+
this._Y_
|
|
21
|
+
);
|
|
22
22
|
out.once("error", (err) => {
|
|
23
23
|
facade.write = facade.end = noop;
|
|
24
24
|
writer.abort(err);
|
|
@@ -42,11 +42,11 @@ class Readable extends stream.Readable {
|
|
|
42
42
|
var data = this.a__;
|
|
43
43
|
var globalData = data && data.$global;
|
|
44
44
|
var out = this._Z_.createOut(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
globalData,
|
|
46
|
+
this,
|
|
47
|
+
undefined,
|
|
48
|
+
template._Y_
|
|
49
|
+
);
|
|
50
50
|
template.render(data, out);
|
|
51
51
|
out.end();
|
|
52
52
|
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var nodePath = require("path");
|
|
4
|
+
var fs = require("fs");
|
|
5
|
+
var Module = require("module").Module;
|
|
6
|
+
var markoCompiler = require("../../../compiler");
|
|
7
|
+
var cwd = process.cwd();
|
|
8
|
+
var fsOptions = { encoding: "utf8" };
|
|
9
|
+
var requiredCompilerOptions = { modules: "cjs" };
|
|
10
|
+
|
|
11
|
+
module.exports = function load(templatePath, templateSrc, options) {
|
|
12
|
+
if (arguments.length === 1) {
|
|
13
|
+
return doLoad(templatePath);
|
|
14
|
+
} else if (arguments.length === 2) {
|
|
15
|
+
// see if second argument is templateSrc (a String)
|
|
16
|
+
// or options (an Object)
|
|
17
|
+
var lastArg = arguments[arguments.length - 1];
|
|
18
|
+
if (typeof lastArg === "string") {
|
|
19
|
+
return doLoad(templatePath, templateSrc);
|
|
20
|
+
} else {
|
|
21
|
+
var finalOptions = templateSrc;
|
|
22
|
+
return doLoad(templatePath, null, finalOptions);
|
|
23
|
+
}
|
|
24
|
+
} else if (arguments.length === 3) {
|
|
25
|
+
// assume function called according to function signature
|
|
26
|
+
return doLoad(templatePath, templateSrc, options);
|
|
27
|
+
} else {
|
|
28
|
+
throw new Error("Illegal arguments");
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function loadSource(templatePath, compiledSrc) {
|
|
33
|
+
// Short-circuit loading if the template has already been cached in the Node.js require cache
|
|
34
|
+
var cached = require.cache[templatePath];
|
|
35
|
+
if (cached) {
|
|
36
|
+
return cached.exports;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
var templateModule = new Module(templatePath, module);
|
|
40
|
+
templateModule.paths = Module._nodeModulePaths(
|
|
41
|
+
nodePath.dirname(templatePath)
|
|
42
|
+
);
|
|
43
|
+
templateModule.filename = templatePath;
|
|
44
|
+
|
|
45
|
+
Module._cache[templatePath] = templateModule;
|
|
46
|
+
|
|
47
|
+
templateModule._compile(compiledSrc, templatePath);
|
|
48
|
+
|
|
49
|
+
return templateModule.exports;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function getCachedTemplate(templatePath) {
|
|
53
|
+
var precompiledTemplatePath = templatePath + ".js";
|
|
54
|
+
var templateModule =
|
|
55
|
+
require.cache[templatePath] || require.cache[precompiledTemplatePath];
|
|
56
|
+
|
|
57
|
+
if (templateModule) {
|
|
58
|
+
return templateModule.exports;
|
|
59
|
+
} else if (fs.existsSync(precompiledTemplatePath)) {
|
|
60
|
+
return require(precompiledTemplatePath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function doLoad(templatePath, templateSrc, options) {
|
|
65
|
+
options = Object.assign(
|
|
66
|
+
{},
|
|
67
|
+
markoCompiler.defaultOptions,
|
|
68
|
+
options,
|
|
69
|
+
requiredCompilerOptions
|
|
70
|
+
);
|
|
71
|
+
templatePath = nodePath.resolve(cwd, templatePath);
|
|
72
|
+
var template = getCachedTemplate(templatePath);
|
|
73
|
+
|
|
74
|
+
if (!template) {
|
|
75
|
+
if (templateSrc == null) {
|
|
76
|
+
templateSrc = fs.readFileSync(templatePath, fsOptions);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
var compiledSrc = markoCompiler.compile(templateSrc, templatePath, options);
|
|
80
|
+
|
|
81
|
+
template = loadSource(templatePath, compiledSrc);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (template.default) {
|
|
85
|
+
template = template.default;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return template;
|
|
89
|
+
}
|