diff --git a/packages/marko/src/runtime/vdom/AsyncVDOMBuilder.js b/packages/marko/src/runtime/vdom/AsyncVDOMBuilder.js index f1d77e7a3f..42b2e0d9b5 100644 --- a/packages/marko/src/runtime/vdom/AsyncVDOMBuilder.js +++ b/packages/marko/src/runtime/vdom/AsyncVDOMBuilder.js @@ -116,7 +116,7 @@ var proto = (AsyncVDOMBuilder.prototype = { return this; }, - text: function(text) { + text: function(text, ownerComponent) { var type = typeof text; if (type != "string") { @@ -124,24 +124,28 @@ var proto = (AsyncVDOMBuilder.prototype = { return; } else if (type === "object") { if (text.toHTML) { - return this.h(text.toHTML()); + return this.h(text.toHTML(), ownerComponent); } } text = text.toString(); } - this.___parent.___appendChild(new VText(text)); + this.___parent.___appendChild(new VText(text, ownerComponent)); return this; }, - comment: function(comment) { - return this.node(new VComment(comment)); + comment: function(comment, ownerComponent) { + return this.node(new VComment(comment, ownerComponent)); }, - html: function(html) { + html: function(html, ownerComponent) { if (html != null) { - var vdomNode = virtualizeHTML(html, this.___document || document); + var vdomNode = virtualizeHTML( + html, + this.___document || document, + ownerComponent + ); this.node(vdomNode); } diff --git a/packages/marko/src/runtime/vdom/VComment.js b/packages/marko/src/runtime/vdom/VComment.js index d0f6b81f2b..633b0d64bd 100644 --- a/packages/marko/src/runtime/vdom/VComment.js +++ b/packages/marko/src/runtime/vdom/VComment.js @@ -1,8 +1,8 @@ var VNode = require("./VNode"); var inherit = require("raptor-util/inherit"); -function VComment(value) { - this.___VNode(-1 /* no children */); +function VComment(value, ownerComponent) { + this.___VNode(-1 /* no children */, ownerComponent); this.___nodeValue = value; } diff --git a/packages/marko/src/runtime/vdom/VComponent.js b/packages/marko/src/runtime/vdom/VComponent.js index ad0273aa87..77f8c1b236 100644 --- a/packages/marko/src/runtime/vdom/VComponent.js +++ b/packages/marko/src/runtime/vdom/VComponent.js @@ -2,10 +2,9 @@ var VNode = require("./VNode"); var inherit = require("raptor-util/inherit"); function VComponent(component, key, ownerComponent, preserve) { - this.___VNode(null /* childCount */); + this.___VNode(null /* childCount */, ownerComponent); this.___key = key; this.___component = component; - this.___ownerComponent = ownerComponent; this.___preserve = preserve; } diff --git a/packages/marko/src/runtime/vdom/VElement.js b/packages/marko/src/runtime/vdom/VElement.js index 84b5a37103..9348041d00 100644 --- a/packages/marko/src/runtime/vdom/VElement.js +++ b/packages/marko/src/runtime/vdom/VElement.js @@ -83,7 +83,7 @@ function VElement( flags, props ) { - this.___VNode(childCount); + this.___VNode(childCount, ownerComponent); var constId; @@ -93,7 +93,6 @@ function VElement( this.___key = key; this.___flags = flags || 0; - this.___ownerComponent = ownerComponent; this.___attributes = attrs || EMPTY_OBJECT; this.___properties = props || EMPTY_OBJECT; this.___nodeName = tagName; @@ -234,7 +233,7 @@ VElement.___removePreservedAttributes = function(attrs) { return attrs; }; -function virtualizeElement(node, virtualizeChildNodes) { +function virtualizeElement(node, virtualizeChildNodes, ownerComponent) { var attributes = node.attributes; var attrCount = attributes.length; @@ -266,7 +265,7 @@ function virtualizeElement(node, virtualizeChildNodes) { tagName, attrs, null /*key*/, - null /*ownerComponent*/, + ownerComponent, 0 /*child count*/, 0 /*flags*/, null /*props*/ @@ -275,7 +274,7 @@ function virtualizeElement(node, virtualizeChildNodes) { if (vdomEl.___nodeName === "textarea") { vdomEl.___valueInternal = node.value; } else if (virtualizeChildNodes) { - virtualizeChildNodes(node, vdomEl); + virtualizeChildNodes(node, vdomEl, ownerComponent); } return vdomEl; diff --git a/packages/marko/src/runtime/vdom/VFragment.js b/packages/marko/src/runtime/vdom/VFragment.js index 968a3863d3..3d51d35a48 100644 --- a/packages/marko/src/runtime/vdom/VFragment.js +++ b/packages/marko/src/runtime/vdom/VFragment.js @@ -6,9 +6,8 @@ var inherit = require("raptor-util/inherit"); var createFragmentNode = require("./morphdom/fragment").___createFragmentNode; function VFragment(key, ownerComponent, preserve) { - this.___VNode(null /* childCount */); + this.___VNode(null /* childCount */, ownerComponent); this.___key = key; - this.___ownerComponent = ownerComponent; this.___preserve = preserve; } diff --git a/packages/marko/src/runtime/vdom/VNode.js b/packages/marko/src/runtime/vdom/VNode.js index 36874330e5..1374ae577f 100644 --- a/packages/marko/src/runtime/vdom/VNode.js +++ b/packages/marko/src/runtime/vdom/VNode.js @@ -2,17 +2,16 @@ function VNode() {} VNode.prototype = { - ___VNode: function(finalChildCount) { + ___VNode: function(finalChildCount, ownerComponent) { this.___finalChildCount = finalChildCount; this.___childCount = 0; this.___firstChildInternal = null; this.___lastChild = null; this.___parentNode = null; this.___nextSiblingInternal = null; + this.___ownerComponent = ownerComponent; }, - ___ownerComponent: null, - get ___firstChild() { var firstChild = this.___firstChildInternal; diff --git a/packages/marko/src/runtime/vdom/VText.js b/packages/marko/src/runtime/vdom/VText.js index 8918ff39c2..4ced1b8213 100644 --- a/packages/marko/src/runtime/vdom/VText.js +++ b/packages/marko/src/runtime/vdom/VText.js @@ -1,8 +1,8 @@ var VNode = require("./VNode"); var inherit = require("raptor-util/inherit"); -function VText(value) { - this.___VNode(-1 /* no children */); +function VText(value, ownerComponent) { + this.___VNode(-1 /* no children */, ownerComponent); this.___nodeValue = value; } diff --git a/packages/marko/src/runtime/vdom/vdom.js b/packages/marko/src/runtime/vdom/vdom.js index af5f0c5723..27a64dd7af 100644 --- a/packages/marko/src/runtime/vdom/vdom.js +++ b/packages/marko/src/runtime/vdom/vdom.js @@ -9,32 +9,32 @@ var VFragment = require("./VFragment"); var defaultDocument = typeof document != "undefined" && document; var specialHtmlRegexp = /[&<]/; -function virtualizeChildNodes(node, vdomParent) { +function virtualizeChildNodes(node, vdomParent, ownerComponent) { var curChild = node.firstChild; while (curChild) { - vdomParent.___appendChild(virtualize(curChild)); + vdomParent.___appendChild(virtualize(curChild, ownerComponent)); curChild = curChild.nextSibling; } } -function virtualize(node) { +function virtualize(node, ownerComponent) { switch (node.nodeType) { case 1: - return VElement.___virtualize(node, virtualizeChildNodes); + return VElement.___virtualize(node, virtualizeChildNodes, ownerComponent); case 3: - return new VText(node.nodeValue); + return new VText(node.nodeValue, ownerComponent); case 8: - return new VComment(node.nodeValue); + return new VComment(node.nodeValue, ownerComponent); case 11: var vdomDocFragment = new VDocumentFragment(); - virtualizeChildNodes(node, vdomDocFragment); + virtualizeChildNodes(node, vdomDocFragment, ownerComponent); return vdomDocFragment; } } -function virtualizeHTML(html, doc) { +function virtualizeHTML(html, doc, ownerComponent) { if (!specialHtmlRegexp.test(html)) { - return new VText(html); + return new VText(html, ownerComponent); } var container = doc.createElement("body"); @@ -43,7 +43,7 @@ function virtualizeHTML(html, doc) { var curChild = container.firstChild; while (curChild) { - vdomFragment.___appendChild(virtualize(curChild)); + vdomFragment.___appendChild(virtualize(curChild, ownerComponent)); curChild = curChild.nextSibling; } diff --git a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js index 9c619fb52c..82df8d6b22 100644 --- a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("R6GeK_TQ", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ");out.t(input.name);out.t("!");}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("R6GeK_TQ", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ", component);out.t(input.name);out.t("!", component);}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js index 60635e9552..db402734e8 100644 --- a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("73lE6A3Z", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ");out.t(input.name);out.t("!");}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("73lE6A3Z", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ", component);out.t(input.name);out.t("!", component);}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js index 3cfd034206..5ff0410c73 100644 --- a/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("UjcD7_Jz", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ");out.t(input.name);out.t("!");}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("UjcD7_Jz", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ", component);out.t(input.name);out.t("!", component);}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js index fde588d687..bb10ac2872 100644 --- a/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("E0Fkd6Tw", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ");out.t(input.name);out.t("!");}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer"));var _vdom = require("marko/src/runtime/vdom");var _registryBrowser = require("marko/src/runtime/components/registry-browser");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent"));const _marko_template = (0, _vdom.t)(__filename);var _default = _marko_template;exports.default = _default;const _marko_componentType = (0, _registryBrowser.r)("E0Fkd6Tw", () => _marko_template),_marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _component, component, state) {out.t("Hello ", component);out.t(input.name);out.t("!", component);}, { t: _marko_componentType, i: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/compiler/fixtures-html/no-update-multiple/expected.js b/packages/marko/test/compiler/fixtures-html/no-update-multiple/expected.js deleted file mode 100644 index fbd3e9e053..0000000000 --- a/packages/marko/test/compiler/fixtures-html/no-update-multiple/expected.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -var marko_template = module.exports = require("marko/src/html").t(__filename), - marko_componentType = "/marko-test$1.0.0/compiler/fixtures-html/no-update-multiple/template.marko", - marko_renderer = require("marko/src/runtime/components/renderer"), - marko_dataMarko = require("marko/src/runtime/html/helpers/data-marko"), - marko_attr = require("marko/src/runtime/html/helpers/attr"); - -require("marko/src/runtime/vdom/preserve-attrs"); - -function render(input, out, __component, component, state) { - var data = input; - - out.w("
"); -} - -marko_template._ = marko_renderer(render, { - ___implicit: true, - ___type: marko_componentType - }); - -marko_template.meta = { - id: "/marko-test$1.0.0/compiler/fixtures-html/no-update-multiple/template.marko" - }; diff --git a/packages/marko/test/compiler/fixtures-html/no-update/expected.js b/packages/marko/test/compiler/fixtures-html/no-update/expected.js deleted file mode 100644 index ddb8264dfc..0000000000 --- a/packages/marko/test/compiler/fixtures-html/no-update/expected.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; - -var marko_template = module.exports = require("marko/src/html").t(__filename), - marko_componentType = "/marko-test$1.0.0/compiler/fixtures-html/no-update/template.marko", - marko_renderer = require("marko/src/runtime/components/renderer"), - marko_dataMarko = require("marko/src/runtime/html/helpers/data-marko"), - marko_attr = require("marko/src/runtime/html/helpers/attr"); - -require("marko/src/runtime/vdom/preserve-attrs"); - -function render(input, out, __component, component, state) { - var data = input; - - out.w(""); -} - -marko_template._ = marko_renderer(render, { - ___implicit: true, - ___type: marko_componentType - }); - -marko_template.meta = { - id: "/marko-test$1.0.0/compiler/fixtures-html/no-update/template.marko" - }; diff --git a/packages/translator-default/src/text/index[vdom].js b/packages/translator-default/src/text/index[vdom].js index 6b4b8e3f29..4f971de312 100644 --- a/packages/translator-default/src/text/index[vdom].js +++ b/packages/translator-default/src/text/index[vdom].js @@ -7,6 +7,6 @@ export default function(path) { const { node } = path; path.replaceWith( - withPreviousLocation(write("t", t.stringLiteral(decode(node.value))), node) + withPreviousLocation(write("t", t.stringLiteral(decode(node.value)), t.identifier("component")), node) ); } diff --git a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/vdom-expected.js b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/vdom-expected.js index 1f72dd12d7..ac1f807001 100644 --- a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/vdom-expected.js @@ -20,7 +20,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _thing = { "x": 1, "renderBody": out => { - out.t("Hello"); + out.t("Hello", component); } }; } diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/vdom-expected.js index d33c42f5e7..8f76e2cc28 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/vdom-expected.js @@ -14,17 +14,17 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, "header": { "class": "my-header", "renderBody": out => { - out.t("Header content"); + out.t("Header content", component); } }, "footer": { "class": "my-footer", "renderBody": out => { - out.t("Footer content"); + out.t("Footer content", component); } } }), out => { - out.t("Body content"); + out.t("Body content", component); }, null, null, _component, "0"); }, { t: _marko_componentType, diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic/vdom-expected.js index b7f59c8645..155f59ec2c 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic/vdom-expected.js @@ -27,7 +27,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, color }, "renderBody": out => { - out.t("foo"); + out.t("foo", component); } }); } else { @@ -36,7 +36,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, color }, "renderBody": out => { - out.t("bar"); + out.t("bar", component); } }); } @@ -84,7 +84,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _rows2.push({ "row": -1, "renderBody": out => { - out.t("Outside"); + out.t("Outside", component); } }); diff --git a/packages/translator-default/test/fixtures/at-tags/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags/vdom-expected.js index 2683a60076..2165a5ac27 100644 --- a/packages/translator-default/test/fixtures/at-tags/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags/vdom-expected.js @@ -17,7 +17,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _hello_tag({ "foo": { "renderBody": out => { - out.t("Foo!"); + out.t("Foo!", component); } } }, out, _component, "0"); diff --git a/packages/translator-default/test/fixtures/attr-class/vdom-expected.js b/packages/translator-default/test/fixtures/attr-class/vdom-expected.js index d515342f8b..80915d28c5 100644 --- a/packages/translator-default/test/fixtures/attr-class/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-class/vdom-expected.js @@ -54,7 +54,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, d }], "renderBody": out => { - out.t("Hello"); + out.t("Hello", component); } } }), null, null, null, _component, "5"); diff --git a/packages/translator-default/test/fixtures/attr-style/vdom-expected.js b/packages/translator-default/test/fixtures/attr-style/vdom-expected.js index 70ed142279..3fb199638c 100644 --- a/packages/translator-default/test/fixtures/attr-style/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-style/vdom-expected.js @@ -56,7 +56,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, color: "green" }, "renderBody": out => { - out.t("Hello"); + out.t("Hello", component); } } }), null, null, null, _component, "6"); diff --git a/packages/translator-default/test/fixtures/cdata/vdom-expected.js b/packages/translator-default/test/fixtures/cdata/vdom-expected.js index 36e85ca551..4ae594aea0 100644 --- a/packages/translator-default/test/fixtures/cdata/vdom-expected.js +++ b/packages/translator-default/test/fixtures/cdata/vdom-expected.js @@ -10,9 +10,9 @@ const _marko_componentType = _marko_registerComponent("Yf6hG3qo", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { out.be("div", null, "0", component, null, 0); - out.t("Here is a CDATA section: "); + out.t("Here is a CDATA section: ", component); out.t(" < > & "); - out.t(" with all kinds of unescaped text."); + out.t(" with all kinds of unescaped text.", component); out.ee(); }, { t: _marko_componentType, diff --git a/packages/translator-default/test/fixtures/custom-tag-parameters/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-parameters/vdom-expected.js index 39f6780e05..716ec25e59 100644 --- a/packages/translator-default/test/fixtures/custom-tag-parameters/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-parameters/vdom-expected.js @@ -20,9 +20,9 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, }) => { out.be("div", null, "1", component, null, 0); out.t(a); - out.t(" "); + out.t(" ", component); out.t(b); - out.t(" "); + out.t(" ", component); out.t(c); out.ee(); } diff --git a/packages/translator-default/test/fixtures/custom-tag-render-body/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-render-body/vdom-expected.js index b09283cf03..ffb75c7b13 100644 --- a/packages/translator-default/test/fixtures/custom-tag-render-body/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-render-body/vdom-expected.js @@ -17,7 +17,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _testBodyFunction_tag({ "name": "World", "renderBody": out => { - out.t("This is the body content"); + out.t("This is the body content", component); } }, out, _component, "0"); }, { diff --git a/packages/translator-default/test/fixtures/data-marko-implicit-component/vdom-expected.js b/packages/translator-default/test/fixtures/data-marko-implicit-component/vdom-expected.js index 0622e98ed5..088fa9a5f8 100644 --- a/packages/translator-default/test/fixtures/data-marko-implicit-component/vdom-expected.js +++ b/packages/translator-default/test/fixtures/data-marko-implicit-component/vdom-expected.js @@ -15,7 +15,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, }, "0", component, null, 0, { noupdate: ["class"] }); - out.t("Hello "); + out.t("Hello ", component); out.t(input.name); out.ee(); }, { diff --git a/packages/translator-default/test/fixtures/data-migration/vdom-expected.js b/packages/translator-default/test/fixtures/data-migration/vdom-expected.js index cdd704fa95..50646a39d1 100644 --- a/packages/translator-default/test/fixtures/data-migration/vdom-expected.js +++ b/packages/translator-default/test/fixtures/data-migration/vdom-expected.js @@ -17,13 +17,13 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _test_tag({ "class": input.class, "renderBody": (out, data) => { - out.t("Hello "); + out.t("Hello ", component); out.t(data.name); } }, out, _component, "0"); out.be("div", null, "1", component, null, 0); - out.t("Hello "); + out.t("Hello ", component); out.t(input.name); out.be("span", null, "2", component, null, 0); @@ -33,13 +33,13 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, console.log(data); }; - out.t("Hello "); + out.t("Hello ", component); out.t(input); out.ee(); if (true) { const data = "bar"; - out.t("Hello "); + out.t("Hello ", component); out.t(data); } diff --git a/packages/translator-default/test/fixtures/declaration/vdom-expected.js b/packages/translator-default/test/fixtures/declaration/vdom-expected.js index dd4b1e4aa9..cef2b75a24 100644 --- a/packages/translator-default/test/fixtures/declaration/vdom-expected.js +++ b/packages/translator-default/test/fixtures/declaration/vdom-expected.js @@ -11,7 +11,7 @@ const _marko_componentType = _marko_registerComponent("YGIRzvLP", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { out.be("contact-info", null, "0", component, null, 0); out.be("name", null, "1", component, null, 0); - out.t("Hello World"); + out.t("Hello World", component); out.ee(); out.ee(); }, { diff --git a/packages/translator-default/test/fixtures/doctype/vdom-expected.js b/packages/translator-default/test/fixtures/doctype/vdom-expected.js index 903d2a8152..d03d1d1ded 100644 --- a/packages/translator-default/test/fixtures/doctype/vdom-expected.js +++ b/packages/translator-default/test/fixtures/doctype/vdom-expected.js @@ -25,14 +25,14 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, out.be("html", null, "0", component, null, 0); out.be("head", null, "1", component, null, 0); out.be("title", null, "2", component, null, 0); - out.t("Title of the document"); + out.t("Title of the document", component); out.ee(); out.ee(); out.be("body", null, "3", component, null, 0); _componentGlobals_tag({}, out, _component, "4"); - out.t("The content of the document......"); + out.t("The content of the document......", component); _initComponents_tag({}, out, _component, "5"); diff --git a/packages/translator-default/test/fixtures/entities/vdom-expected.js b/packages/translator-default/test/fixtures/entities/vdom-expected.js index 9e6ae7f8f3..3cf8cc53e4 100644 --- a/packages/translator-default/test/fixtures/entities/vdom-expected.js +++ b/packages/translator-default/test/fixtures/entities/vdom-expected.js @@ -9,7 +9,7 @@ const _marko_componentType = _marko_registerComponent("UkPdJEa2", () => _marko_t _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { - out.t("Hello John & Suzy Invalid Entity: &b ; Valid Numeric Entity: \" Valid Hexadecimal Entity: \xA2"); + out.t("Hello John & Suzy Invalid Entity: &b ; Valid Numeric Entity: \" Valid Hexadecimal Entity: \xA2", component); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/vdom-expected.js b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/vdom-expected.js index 444eabd595..9cd9a02cb6 100644 --- a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/vdom-expected.js +++ b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/vdom-expected.js @@ -11,7 +11,7 @@ const _marko_componentType = _marko_registerComponent("bnC1CPSF", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { _marko_dynamic_tag(out, input.x, null, out => { - out.t("Hello"); + out.t("Hello", component); }, null, null, _component, "0"); }, { t: _marko_componentType, diff --git a/packages/translator-default/test/fixtures/for-tag/vdom-expected.js b/packages/translator-default/test/fixtures/for-tag/vdom-expected.js index 5c684d2a85..4ed48bf5a9 100644 --- a/packages/translator-default/test/fixtures/for-tag/vdom-expected.js +++ b/packages/translator-default/test/fixtures/for-tag/vdom-expected.js @@ -16,7 +16,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, const _keyScope = `[${i}]`; out.be("div", null, "0" + _keyScope, component, null, 0); out.t(i); - out.t(": "); + out.t(": ", component); out.t(val); out.ee(); out.be("div", null, "1" + _keyScope, component, 0, 0); @@ -30,7 +30,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, const _keyScope2 = `[${key}]`; out.be("div", null, "3" + _keyScope2, component, null, 0); out.t(key); - out.t(": "); + out.t(": ", component); out.t(val); out.ee(); out.be("div", null, "4" + _keyScope2, component, 0, 0); @@ -59,7 +59,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _keyScope4 = `[${_keyValue}]`; out.be("div", null, _keyValue, component, null, 0); out.t(i); - out.t(": "); + out.t(": ", component); out.t(val); out.ee(); out.be("div", null, "9" + _keyScope4, component, 0, 0); @@ -76,7 +76,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, const _keyValue2 = `@${i}`; out.be("div", null, _keyValue2, component, null, 0); out.t(list.length); - out.t(": "); + out.t(": ", component); out.t(val); out.ee(); } @@ -87,7 +87,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _keyScope5 = `[${_keyValue3}]`; out.be("div", null, _keyValue3, component, null, 0); out.t(key); - out.t(": "); + out.t(": ", component); out.t(val); out.ee(); out.be("div", null, "10" + _keyScope5, component, 0, 0); diff --git a/packages/translator-default/test/fixtures/hello-dynamic/vdom-expected.js b/packages/translator-default/test/fixtures/hello-dynamic/vdom-expected.js index 19d99c06d6..f0b86dfe5d 100644 --- a/packages/translator-default/test/fixtures/hello-dynamic/vdom-expected.js +++ b/packages/translator-default/test/fixtures/hello-dynamic/vdom-expected.js @@ -9,13 +9,13 @@ const _marko_componentType = _marko_registerComponent("5nWTrVOu", () => _marko_t _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { - out.t("Hello "); + out.t("Hello ", component); out.t(input.name); - out.t("! Hello "); + out.t("! Hello ", component); out.h(input.name); - out.t("! Hello "); + out.t("! Hello ", component); out.h(input.missing); - out.t("!"); + out.t("!", component); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/html-entity/vdom-expected.js b/packages/translator-default/test/fixtures/html-entity/vdom-expected.js index 2e67275ae3..0d1dd6cfbc 100644 --- a/packages/translator-default/test/fixtures/html-entity/vdom-expected.js +++ b/packages/translator-default/test/fixtures/html-entity/vdom-expected.js @@ -10,7 +10,7 @@ const _marko_componentType = _marko_registerComponent("w5F2RVUv", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { out.be("div", null, "0", component, null, 0); - out.t("
"); + out.t("
", component); out.ee(); }, { t: _marko_componentType, diff --git a/packages/translator-default/test/fixtures/if-tag/vdom-expected.js b/packages/translator-default/test/fixtures/if-tag/vdom-expected.js index 54c29425ee..173fdcf701 100644 --- a/packages/translator-default/test/fixtures/if-tag/vdom-expected.js +++ b/packages/translator-default/test/fixtures/if-tag/vdom-expected.js @@ -10,21 +10,21 @@ const _marko_componentType = _marko_registerComponent("HCe_Baop", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { if (a + b) { - out.t("Hello"); + out.t("Hello", component); } if (a, b) { - out.t("World"); + out.t("World", component); } out.be("div", null, "0", component, null, 0); if (x) { - out.t("A"); + out.t("A", component); } else if (y) { - out.t("B"); + out.t("B", component); } else { - out.t("C"); + out.t("C", component); } out.ee(); diff --git a/packages/translator-default/test/fixtures/macros/vdom-expected.js b/packages/translator-default/test/fixtures/macros/vdom-expected.js index 64b0336762..f2acaf1398 100644 --- a/packages/translator-default/test/fixtures/macros/vdom-expected.js +++ b/packages/translator-default/test/fixtures/macros/vdom-expected.js @@ -11,9 +11,9 @@ const _marko_componentType = _marko_registerComponent("uRMbWunz", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { function _renderTree(out, node) { - out.t("Name: "); + out.t("Name: ", component); out.t(node.name); - out.t(" Children: "); + out.t(" Children: ", component); if (node.children) { out.be("ul", null, "1", component, null, 0); diff --git a/packages/translator-default/test/fixtures/no-update-directives/vdom-expected.js b/packages/translator-default/test/fixtures/no-update-directives/vdom-expected.js index 7c35a87f77..071c3866ca 100644 --- a/packages/translator-default/test/fixtures/no-update-directives/vdom-expected.js +++ b/packages/translator-default/test/fixtures/no-update-directives/vdom-expected.js @@ -73,7 +73,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _preserve_tag({ "if": (a, b), "renderBody": out => { - out.t("Again"); + out.t("Again", component); } }, out, _component, "p_10"); } @@ -141,7 +141,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, _preserve_tag({ "if": (a, b), "renderBody": out => { - out.t("Again"); + out.t("Again", component); } }, out, _component, "p_@f"); } diff --git a/packages/translator-default/test/fixtures/placeholders/vdom-expected.js b/packages/translator-default/test/fixtures/placeholders/vdom-expected.js index be5df99085..d63df89b5d 100644 --- a/packages/translator-default/test/fixtures/placeholders/vdom-expected.js +++ b/packages/translator-default/test/fixtures/placeholders/vdom-expected.js @@ -15,14 +15,14 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, out.h(input.x); out.h("Hello world "); out.be("script", null, "1", component, null, 0); - out.t("\n "); + out.t("\n ", component); out.t("Hello "); - out.t("\n "); + out.t("\n ", component); out.ee(); out.be("style", null, "2", component, null, 0); - out.t("\n "); + out.t("\n ", component); out.t("Hello "); - out.t("\n "); + out.t("\n ", component); out.ee(); out.ee(); }, { diff --git a/packages/translator-default/test/fixtures/sanity-check/vdom-expected.js b/packages/translator-default/test/fixtures/sanity-check/vdom-expected.js index 02d863cf56..6ac9a521ae 100644 --- a/packages/translator-default/test/fixtures/sanity-check/vdom-expected.js +++ b/packages/translator-default/test/fixtures/sanity-check/vdom-expected.js @@ -33,14 +33,14 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, out.be("style", { "id": "css" }, "1", component, null, 1); - out.t("\n div {\n color: "); + out.t("\n div {\n color: ", component); out.t(x); - out.t(";\n }\n"); + out.t(";\n }\n", component); out.ee(); out.be("script", null, "2", component, null, 0); - out.t("\n var y = "); + out.t("\n var y = ", component); out.t(x); - out.t(";\n"); + out.t(";\n", component); out.ee(); function _thing(out, stuff) { @@ -148,12 +148,12 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, out.ee(); if (x === a) { - out.t("a "); + out.t("a ", component); out.t(b); } else if (x === 2) { - out.t("b"); + out.t("b", component); } else { - out.t("c"); + out.t("c", component); } out.ee(); @@ -162,13 +162,13 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, }, "25", component, 0, 0); out.ee(); out.be("div", null, "26", component, null, 0); - out.t("123 abc 123"); + out.t("123 abc 123", component); out.ee(); out.be("span", _marko_attrs(abc), "27", component, 0, 0); out.ee(); if (cond) { - out.t("Hello "); + out.t("Hello ", component); out.t(planet); } diff --git a/packages/translator-default/test/fixtures/scriptlet-line-block/vdom-expected.js b/packages/translator-default/test/fixtures/scriptlet-line-block/vdom-expected.js index 96befd924d..60318af9b6 100644 --- a/packages/translator-default/test/fixtures/scriptlet-line-block/vdom-expected.js +++ b/packages/translator-default/test/fixtures/scriptlet-line-block/vdom-expected.js @@ -16,7 +16,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, var baz = 456; out.be("div", null, "0", component, null, 0); console.log('foo'); - out.t("Hello there "); + out.t("Hello there ", component); out.t(name); out.ee(); }, { diff --git a/packages/translator-default/test/fixtures/simple/vdom-expected.js b/packages/translator-default/test/fixtures/simple/vdom-expected.js index a7c8216c1d..200b305282 100644 --- a/packages/translator-default/test/fixtures/simple/vdom-expected.js +++ b/packages/translator-default/test/fixtures/simple/vdom-expected.js @@ -9,9 +9,9 @@ const _marko_componentType = _marko_registerComponent("Bvz2is5Z", () => _marko_t _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { - out.t("Hello "); + out.t("Hello ", component); out.t(input.name); - out.t("! "); + out.t("! ", component); if (input.colors.length) { out.be("ul", null, "0", component, null, 0); @@ -28,7 +28,7 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, out.ee(); } else { out.be("div", null, "2", component, null, 0); - out.t("No colors!"); + out.t("No colors!", component); out.ee(); } }, { diff --git a/packages/translator-default/test/fixtures/svg-tag/vdom-expected.js b/packages/translator-default/test/fixtures/svg-tag/vdom-expected.js index 3d612886d7..24b628f6c2 100644 --- a/packages/translator-default/test/fixtures/svg-tag/vdom-expected.js +++ b/packages/translator-default/test/fixtures/svg-tag/vdom-expected.js @@ -24,13 +24,13 @@ _marko_template._ = _marko_renderer(function (input, out, _component, component, out.be("a", null, "2", component, 0, 0); out.ee(); out.be("style", null, "3", component, null, 0); - out.t("div { color: green }"); + out.t("div { color: green }", component); out.ee(); out.be("script", null, "4", component, null, 0); - out.t("alert(\"Hello\");"); + out.t("alert(\"Hello\");", component); out.ee(); out.be("title", null, "5", component, null, 0); - out.t("Test"); + out.t("Test", component); out.ee(); out.ee(); out.be("a", null, "6", component, 0, 0); diff --git a/packages/translator-default/test/fixtures/textarea-tag/vdom-expected.js b/packages/translator-default/test/fixtures/textarea-tag/vdom-expected.js index 51eb45506d..b9e4e8a229 100644 --- a/packages/translator-default/test/fixtures/textarea-tag/vdom-expected.js +++ b/packages/translator-default/test/fixtures/textarea-tag/vdom-expected.js @@ -10,7 +10,7 @@ const _marko_componentType = _marko_registerComponent("exzxXYhB", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { out.be("textarea", null, "0", component, null, 0); - out.t("\n hello world\n"); + out.t("\n hello world\n", component); out.ee(); }, { t: _marko_componentType, diff --git a/packages/translator-default/test/fixtures/top-level-text/vdom-expected.js b/packages/translator-default/test/fixtures/top-level-text/vdom-expected.js index 500e98480e..c67ee79b8f 100644 --- a/packages/translator-default/test/fixtures/top-level-text/vdom-expected.js +++ b/packages/translator-default/test/fixtures/top-level-text/vdom-expected.js @@ -9,7 +9,7 @@ const _marko_componentType = _marko_registerComponent("-2ik31Wg", () => _marko_t _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { - out.t("Hello John"); + out.t("Hello John", component); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/white-space-test/vdom-expected.js b/packages/translator-default/test/fixtures/white-space-test/vdom-expected.js index 694069da20..390098799f 100644 --- a/packages/translator-default/test/fixtures/white-space-test/vdom-expected.js +++ b/packages/translator-default/test/fixtures/white-space-test/vdom-expected.js @@ -11,33 +11,33 @@ const _marko_componentType = _marko_registerComponent("01WxYw7m", () => _marko_t _marko_template._ = _marko_renderer(function (input, out, _component, component, state) { out.be("div", null, "0", component, null, 0); out.be("div", null, "1", component, null, 0); - out.t("Hello "); + out.t("Hello ", component); out.be("div", null, "2", component, null, 0); - out.t(" "); + out.t(" ", component); out.ee(); - out.t(" World"); + out.t(" World", component); out.ee(); out.be("div", null, "3", component, null, 0); - out.t(" Hello"); + out.t(" Hello", component); out.ee(); out.be("pre", null, "4", component, null, 0); - out.t("\n This should \n be preserved\n "); + out.t("\n This should \n be preserved\n ", component); out.ee(); out.be("div", null, "5", component, null, 0); out.be("div", null, "6", component, null, 0); - out.t("Hello "); + out.t("Hello ", component); out.ee(); out.ee(); out.ee(); out.be("div", null, "7", component, null, 0); scriptletA(); scriptletB(); - out.t("Hello "); + out.t("Hello ", component); scriptletC(); - out.t("World"); + out.t("World", component); scriptletD(); out.ee(); - out.t(" Hello World! "); + out.t(" Hello World! ", component); out.t(a); out.t(b); out.be("div", null, "8", component, 0, 0);