marko 5.35.7 → 5.35.8

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.
Files changed (127) hide show
  1. package/bin/markoc.js +0 -2
  2. package/dist/compiler/index.js +2 -0
  3. package/dist/core-tags/core/await/AsyncValue.js +1 -0
  4. package/dist/core-tags/core/await/renderer.js +1 -0
  5. package/dist/node-require/hot-reload.js +1 -3
  6. package/dist/node-require/index.js +1 -1
  7. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +4 -2
  8. package/dist/node_modules/@internal/components-entry/index.js +13 -13
  9. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
  10. package/dist/node_modules/@internal/components-registry/index-browser.js +40 -36
  11. package/dist/node_modules/@internal/components-registry/index.js +2 -2
  12. package/dist/node_modules/@internal/components-util/index-browser.js +16 -16
  13. package/dist/node_modules/@internal/components-util/index.js +7 -7
  14. package/dist/node_modules/@internal/create-readable/index-browser.js +2 -2
  15. package/dist/node_modules/@internal/create-readable/index.js +9 -9
  16. package/dist/node_modules/@internal/preserve-tag/index-browser.js +5 -5
  17. package/dist/node_modules/@internal/preserve-tag/index.js +1 -1
  18. package/dist/node_modules/@internal/require/index-webpack.js +1 -0
  19. package/dist/node_modules/@internal/set-immediate/index-browser.js +1 -1
  20. package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -2
  21. package/dist/node_modules/@internal/set-immediate/index.js +2 -2
  22. package/dist/runtime/RenderResult.js +4 -3
  23. package/dist/runtime/components/Component.js +107 -106
  24. package/dist/runtime/components/ComponentDef.js +25 -25
  25. package/dist/runtime/components/ComponentsContext.js +6 -6
  26. package/dist/runtime/components/GlobalComponentsContext.js +3 -3
  27. package/dist/runtime/components/KeySequence.js +3 -3
  28. package/dist/runtime/components/ServerComponent.js +8 -7
  29. package/dist/runtime/components/State.js +20 -24
  30. package/dist/runtime/components/attach-detach.js +7 -7
  31. package/dist/runtime/components/defineComponent.js +0 -1
  32. package/dist/runtime/components/dom-data.js +5 -5
  33. package/dist/runtime/components/event-delegation.js +10 -10
  34. package/dist/runtime/components/legacy/defineRenderer-legacy.js +14 -13
  35. package/dist/runtime/components/legacy/dependencies/index.js +9 -10
  36. package/dist/runtime/components/legacy/jquery.js +1 -0
  37. package/dist/runtime/components/legacy/renderer-legacy.js +33 -32
  38. package/dist/runtime/components/renderer.js +29 -29
  39. package/dist/runtime/components/update-manager.js +4 -4
  40. package/dist/runtime/createOut.js +1 -1
  41. package/dist/runtime/dom-insert.js +5 -5
  42. package/dist/runtime/helpers/_change-case.js +2 -2
  43. package/dist/runtime/helpers/dynamic-tag.js +18 -13
  44. package/dist/runtime/helpers/render-tag.js +1 -1
  45. package/dist/runtime/helpers/serialize-noop.js +5 -0
  46. package/dist/runtime/helpers/style-value.js +1 -1
  47. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +1 -0
  48. package/dist/runtime/helpers/tags-compat/dom.mjs +1 -0
  49. package/dist/runtime/helpers/tags-compat/html-debug.js +1 -1
  50. package/dist/runtime/helpers/tags-compat/html-debug.mjs +3 -2
  51. package/dist/runtime/helpers/tags-compat/html.js +3 -1
  52. package/dist/runtime/helpers/tags-compat/html.mjs +3 -2
  53. package/dist/runtime/helpers/tags-compat/runtime-dom.js +38 -35
  54. package/dist/runtime/helpers/tags-compat/runtime-html.js +24 -65
  55. package/dist/runtime/html/AsyncStream.js +25 -24
  56. package/dist/runtime/html/BufferedWriter.js +2 -2
  57. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  58. package/dist/runtime/html/helpers/attr.js +4 -3
  59. package/dist/runtime/html/helpers/attrs.js +1 -0
  60. package/dist/runtime/html/helpers/data-marko.js +2 -3
  61. package/dist/runtime/html/helpers/escape-quotes.js +1 -1
  62. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  63. package/dist/runtime/html/helpers/merge-attrs.js +1 -0
  64. package/dist/runtime/html/index.js +1 -1
  65. package/dist/runtime/renderable.js +5 -5
  66. package/dist/runtime/vdom/AsyncVDOMBuilder.js +86 -85
  67. package/dist/runtime/vdom/VComponent.js +4 -4
  68. package/dist/runtime/vdom/VDocumentFragment.js +7 -7
  69. package/dist/runtime/vdom/VElement.js +41 -42
  70. package/dist/runtime/vdom/VFragment.js +9 -9
  71. package/dist/runtime/vdom/VNode.js +34 -35
  72. package/dist/runtime/vdom/VText.js +8 -8
  73. package/dist/runtime/vdom/helpers/attrs.js +1 -0
  74. package/dist/runtime/vdom/helpers/const-element.js +3 -3
  75. package/dist/runtime/vdom/hot-reload.js +14 -14
  76. package/dist/runtime/vdom/index.js +1 -1
  77. package/dist/runtime/vdom/morphdom/fragment.js +5 -5
  78. package/dist/runtime/vdom/morphdom/helpers.js +5 -5
  79. package/dist/runtime/vdom/morphdom/index.js +67 -68
  80. package/dist/runtime/vdom/vdom.js +14 -14
  81. package/dist/taglib/index.js +1 -0
  82. package/index.d.ts +1 -5
  83. package/package.json +2 -2
  84. package/src/compiler/index.js +2 -0
  85. package/src/core-tags/core/await/AsyncValue.js +1 -0
  86. package/src/core-tags/core/await/renderer.js +1 -0
  87. package/src/node-require/hot-reload.js +0 -2
  88. package/src/node-require/index.js +1 -1
  89. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +4 -2
  90. package/src/node_modules/@internal/components-entry/index.js +2 -2
  91. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +1 -0
  92. package/src/node_modules/@internal/components-registry/index-browser.js +8 -4
  93. package/src/node_modules/@internal/components-util/index-browser.js +1 -1
  94. package/src/node_modules/@internal/create-readable/index-browser.js +1 -1
  95. package/src/node_modules/@internal/require/index-webpack.js +1 -0
  96. package/src/runtime/RenderResult.js +1 -0
  97. package/src/runtime/components/Component.js +2 -1
  98. package/src/runtime/components/ComponentDef.js +4 -4
  99. package/src/runtime/components/ServerComponent.js +1 -0
  100. package/src/runtime/components/State.js +6 -10
  101. package/src/runtime/components/defineComponent.js +0 -1
  102. package/src/runtime/components/legacy/defineRenderer-legacy.js +1 -0
  103. package/src/runtime/components/legacy/dependencies/index.js +0 -1
  104. package/src/runtime/components/legacy/jquery.js +1 -0
  105. package/src/runtime/components/legacy/renderer-legacy.js +1 -0
  106. package/src/runtime/helpers/dynamic-tag.js +11 -6
  107. package/src/runtime/helpers/serialize-noop.js +5 -0
  108. package/src/runtime/helpers/tags-compat/dom-debug.mjs +1 -0
  109. package/src/runtime/helpers/tags-compat/dom.mjs +1 -0
  110. package/src/runtime/helpers/tags-compat/html-debug.js +1 -1
  111. package/src/runtime/helpers/tags-compat/html-debug.mjs +3 -2
  112. package/src/runtime/helpers/tags-compat/html.js +3 -1
  113. package/src/runtime/helpers/tags-compat/html.mjs +3 -2
  114. package/src/runtime/helpers/tags-compat/runtime-dom.js +23 -20
  115. package/src/runtime/helpers/tags-compat/runtime-html.js +18 -59
  116. package/src/runtime/html/AsyncStream.js +1 -0
  117. package/src/runtime/html/helpers/attr.js +1 -0
  118. package/src/runtime/html/helpers/attrs.js +1 -0
  119. package/src/runtime/html/helpers/data-marko.js +0 -1
  120. package/src/runtime/html/helpers/merge-attrs.js +1 -0
  121. package/src/runtime/vdom/AsyncVDOMBuilder.js +1 -0
  122. package/src/runtime/vdom/VElement.js +1 -2
  123. package/src/runtime/vdom/VNode.js +0 -1
  124. package/src/runtime/vdom/helpers/attrs.js +1 -0
  125. package/src/runtime/vdom/morphdom/index.js +0 -1
  126. package/src/taglib/index.js +1 -0
  127. package/tags-html.d.ts +7 -9
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- /* jshint newcap:false */
3
2
 
3
+ // eslint-disable-next-line no-constant-binary-expression
4
4
  var complain = "MARKO_DEBUG" && require("complain");
5
5
  var EventEmitter = require("events-light");
6
6
  var SubscriptionTracker = require("listener-tracker");
@@ -513,6 +513,7 @@ Component.prototype = componentProto = {
513
513
  },
514
514
 
515
515
  ___scheduleRerender: function () {
516
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
516
517
  var self = this;
517
518
  var renderer = self.___renderer;
518
519
 
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
+ // eslint-disable-next-line no-constant-binary-expression
2
3
  var complain = "MARKO_DEBUG" && require("complain");
3
4
  var extend = require("raptor-util/extend");
4
- var w10Noop = require("warp10/constants").NOOP;
5
5
  var componentUtil = require("@internal/components-util");
6
+ var w10NOOP = require("../helpers/serialize-noop").___noop;
6
7
  var attachBubblingEvent = componentUtil.___attachBubblingEvent;
7
8
  var addDelegatedEventHandler =
8
9
  require("./event-delegation").___addDelegatedEventHandler;
@@ -98,7 +99,7 @@ ComponentDef.___deserialize = function (o, types, global, registry) {
98
99
  var componentProps = extra.w || EMPTY_OBJECT;
99
100
  var flags = extra.f;
100
101
  var isLegacy = flags & FLAG_IS_LEGACY;
101
- var renderBody = flags & FLAG_HAS_RENDER_BODY ? w10Noop : extra.r;
102
+ var renderBody = flags & FLAG_HAS_RENDER_BODY ? w10NOOP : extra.r;
102
103
 
103
104
  var component =
104
105
  typeName /* legacy */ &&
@@ -107,6 +108,7 @@ ComponentDef.___deserialize = function (o, types, global, registry) {
107
108
  // Prevent newly created component from being queued for update since we area
108
109
  // just building it from the server info
109
110
  component.___updateQueued = true;
111
+ component.___global = global;
110
112
 
111
113
  if (isLegacy) {
112
114
  component.widgetConfig = componentProps;
@@ -156,8 +158,6 @@ ComponentDef.___deserialize = function (o, types, global, registry) {
156
158
  component.___setCustomEvents(customEvents, scope);
157
159
  }
158
160
 
159
- component.___global = global;
160
-
161
161
  return {
162
162
  id: id,
163
163
  ___component: component,
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // eslint-disable-next-line no-constant-binary-expression
2
3
  var complain = "MARKO_DEBUG" && require("complain");
3
4
 
4
5
  class ServerComponent {
@@ -28,23 +28,19 @@ function State(component) {
28
28
 
29
29
  State.prototype = {
30
30
  ___reset: function () {
31
- var self = this;
32
-
33
- self.___dirty = false;
34
- self.___old = null;
35
- self.___changes = null;
36
- self.___forced = null;
31
+ this.___dirty = false;
32
+ this.___old = null;
33
+ this.___changes = null;
34
+ this.___forced = null;
37
35
  },
38
36
 
39
37
  ___replace: function (newState) {
40
- var state = this;
41
38
  var key;
42
-
43
39
  var rawState = this.___raw;
44
40
 
45
41
  for (key in rawState) {
46
42
  if (!(key in newState)) {
47
- state.___set(
43
+ this.___set(
48
44
  key,
49
45
  undefined,
50
46
  false /* ensure:false */,
@@ -54,7 +50,7 @@ State.prototype = {
54
50
  }
55
51
 
56
52
  for (key in newState) {
57
- state.___set(
53
+ this.___set(
58
54
  key,
59
55
  newState[key],
60
56
  true /* ensure:true */,
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- /* jshint newcap:false */
3
2
 
4
3
  var inherit = require("raptor-util/inherit");
5
4
  var BaseComponent = require("./Component");
@@ -1,3 +1,4 @@
1
+ // eslint-disable-next-line no-constant-binary-expression
1
2
  var complain = "MARKO_DEBUG" && require("complain");
2
3
  var componentLookup = require("@internal/components-util").___componentLookup;
3
4
  var req = require("@internal/require");
@@ -44,7 +44,6 @@ function attachDepsAndComponentsToTemplate(target, context) {
44
44
  var components = (target.___components = {});
45
45
 
46
46
  if (!template.meta) {
47
- // eslint-disable-next-line no-console
48
47
  console.warn("Metadata not set for template at ", template.path);
49
48
  return;
50
49
  }
@@ -9,6 +9,7 @@ exports.patchComponent = function (jQuery, proto, delayThrow) {
9
9
 
10
10
  (proto || require("../Component").prototype).$ = function jqueryProxy(arg) {
11
11
  var args = arguments;
12
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
12
13
  var self = this;
13
14
 
14
15
  if (!(jQuery || (jQuery = window.$))) {
@@ -8,6 +8,7 @@ var componentLookup = componentsUtil.___componentLookup;
8
8
  var modernRenderer = require("../renderer");
9
9
  var resolveComponentKey = modernRenderer.___resolveComponentKey;
10
10
  var trackAsyncComponents = modernRenderer.___trackAsyncComponents;
11
+ // eslint-disable-next-line no-constant-binary-expression
11
12
  var complain = "MARKO_DEBUG" && require("complain");
12
13
 
13
14
  function createRendererFunc(templateRenderFunc, componentProps) {
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ // eslint-disable-next-line no-constant-binary-expression
3
4
  var complain = "MARKO_DEBUG" && require("complain");
4
- var w10NOOP = require("warp10/constants").NOOP;
5
5
  var ComponentDef = require("../components/ComponentDef");
6
6
  var ComponentsContext = require("../components/ComponentsContext");
7
+ var serializeNOOP = require("../helpers/serialize-noop");
8
+ var w10NOOP = serializeNOOP.___noop;
9
+ var w10ToJSON = serializeNOOP.___toJSON;
7
10
  var changeCase = require("./_change-case");
8
11
  var getComponentsContext = ComponentsContext.___getComponentsContext;
9
- var RENDER_BODY_TO_JSON = function () {
10
- return w10NOOP;
11
- };
12
12
 
13
13
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
14
14
  // var FLAG_HAS_RENDER_BODY = 2;
@@ -80,7 +80,12 @@ module.exports = function dynamicTag(
80
80
  }
81
81
 
82
82
  if (dynamicTag.___runtimeCompat) {
83
- renderer = dynamicTag.___runtimeCompat(renderer, render, args);
83
+ renderer = dynamicTag.___runtimeCompat(
84
+ renderer,
85
+ render,
86
+ args,
87
+ out.global,
88
+ );
84
89
  }
85
90
 
86
91
  if (renderer) {
@@ -113,7 +118,7 @@ module.exports = function dynamicTag(
113
118
  parentComponentDef.id + "-" + parentComponentDef.___nextKey(key),
114
119
  globalContext,
115
120
  );
116
- render.toJSON = RENDER_BODY_TO_JSON;
121
+ render.toJSON = w10ToJSON;
117
122
 
118
123
  if (args) {
119
124
  render.apply(null, [out].concat(args, attrs));
@@ -0,0 +1,5 @@
1
+ var w10NOOP = require("warp10/constants").NOOP;
2
+ exports.___noop = w10NOOP;
3
+ exports.___toJSON = function () {
4
+ return w10NOOP;
5
+ };
@@ -1,3 +1,4 @@
1
1
  import { compat } from "@marko/runtime-tags/debug/dom";
2
+
2
3
  import { p } from "./runtime-dom.js";
3
4
  p(compat);
@@ -1,3 +1,4 @@
1
1
  import { compat } from "@marko/runtime-tags/dom";
2
+
2
3
  import { p } from "./runtime-dom.js";
3
4
  p(compat);
@@ -1,3 +1,3 @@
1
1
  exports.s = require("./runtime-html.js").p(
2
- require("@marko/runtime-tags/debug/html"),
2
+ require("@marko/runtime-tags/debug/html").compat,
3
3
  );
@@ -1,3 +1,4 @@
1
- import * as api from "@marko/runtime-tags/debug/html";
1
+ import { compat } from "@marko/runtime-tags/debug/html";
2
+
2
3
  import { p } from "./runtime-html.js";
3
- export const s = p(api);
4
+ export const s = p(compat);
@@ -1 +1,3 @@
1
- exports.s = require("./runtime-html.js").p(require("@marko/runtime-tags/html"));
1
+ exports.s = require("./runtime-html.js").p(
2
+ require("@marko/runtime-tags/html").compat,
3
+ );
@@ -1,3 +1,4 @@
1
- import * as api from "@marko/runtime-tags/html";
1
+ import { compat } from "@marko/runtime-tags/html";
2
+
2
3
  import { p } from "./runtime-html.js";
3
- export const s = p(api);
4
+ export const s = p(compat);
@@ -15,12 +15,17 @@ exports.p = function (domCompat) {
15
15
  renderer,
16
16
  renderBody,
17
17
  args,
18
+ global,
18
19
  ) {
19
- const tagsRenderer = domCompat.resolveRenderer(renderer || renderBody);
20
-
21
- if (tagsRenderer) {
22
- return (input, out) =>
23
- TagsCompat({ i: args ? args : input, r: tagsRenderer }, out);
20
+ const tagsRenderer = domCompat.resolveRegistered(
21
+ renderer || renderBody,
22
+ global,
23
+ );
24
+
25
+ if (tagsRenderer && domCompat.isRenderer(tagsRenderer)) {
26
+ return (input, out) => {
27
+ return TagsCompat({ i: args ? args : input, r: tagsRenderer }, out);
28
+ };
24
29
  }
25
30
 
26
31
  return renderer;
@@ -29,17 +34,9 @@ exports.p = function (domCompat) {
29
34
  const TagsCompatId = "tags-compat";
30
35
  const TagsCompat = createRenderer(
31
36
  function (_, out, componentDef, component) {
32
- const isHydrate =
33
- ___getComponentsContext(out).___globalContext.___isHydrate;
34
37
  const input = Array.isArray(_.i) ? _.i : [_.i];
35
- const tagsRenderer = domCompat.resolveRenderer(_.r);
36
- const newNode = domCompat.render(
37
- isHydrate,
38
- out,
39
- component,
40
- tagsRenderer,
41
- input,
42
- );
38
+ const tagsRenderer = domCompat.resolveRegistered(_.r, global);
39
+ const newNode = domCompat.render(out, component, tagsRenderer, input);
43
40
 
44
41
  out.bf(out.___assignedKey, component, !newNode);
45
42
  if (newNode) {
@@ -111,8 +108,12 @@ exports.p = function (domCompat) {
111
108
  customEvents,
112
109
  scopeId,
113
110
  ) {
111
+ const global = this.___global;
114
112
  for (const customEvent of customEvents) {
115
- customEvent[1] = domCompat.resolveRenderer(customEvent[1]);
113
+ customEvent[1] = domCompat.resolveRegistered(
114
+ customEvent[1],
115
+ global,
116
+ );
116
117
  }
117
118
 
118
119
  setCustomEvents.call(this, customEvents, scopeId);
@@ -141,19 +142,21 @@ exports.p = function (domCompat) {
141
142
  return newRenderer;
142
143
  }
143
144
 
144
- domCompat.register("@marko/tags-compat-5-to-6", create5to6Renderer);
145
+ domCompat.registerRenderer(create5to6Renderer);
146
+ domCompat.init();
145
147
 
146
148
  function renderAndMorph(scope, renderer, renderBody, input) {
147
149
  const out = defaultCreateOut();
148
150
  let host = domCompat.getStartNode(scope);
149
151
  let rootNode = host.fragment;
150
152
  if (!rootNode) {
151
- const component = (scope.marko5Component = ___componentLookup[scope.m5c]);
153
+ const component = (scope.___marko5Component =
154
+ ___componentLookup[scope.m5c]);
152
155
  rootNode = component.___rootNode;
153
156
  host = rootNode.startNode;
154
157
  domCompat.setScopeNodes(host, rootNode.endNode);
155
158
  }
156
- const existingComponent = scope.marko5Component;
159
+ const existingComponent = scope.___marko5Component;
157
160
  const componentsContext = ___getComponentsContext(out);
158
161
  const globalComponentsContext = componentsContext.___globalContext;
159
162
  let customEvents;
@@ -191,7 +194,7 @@ exports.p = function (domCompat) {
191
194
  component.___rootNode = rootNode;
192
195
  component.___input = input[0];
193
196
  component.___customEvents = customEvents;
194
- scope.marko5Component = component;
197
+ scope.___marko5Component = component;
195
198
  });
196
199
  }
197
200
 
@@ -6,37 +6,28 @@ const createRenderer = require("../../components/renderer");
6
6
  const defaultCreateOut = require("../../createOut");
7
7
  const dynamicTag5 = require("../dynamic-tag");
8
8
 
9
- exports.p = function (tagsAPI) {
10
- const {
11
- patchDynamicTag,
12
- createRenderFn,
13
- fork,
14
- write,
15
- serializerRegister,
16
- writeScope,
17
- nextScopeId,
18
- getRegistryInfo,
19
- } = tagsAPI;
20
- const FN_TO_JSON = function () {
21
- // TODO: this should instead return an object that contains getRegistryInfo
22
- // then in the dom-compat, handle that object to lookup the function in the registry
23
- // (we also need to do this for events)
24
- return getRegistryInfo(this);
25
- };
26
-
9
+ exports.p = function (htmlCompat) {
27
10
  const isMarko6 = (fn) => !!fn.___isTagsAPI;
28
11
  const isMarko5 = (fn) => !fn.___isTagsAPI;
12
+ const writeHTML = (result) => {
13
+ const state = result.out._state;
14
+ const writer = state.writer;
15
+ state.events.emit("___toString", writer);
16
+ htmlCompat.writeScript(writer._scripts);
17
+ htmlCompat.write(writer._content);
18
+ };
29
19
 
30
20
  dynamicTag5.___runtimeCompat = function tagsToVdom(
31
21
  tagsRenderer,
32
22
  renderBody,
33
23
  args,
34
24
  ) {
35
- if (tagsRenderer ? isMarko5(tagsRenderer) : isMarko5(renderBody))
25
+ if (tagsRenderer ? isMarko5(tagsRenderer) : isMarko5(renderBody)) {
36
26
  return tagsRenderer;
27
+ }
37
28
 
38
29
  if (!tagsRenderer && renderBody) {
39
- renderBody.toJSON = FN_TO_JSON;
30
+ renderBody.toJSON = htmlCompat.toJSON;
40
31
  }
41
32
 
42
33
  return (input, out) =>
@@ -53,29 +44,9 @@ exports.p = function (tagsAPI) {
53
44
  function (_, out, componentDef, component) {
54
45
  const input = _.i;
55
46
  const tagsRenderer = _.r;
56
- const renderFn = createRenderFn(tagsRenderer);
57
47
  const willRerender = componentDef._wrr;
58
- const $global = out.global;
59
- const streamData = ($global.streamData = $global.streamData || {});
60
-
61
- if (willRerender) {
62
- $global.serializedGlobals = $global.serializedGlobals || {};
63
- $global.serializedGlobals.componentIdToScopeId = true;
64
- $global.componentIdToScopeId = $global.componentIdToScopeId || {};
65
- $global.componentIdToScopeId[component.id] = streamData.scopeId || 0;
66
- }
67
-
68
48
  out.bf(out.___assignedKey, component, willRerender);
69
- renderFn(
70
- out.beginAsync(),
71
- input,
72
- {
73
- ...$global,
74
- componentIdToScopeId: undefined,
75
- streamData: undefined,
76
- },
77
- streamData,
78
- );
49
+ htmlCompat.render(tagsRenderer, willRerender, out, component, input);
79
50
  out.ef();
80
51
  },
81
52
  // eslint-disable-next-line no-constant-condition
@@ -92,7 +63,7 @@ exports.p = function (tagsAPI) {
92
63
  {},
93
64
  );
94
65
 
95
- patchDynamicTag(
66
+ htmlCompat.patchDynamicTag(
96
67
  function getRenderer(tag) {
97
68
  const renderer = tag._ || tag.renderBody || tag;
98
69
  if (isMarko6(renderer)) return renderer;
@@ -108,8 +79,6 @@ exports.p = function (tagsAPI) {
108
79
  const out = defaultCreateOut();
109
80
  let customEvents;
110
81
 
111
- out.global.streamData = tagsAPI.getStreamData();
112
-
113
82
  if (renderer5) {
114
83
  const normalizedInput = {};
115
84
 
@@ -122,7 +91,7 @@ exports.p = function (tagsAPI) {
122
91
  (c === "-" ? "" : c.toLowerCase()) + key.slice(3),
123
92
  value,
124
93
  ]);
125
- value.toJSON = FN_TO_JSON;
94
+ value.toJSON = htmlCompat.toJSON;
126
95
  } else {
127
96
  normalizedInput[key] = input[key];
128
97
  }
@@ -136,9 +105,7 @@ exports.p = function (tagsAPI) {
136
105
  const component = componentsContext.___components[0];
137
106
  if (component) {
138
107
  component.___component.___customEvents = customEvents;
139
- writeScope(nextScopeId(), {
140
- m5c: component.id,
141
- });
108
+ htmlCompat.writeSetScopeForComponent(component.id);
142
109
  }
143
110
 
144
111
  initComponentsTag({}, out);
@@ -147,7 +114,7 @@ exports.p = function (tagsAPI) {
147
114
  out.once("finish", (result) => {
148
115
  if (!async) {
149
116
  async = false;
150
- write(result.toString());
117
+ writeHTML(result);
151
118
  }
152
119
  });
153
120
 
@@ -155,9 +122,7 @@ exports.p = function (tagsAPI) {
155
122
 
156
123
  if (async !== false) {
157
124
  async = true;
158
- fork(out, (result) => {
159
- write(result.toString());
160
- });
125
+ htmlCompat.fork(out, writeHTML);
161
126
  }
162
127
  };
163
128
  },
@@ -167,11 +132,5 @@ exports.p = function (tagsAPI) {
167
132
  },
168
133
  );
169
134
 
170
- return function serialized5to6(renderer, id) {
171
- return serializerRegister(
172
- "@marko/tags-compat-5-to-6",
173
- renderer,
174
- serializerRegister(id, () => {}),
175
- );
176
- };
135
+ return htmlCompat.registerRenderer;
177
136
  };
@@ -725,6 +725,7 @@ var proto = (AsyncStream.prototype = {
725
725
  },
726
726
 
727
727
  then: function (fn, fnErr) {
728
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
728
729
  var out = this;
729
730
  return new Promise(function (resolve, reject) {
730
731
  out.on("error", reject);
@@ -3,6 +3,7 @@
3
3
  var escapeQuoteHelpers = require("./escape-quotes");
4
4
  var escapeDoubleQuotes = escapeQuoteHelpers.___escapeDoubleQuotes;
5
5
  var escapeSingleQuotes = escapeQuoteHelpers.___escapeSingleQuotes;
6
+ // eslint-disable-next-line no-constant-binary-expression
6
7
  var complain = "MARKO_DEBUG" && require("complain");
7
8
 
8
9
  module.exports = maybeEmptyAttr;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ // eslint-disable-next-line no-constant-binary-expression
3
4
  var complain = "MARKO_DEBUG" && require("complain");
4
5
  var dynamicAttrHelper = require("./_dynamic-attr");
5
6
 
@@ -15,7 +15,6 @@ module.exports = function dataMarko(out, componentDef, props, key) {
15
15
 
16
16
  if (willNotRerender) {
17
17
  if (props) {
18
- // eslint-disable-next-line no-unused-vars
19
18
  for (var _ in props) {
20
19
  result +=
21
20
  " data-marko='" + escapeSingleQuotes(JSON.stringify(props)) + "'";
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ // eslint-disable-next-line no-constant-binary-expression
3
4
  var complain = "MARKO_DEBUG" && require("complain");
4
5
  var dynamicAttrHelper = require("./_dynamic-attr");
5
6
 
@@ -418,6 +418,7 @@ var proto = (AsyncVDOMBuilder.prototype = {
418
418
  },
419
419
 
420
420
  then: function (fn, fnErr) {
421
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
421
422
  var out = this;
422
423
  var promise = new Promise(function (resolve, reject) {
423
424
  out.on("error", reject).on(EVENT_FINISH, function (result) {
@@ -1,5 +1,4 @@
1
- /* jshint newcap:false */
2
-
1
+ // eslint-disable-next-line no-constant-binary-expression
3
2
  var complain = "MARKO_DEBUG" && require("complain");
4
3
  var inherit = require("raptor-util/inherit");
5
4
  var componentsUtil = require("@internal/components-util");
@@ -1,4 +1,3 @@
1
- /* jshint newcap:false */
2
1
  function VNode() {}
3
2
 
4
3
  VNode.prototype = {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ // eslint-disable-next-line no-constant-binary-expression
3
4
  var complain = "MARKO_DEBUG" && require("complain");
4
5
  var classHelper = require("../../helpers/class-value");
5
6
  var styleHelper = require("../../helpers/style-value");
@@ -360,7 +360,6 @@ function morphdom(fromNode, toNode, host, componentsContext) {
360
360
  var depth = 0;
361
361
  var nodeValue;
362
362
 
363
- // eslint-disable-next-line no-constant-condition
364
363
  while (true) {
365
364
  if (endNode.nodeType === COMMENT_NODE) {
366
365
  nodeValue = endNode.nodeValue;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ // eslint-disable-next-line no-constant-binary-expression
3
4
  let complain = "MARKO_DEBUG" && require("complain");
4
5
  const compiler = require("@marko/compiler");
5
6
 
package/tags-html.d.ts CHANGED
@@ -188,7 +188,6 @@ declare global {
188
188
  | "prev"
189
189
  | "search"
190
190
  | "tag"
191
- // eslint-disable-next-line @typescript-eslint/ban-types
192
191
  | (string & {});
193
192
 
194
193
  /**
@@ -316,7 +315,6 @@ declare global {
316
315
  | "nofullscreen"
317
316
  | "noplaybackrate"
318
317
  | "noremoteplayback"
319
- // eslint-disable-next-line @typescript-eslint/ban-types
320
318
  | (string & {});
321
319
 
322
320
  /**
@@ -820,7 +818,6 @@ declare global {
820
818
  | "opener"
821
819
  | "prev"
822
820
  | "search"
823
- // eslint-disable-next-line @typescript-eslint/ban-types
824
821
  | (string & {});
825
822
  /**
826
823
  * Specifies the browsing context in which the linked resource will be opened.
@@ -854,6 +851,8 @@ declare global {
854
851
  interface Head extends HTMLAttributes<HTMLHeadElement> {
855
852
  /** @deprecated */
856
853
  profile?: AttrString;
854
+ /** @see https://ogp.me/ */
855
+ prefix?: AttrString;
857
856
  }
858
857
  interface Header extends HTMLAttributes<HTMLElement> {}
859
858
  interface HGroup extends HTMLAttributes<HTMLElement> {}
@@ -876,6 +875,8 @@ declare global {
876
875
  manifest?: AttrString;
877
876
  /** @deprecated */
878
877
  version?: AttrString;
878
+ /** @see https://ogp.me/ */
879
+ prefix?: AttrString;
879
880
  }
880
881
  interface I extends HTMLAttributes<HTMLElement> {}
881
882
  interface IFrame extends HTMLAttributes<HTMLIFrameElement> {
@@ -930,7 +931,6 @@ declare global {
930
931
  | "allow-top-navigation-by-user-activation"
931
932
  | "allow-top-navigation-to-custom-protocols"
932
933
  | "allow-top-navigation"
933
- // eslint-disable-next-line @typescript-eslint/ban-types
934
934
  | (string & {});
935
935
  /**
936
936
  * The URL of the page to embed in the iframe.
@@ -1435,7 +1435,6 @@ declare global {
1435
1435
  | "prev"
1436
1436
  | "search"
1437
1437
  | "stylesheet"
1438
- // eslint-disable-next-line @typescript-eslint/ban-types
1439
1438
  | (string & {});
1440
1439
 
1441
1440
  /**
@@ -1509,6 +1508,9 @@ declare global {
1509
1508
  * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-name
1510
1509
  */
1511
1510
  name?: AttrString;
1511
+
1512
+ /** @see https://ogp.me/ */
1513
+ property?: AttrString;
1512
1514
  }
1513
1515
  interface Meter extends HTMLAttributes<HTMLMeterElement> {
1514
1516
  /**
@@ -1786,7 +1788,6 @@ declare global {
1786
1788
  | "application/javascript"
1787
1789
  | "module"
1788
1790
  | "import-map"
1789
- // eslint-disable-next-line @typescript-eslint/ban-types
1790
1791
  | (string & {});
1791
1792
 
1792
1793
  /** @deprecated */
@@ -2244,7 +2245,6 @@ declare global {
2244
2245
  | "nofullscreen"
2245
2246
  | "noplaybackrate"
2246
2247
  | "noremoteplayback"
2247
- // eslint-disable-next-line @typescript-eslint/ban-types
2248
2248
  | (string & {});
2249
2249
 
2250
2250
  /**
@@ -3780,7 +3780,6 @@ type AttrTarget =
3780
3780
  | "_parent"
3781
3781
  | "_self"
3782
3782
  | "_top"
3783
- // eslint-disable-next-line @typescript-eslint/ban-types
3784
3783
  | (string & {});
3785
3784
  type AttrReferrerPolicy =
3786
3785
  | AttrMissing
@@ -3853,5 +3852,4 @@ type AttrAutoComplete =
3853
3852
  | "mobile"
3854
3853
  | "fax"
3855
3854
  | "pager"
3856
- // eslint-disable-next-line @typescript-eslint/ban-types
3857
3855
  | (string & {});