marko 5.31.0 → 5.31.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
}
|