marko 5.31.0 → 5.31.2
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 +1 -81
- package/dist/core-tags/core/await/AsyncValue.js +25 -25
- package/dist/core-tags/core/await/renderer.js +11 -11
- package/dist/core-tags/core/await/reorderer-renderer.js +31 -31
- 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 +8 -8
- package/dist/node_modules/@internal/components-beginComponent/index.js +25 -25
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +53 -51
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +3 -3
- package/dist/node_modules/@internal/components-endComponent/index.js +3 -3
- package/dist/node_modules/@internal/components-entry/index-browser.js +3 -2
- package/dist/node_modules/@internal/components-entry/index.js +24 -24
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +10 -9
- package/dist/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/dist/node_modules/@internal/components-registry/index-browser.js +84 -92
- package/dist/node_modules/@internal/components-registry/index.js +2 -2
- package/dist/node_modules/@internal/components-util/index-browser.js +23 -23
- package/dist/node_modules/@internal/components-util/index.js +10 -10
- package/dist/node_modules/@internal/create-readable/index-browser.js +5 -5
- package/dist/node_modules/@internal/create-readable/index.js +13 -13
- 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/preserve-tag/index-browser.js +45 -0
- package/dist/node_modules/@internal/preserve-tag/index.js +34 -0
- package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
- 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 +15 -14
- package/dist/runtime/components/Component.js +106 -106
- package/dist/runtime/components/ComponentDef.js +19 -19
- package/dist/runtime/components/ComponentsContext.js +14 -14
- package/dist/runtime/components/GlobalComponentsContext.js +2 -2
- package/dist/runtime/components/ServerComponent.js +12 -12
- package/dist/runtime/components/State.js +19 -19
- package/dist/runtime/components/attach-detach.js +1 -1
- package/dist/runtime/components/defineComponent.js +5 -5
- package/dist/runtime/components/dom-data.js +5 -5
- package/dist/runtime/components/event-delegation.js +55 -55
- package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -6
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +16 -21
- package/dist/runtime/components/legacy/dependencies/index.js +7 -7
- package/dist/runtime/components/legacy/renderer-legacy.js +82 -82
- package/dist/runtime/components/renderer.js +44 -44
- package/dist/runtime/dom-insert.js +2 -2
- 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 +35 -35
- package/dist/runtime/helpers/render-tag.js +4 -4
- package/dist/runtime/html/AsyncStream.js +16 -16
- package/dist/runtime/html/BufferedWriter.js +14 -14
- package/dist/runtime/html/StringWriter.js +1 -1
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +6 -6
- package/dist/runtime/html/helpers/attrs.js +2 -2
- package/dist/runtime/html/helpers/data-marko.js +6 -6
- package/dist/runtime/html/helpers/escape-quotes.js +1 -1
- package/dist/runtime/html/helpers/escape-xml.js +2 -2
- package/dist/runtime/html/helpers/props-script.js +1 -1
- package/dist/runtime/html/index.js +10 -10
- package/dist/runtime/renderable.js +5 -5
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +61 -61
- package/dist/runtime/vdom/VComponent.js +2 -2
- package/dist/runtime/vdom/VDocumentFragment.js +1 -1
- package/dist/runtime/vdom/VElement.js +38 -38
- package/dist/runtime/vdom/VFragment.js +4 -4
- package/dist/runtime/vdom/VNode.js +2 -2
- package/dist/runtime/vdom/hot-reload.js +11 -11
- package/dist/runtime/vdom/index.js +9 -9
- package/dist/runtime/vdom/morphdom/fragment.js +9 -9
- package/dist/runtime/vdom/morphdom/helpers.js +7 -7
- package/dist/runtime/vdom/morphdom/index.js +126 -126
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +11 -11
- package/dist/runtime/vdom/vdom.js +2 -2
- package/dist/taglib/index.js +3 -3
- package/package.json +1 -1
- package/src/core-tags/components/preserve-tag.js +1 -81
- 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/preserve-tag/index-browser.js +45 -0
- package/src/node_modules/@internal/preserve-tag/index.js +34 -0
- package/src/node_modules/@internal/preserve-tag/package.json +11 -0
- 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 +3 -8
|
@@ -1,88 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var nodePath = require("path");
|
|
3
|
-
var fs = require("fs");
|
|
4
|
-
var Module = require("module").Module;
|
|
5
|
-
var markoCompiler = require("../../../compiler");
|
|
6
|
-
var cwd = process.cwd();
|
|
7
|
-
var fsOptions = { encoding: "utf8" };
|
|
8
|
-
var requiredCompilerOptions = { modules: "cjs" };
|
|
9
2
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
3
|
+
const req = require("@internal/require");
|
|
4
|
+
let fallback;
|
|
5
|
+
module.exports = !require.extensions[".marko"] ?
|
|
6
|
+
require("./fallback-node") :
|
|
7
|
+
function load(templatePath, templateSrc, options) {
|
|
8
|
+
switch (arguments.length) {
|
|
9
|
+
case 1:
|
|
10
|
+
return req(templatePath);
|
|
11
|
+
case 2:
|
|
12
|
+
return (fallback = fallback || require("./fallback-node"))(
|
|
13
|
+
templatePath,
|
|
14
|
+
templateSrc
|
|
15
|
+
);
|
|
16
|
+
case 3:
|
|
17
|
+
return (fallback = fallback || require("./fallback-node"))(
|
|
18
|
+
templatePath,
|
|
19
|
+
templateSrc,
|
|
20
|
+
options
|
|
21
|
+
);
|
|
28
22
|
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
function loadSource(templatePath, compiledSrc) {
|
|
32
|
-
// Short-circuit loading if the template has already been cached in the Node.js require cache
|
|
33
|
-
var cached = require.cache[templatePath];
|
|
34
|
-
if (cached) {
|
|
35
|
-
return cached.exports;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
var templateModule = new Module(templatePath, module);
|
|
39
|
-
templateModule.paths = Module._nodeModulePaths(
|
|
40
|
-
nodePath.dirname(templatePath));
|
|
41
|
-
|
|
42
|
-
templateModule.filename = templatePath;
|
|
43
|
-
|
|
44
|
-
Module._cache[templatePath] = templateModule;
|
|
45
|
-
|
|
46
|
-
templateModule._compile(compiledSrc, templatePath);
|
|
47
|
-
|
|
48
|
-
return templateModule.exports;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function getCachedTemplate(templatePath) {
|
|
52
|
-
var precompiledTemplatePath = templatePath + ".js";
|
|
53
|
-
var templateModule =
|
|
54
|
-
require.cache[templatePath] || require.cache[precompiledTemplatePath];
|
|
55
|
-
|
|
56
|
-
if (templateModule) {
|
|
57
|
-
return templateModule.exports;
|
|
58
|
-
} else if (fs.existsSync(precompiledTemplatePath)) {
|
|
59
|
-
return require(precompiledTemplatePath);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function doLoad(templatePath, templateSrc, options) {
|
|
64
|
-
options = Object.assign(
|
|
65
|
-
{},
|
|
66
|
-
markoCompiler.defaultOptions,
|
|
67
|
-
options,
|
|
68
|
-
requiredCompilerOptions);
|
|
69
|
-
|
|
70
|
-
templatePath = nodePath.resolve(cwd, templatePath);
|
|
71
|
-
var template = getCachedTemplate(templatePath);
|
|
72
|
-
|
|
73
|
-
if (!template) {
|
|
74
|
-
if (templateSrc == null) {
|
|
75
|
-
templateSrc = fs.readFileSync(templatePath, fsOptions);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var compiledSrc = markoCompiler.compile(templateSrc, templatePath, options);
|
|
79
|
-
|
|
80
|
-
template = loadSource(templatePath, compiledSrc);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (template.default) {
|
|
84
|
-
template = template.default;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return template;
|
|
88
|
-
}
|
|
23
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";module.exports = function render(input, out) {
|
|
2
|
+
var isComponent = !input.n;
|
|
3
|
+
var shouldPreserve = !("i" in input) || input.i;
|
|
4
|
+
var componentsContext = out.b_;
|
|
5
|
+
var isHydrate =
|
|
6
|
+
componentsContext && componentsContext.o_._W_;
|
|
7
|
+
var ownerComponent = out._X_.r_;
|
|
8
|
+
var referenceComponent = ownerComponent;
|
|
9
|
+
var key = out._Y_;
|
|
10
|
+
var checkKey = key;
|
|
11
|
+
|
|
12
|
+
if (key[0] !== "@") {
|
|
13
|
+
var parentComponent = componentsContext.n_.r_;
|
|
14
|
+
if (ownerComponent !== parentComponent) {
|
|
15
|
+
referenceComponent = parentComponent;
|
|
16
|
+
checkKey += ":" + ownerComponent.id;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
var isPreserved =
|
|
21
|
+
shouldPreserve && (
|
|
22
|
+
isHydrate || referenceComponent.J_[checkKey]);
|
|
23
|
+
|
|
24
|
+
if (isComponent) {
|
|
25
|
+
out.bf(key, ownerComponent, shouldPreserve);
|
|
26
|
+
|
|
27
|
+
if (!isPreserved && input.renderBody) {
|
|
28
|
+
input.renderBody(out);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
out.ef();
|
|
32
|
+
} else {
|
|
33
|
+
if (isPreserved) {
|
|
34
|
+
if (input.b) {
|
|
35
|
+
out._Z_.a__ = true;
|
|
36
|
+
} else {
|
|
37
|
+
out.beginElement("", null, key, ownerComponent);
|
|
38
|
+
out._Z_.aa_ = true;
|
|
39
|
+
out.endElement();
|
|
40
|
+
}
|
|
41
|
+
} else if (input.renderBody) {
|
|
42
|
+
input.renderBody(out);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";var ComponentsContext = require("../../../runtime/components/ComponentsContext");
|
|
2
|
+
var getComponentsContext = ComponentsContext.R_;
|
|
3
|
+
|
|
4
|
+
module.exports = function render(input, out) {
|
|
5
|
+
var isComponent = !input.n;
|
|
6
|
+
var shouldPreserve = !("i" in input) || input.i;
|
|
7
|
+
var componentsContext = out.b_;
|
|
8
|
+
|
|
9
|
+
if (isComponent) {
|
|
10
|
+
out.bf(out._Y_, out._X_.r_, true);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (input.renderBody) {
|
|
14
|
+
if (shouldPreserve) {
|
|
15
|
+
var parentPreserved = false;
|
|
16
|
+
|
|
17
|
+
if (componentsContext) {
|
|
18
|
+
parentPreserved = componentsContext.u_;
|
|
19
|
+
} else {
|
|
20
|
+
componentsContext = getComponentsContext(out);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
componentsContext.u_ = true;
|
|
24
|
+
input.renderBody(out);
|
|
25
|
+
componentsContext.u_ = parentPreserved;
|
|
26
|
+
} else {
|
|
27
|
+
input.renderBody(out);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (isComponent) {
|
|
32
|
+
out.ef();
|
|
33
|
+
}
|
|
34
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
load.e = exists;
|
|
3
|
+
module.exports = load;
|
|
4
|
+
|
|
5
|
+
function load(id) {
|
|
6
|
+
return interopRequire(require(id));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function exists(id) {
|
|
10
|
+
// In lasso this helper is used to determine if a module was loaded but not run.
|
|
11
|
+
return !!(
|
|
12
|
+
require.runtime &&
|
|
13
|
+
require.runtime.resolve &&
|
|
14
|
+
require.runtime.resolve(id, "/"));
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function interopRequire(mod) {
|
|
19
|
+
return mod.default || mod;
|
|
20
|
+
}
|
|
@@ -17,7 +17,7 @@ function getComponentDefs(result) {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
function RenderResult(out) {
|
|
20
|
-
this.out = this.
|
|
20
|
+
this.out = this.q_ = out;
|
|
21
21
|
this.b_ = undefined;
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -37,7 +37,7 @@ var proto = RenderResult.prototype = {
|
|
|
37
37
|
var components = [];
|
|
38
38
|
|
|
39
39
|
componentDefs.forEach(function (componentDef) {
|
|
40
|
-
var component = componentDef.
|
|
40
|
+
var component = componentDef.r_;
|
|
41
41
|
if (!selector || selector(component)) {
|
|
42
42
|
components.push(component);
|
|
43
43
|
}
|
|
@@ -47,7 +47,7 @@ var proto = RenderResult.prototype = {
|
|
|
47
47
|
},
|
|
48
48
|
|
|
49
49
|
afterInsert: function (host) {
|
|
50
|
-
var out = this.
|
|
50
|
+
var out = this.q_;
|
|
51
51
|
var componentsContext = out.b_;
|
|
52
52
|
if (componentsContext) {
|
|
53
53
|
this.b_ = componentsContext.ad_(host);
|
|
@@ -58,13 +58,13 @@ var proto = RenderResult.prototype = {
|
|
|
58
58
|
return this;
|
|
59
59
|
},
|
|
60
60
|
getNode: function (host) {
|
|
61
|
-
return this.
|
|
61
|
+
return this.q_.ae_(host);
|
|
62
62
|
},
|
|
63
63
|
getOutput: function () {
|
|
64
|
-
return this.
|
|
64
|
+
return this.q_.af_();
|
|
65
65
|
},
|
|
66
66
|
toString: function () {
|
|
67
|
-
return this.
|
|
67
|
+
return this.q_.toString();
|
|
68
68
|
},
|
|
69
69
|
document: typeof document === "object" && document
|
|
70
70
|
};
|
|
@@ -89,7 +89,7 @@ Object.defineProperty(proto, "context", {
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
|
|
92
|
-
return this.
|
|
92
|
+
return this.q_;
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
95
|
|
|
@@ -101,10 +101,11 @@ Object.defineProperty(proto, "context", {
|
|
|
101
101
|
// - insertAfter(referenceEl)
|
|
102
102
|
// - prependTo(referenceEl)
|
|
103
103
|
domInsert(
|
|
104
|
-
proto,
|
|
105
|
-
function getEl(renderResult, referenceEl) {
|
|
106
|
-
|
|
107
|
-
},
|
|
108
|
-
function afterInsert(renderResult, referenceEl) {
|
|
109
|
-
|
|
110
|
-
}
|
|
104
|
+
proto,
|
|
105
|
+
function getEl(renderResult, referenceEl) {
|
|
106
|
+
return renderResult.getNode(getRootNode(referenceEl));
|
|
107
|
+
},
|
|
108
|
+
function afterInsert(renderResult, referenceEl) {
|
|
109
|
+
return renderResult.afterInsert(getRootNode(referenceEl));
|
|
110
|
+
}
|
|
111
|
+
);
|