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.
Files changed (105) hide show
  1. package/dist/compiler/index.js +10 -10
  2. package/dist/core-tags/components/preserve-tag.js +1 -81
  3. package/dist/core-tags/core/await/AsyncValue.js +25 -25
  4. package/dist/core-tags/core/await/renderer.js +11 -11
  5. package/dist/core-tags/core/await/reorderer-renderer.js +31 -31
  6. package/dist/node-require/hot-reload.js +5 -5
  7. package/dist/node-require/index.js +8 -8
  8. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +8 -8
  9. package/dist/node_modules/@internal/components-beginComponent/index.js +25 -25
  10. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +53 -51
  11. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +3 -3
  12. package/dist/node_modules/@internal/components-endComponent/index.js +3 -3
  13. package/dist/node_modules/@internal/components-entry/index-browser.js +3 -2
  14. package/dist/node_modules/@internal/components-entry/index.js +24 -24
  15. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +10 -9
  16. package/dist/node_modules/@internal/components-entry-legacy/index.js +2 -1
  17. package/dist/node_modules/@internal/components-registry/index-browser.js +84 -92
  18. package/dist/node_modules/@internal/components-registry/index.js +2 -2
  19. package/dist/node_modules/@internal/components-util/index-browser.js +23 -23
  20. package/dist/node_modules/@internal/components-util/index.js +10 -10
  21. package/dist/node_modules/@internal/create-readable/index-browser.js +5 -5
  22. package/dist/node_modules/@internal/create-readable/index.js +13 -13
  23. package/dist/node_modules/@internal/loader/fallback-node.js +89 -0
  24. package/dist/node_modules/@internal/loader/index-browser.js +1 -3
  25. package/dist/node_modules/@internal/loader/index.js +20 -85
  26. package/dist/node_modules/@internal/loader/package.json +2 -3
  27. package/dist/node_modules/@internal/preserve-tag/index-browser.js +45 -0
  28. package/dist/node_modules/@internal/preserve-tag/index.js +34 -0
  29. package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
  30. package/dist/node_modules/@internal/require/index-browser.js +13 -0
  31. package/dist/node_modules/@internal/require/index-legacy-browser.js +20 -0
  32. package/dist/node_modules/@internal/require/index-webpack.js +11 -0
  33. package/dist/node_modules/@internal/require/index.js +15 -0
  34. package/dist/node_modules/@internal/require/package.json +11 -0
  35. package/dist/runtime/RenderResult.js +15 -14
  36. package/dist/runtime/components/Component.js +106 -106
  37. package/dist/runtime/components/ComponentDef.js +19 -19
  38. package/dist/runtime/components/ComponentsContext.js +14 -14
  39. package/dist/runtime/components/GlobalComponentsContext.js +2 -2
  40. package/dist/runtime/components/ServerComponent.js +12 -12
  41. package/dist/runtime/components/State.js +19 -19
  42. package/dist/runtime/components/attach-detach.js +1 -1
  43. package/dist/runtime/components/defineComponent.js +5 -5
  44. package/dist/runtime/components/dom-data.js +5 -5
  45. package/dist/runtime/components/event-delegation.js +55 -55
  46. package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -6
  47. package/dist/runtime/components/legacy/defineRenderer-legacy.js +16 -21
  48. package/dist/runtime/components/legacy/dependencies/index.js +7 -7
  49. package/dist/runtime/components/legacy/renderer-legacy.js +82 -82
  50. package/dist/runtime/components/renderer.js +44 -44
  51. package/dist/runtime/dom-insert.js +2 -2
  52. package/dist/runtime/helpers/_change-case.js +3 -3
  53. package/dist/runtime/helpers/class-value.js +2 -2
  54. package/dist/runtime/helpers/dynamic-tag.js +35 -35
  55. package/dist/runtime/helpers/render-tag.js +4 -4
  56. package/dist/runtime/html/AsyncStream.js +16 -16
  57. package/dist/runtime/html/BufferedWriter.js +14 -14
  58. package/dist/runtime/html/StringWriter.js +1 -1
  59. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  60. package/dist/runtime/html/helpers/attr.js +6 -6
  61. package/dist/runtime/html/helpers/attrs.js +2 -2
  62. package/dist/runtime/html/helpers/data-marko.js +6 -6
  63. package/dist/runtime/html/helpers/escape-quotes.js +1 -1
  64. package/dist/runtime/html/helpers/escape-xml.js +2 -2
  65. package/dist/runtime/html/helpers/props-script.js +1 -1
  66. package/dist/runtime/html/index.js +10 -10
  67. package/dist/runtime/renderable.js +5 -5
  68. package/dist/runtime/vdom/AsyncVDOMBuilder.js +61 -61
  69. package/dist/runtime/vdom/VComponent.js +2 -2
  70. package/dist/runtime/vdom/VDocumentFragment.js +1 -1
  71. package/dist/runtime/vdom/VElement.js +38 -38
  72. package/dist/runtime/vdom/VFragment.js +4 -4
  73. package/dist/runtime/vdom/VNode.js +2 -2
  74. package/dist/runtime/vdom/hot-reload.js +11 -11
  75. package/dist/runtime/vdom/index.js +9 -9
  76. package/dist/runtime/vdom/morphdom/fragment.js +9 -9
  77. package/dist/runtime/vdom/morphdom/helpers.js +7 -7
  78. package/dist/runtime/vdom/morphdom/index.js +126 -126
  79. package/dist/runtime/vdom/morphdom/specialElHandlers.js +11 -11
  80. package/dist/runtime/vdom/vdom.js +2 -2
  81. package/dist/taglib/index.js +3 -3
  82. package/package.json +1 -1
  83. package/src/core-tags/components/preserve-tag.js +1 -81
  84. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +17 -15
  85. package/src/node_modules/@internal/components-define-widget-legacy/index.js +1 -1
  86. package/src/node_modules/@internal/components-entry/index-browser.js +2 -1
  87. package/src/node_modules/@internal/components-entry/index.js +2 -2
  88. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
  89. package/src/node_modules/@internal/components-entry-legacy/index.js +2 -1
  90. package/src/node_modules/@internal/components-registry/index-browser.js +9 -17
  91. package/src/node_modules/@internal/create-readable/index-browser.js +2 -2
  92. package/src/node_modules/@internal/loader/fallback-node.js +89 -0
  93. package/src/node_modules/@internal/loader/index-browser.js +1 -3
  94. package/src/node_modules/@internal/loader/index.js +21 -86
  95. package/src/node_modules/@internal/loader/package.json +2 -3
  96. package/src/node_modules/@internal/preserve-tag/index-browser.js +45 -0
  97. package/src/node_modules/@internal/preserve-tag/index.js +34 -0
  98. package/src/node_modules/@internal/preserve-tag/package.json +11 -0
  99. package/src/node_modules/@internal/require/index-browser.js +13 -0
  100. package/src/node_modules/@internal/require/index-legacy-browser.js +20 -0
  101. package/src/node_modules/@internal/require/index-webpack.js +11 -0
  102. package/src/node_modules/@internal/require/index.js +15 -0
  103. package/src/node_modules/@internal/require/package.json +11 -0
  104. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -5
  105. package/src/runtime/components/legacy/defineRenderer-legacy.js +3 -8
@@ -4,38 +4,38 @@
4
4
  class ServerComponent {
5
5
  constructor(id, input, out, typeName, customEvents, scope) {
6
6
  this.id = id;
7
- this.___ = customEvents;
8
- this._a_ = scope;
7
+ this.U_ = customEvents;
8
+ this.V_ = scope;
9
9
  this.typeName = typeName;
10
- this._b_ = undefined; // Used to keep track of bubbling DOM events for components rendered on the server
11
- this._d_ = 0;
10
+ this.W_ = undefined; // Used to keep track of bubbling DOM events for components rendered on the server
11
+ this.Y_ = 0;
12
12
 
13
13
  this.onCreate(input, out);
14
- this._e_ = this.onInput(input, out) || input;
15
- if (this.U_ === undefined) {
16
- this.U_ = this._e_;
14
+ this.Z_ = this.onInput(input, out) || input;
15
+ if (this.N_ === undefined) {
16
+ this.N_ = this.Z_;
17
17
  }
18
18
  this.onRender(out);
19
19
  }
20
20
 
21
21
  set input(newInput) {
22
- this.U_ = newInput;
22
+ this.N_ = newInput;
23
23
  }
24
24
 
25
25
  get input() {
26
- return this.U_;
26
+ return this.N_;
27
27
  }
28
28
 
29
29
  set state(newState) {
30
- this.G_ = newState;
30
+ this.y_ = newState;
31
31
  }
32
32
 
33
33
  get state() {
34
- return this.G_;
34
+ return this.y_;
35
35
  }
36
36
 
37
37
  get aA_() {
38
- return this.G_;
38
+ return this.y_;
39
39
  }
40
40
 
41
41
  elId(nestedId) {
@@ -5,7 +5,7 @@ function ensure(state, propertyName) {
5
5
  if (!(propertyName in proto)) {
6
6
  Object.defineProperty(proto, propertyName, {
7
7
  get: function () {
8
- return this.H_[propertyName];
8
+ return this.z_[propertyName];
9
9
  },
10
10
  set: function (value) {
11
11
  this.ap_(propertyName, value, false /* ensure:false */);
@@ -15,8 +15,8 @@ function ensure(state, propertyName) {
15
15
  }
16
16
 
17
17
  function State(component) {
18
- this.i_ = component;
19
- this.H_ = {};
18
+ this.r_ = component;
19
+ this.z_ = {};
20
20
 
21
21
  this.aj_ = false;
22
22
  this.au_ = null;
@@ -27,7 +27,7 @@ function State(component) {
27
27
  }
28
28
 
29
29
  State.prototype = {
30
- _v_: function () {
30
+ _p_: function () {
31
31
  var self = this;
32
32
 
33
33
  self.aj_ = false;
@@ -40,30 +40,30 @@ State.prototype = {
40
40
  var state = this;
41
41
  var key;
42
42
 
43
- var rawState = this.H_;
43
+ var rawState = this.z_;
44
44
 
45
45
  for (key in rawState) {
46
46
  if (!(key in newState)) {
47
47
  state.ap_(
48
- key,
49
- undefined,
50
- false /* ensure:false */,
51
- false /* forceDirty:false */);
52
-
48
+ key,
49
+ undefined,
50
+ false /* ensure:false */,
51
+ false /* forceDirty:false */
52
+ );
53
53
  }
54
54
  }
55
55
 
56
56
  for (key in newState) {
57
57
  state.ap_(
58
- key,
59
- newState[key],
60
- true /* ensure:true */,
61
- false /* forceDirty:false */);
62
-
58
+ key,
59
+ newState[key],
60
+ true /* ensure:true */,
61
+ false /* forceDirty:false */
62
+ );
63
63
  }
64
64
  },
65
65
  ap_: function (name, value, shouldEnsure, forceDirty) {
66
- var rawState = this.H_;
66
+ var rawState = this.z_;
67
67
 
68
68
  if (shouldEnsure) {
69
69
  ensure(this, name);
@@ -82,9 +82,9 @@ State.prototype = {
82
82
  // changes to the state
83
83
  this.aj_ = true; // Mark the component state as dirty (i.e. modified)
84
84
  this.au_ = rawState;
85
- this.H_ = rawState = extend({}, rawState);
85
+ this.z_ = rawState = extend({}, rawState);
86
86
  this.at_ = {};
87
- this.i_.ao_();
87
+ this.r_.ao_();
88
88
  }
89
89
 
90
90
  this.at_[name] = value;
@@ -98,7 +98,7 @@ State.prototype = {
98
98
  }
99
99
  },
100
100
  toJSON: function () {
101
- return this.H_;
101
+ return this.z_;
102
102
  }
103
103
  };
104
104
 
@@ -11,7 +11,7 @@ function handleNodeAttach(node, componentsContext) {
11
11
  var eventName = "onattach";
12
12
  var target = getEventFromEl(node, eventName);
13
13
  if (target) {
14
- var out = componentsContext.A_;
14
+ var out = componentsContext.q_;
15
15
  var data = out.data;
16
16
 
17
17
  var attachTargets = data.aR_;
@@ -6,7 +6,7 @@ var BaseComponent = require("./Component");
6
6
  var inherit = require("raptor-util/inherit");
7
7
 
8
8
  module.exports = function defineComponent(def, renderer) {
9
- if (def.E_) {
9
+ if (def.w_) {
10
10
  return def;
11
11
  }
12
12
 
@@ -35,7 +35,7 @@ module.exports = function defineComponent(def, renderer) {
35
35
  BaseComponent.call(this, id);
36
36
  }
37
37
 
38
- if (!proto.E_) {
38
+ if (!proto.w_) {
39
39
  // Inherit from Component if they didn't already
40
40
  inherit(ComponentClass, BaseComponent);
41
41
  }
@@ -48,14 +48,14 @@ module.exports = function defineComponent(def, renderer) {
48
48
 
49
49
  // Set a flag on the constructor function to make it clear this is
50
50
  // a component so that we can short-circuit this work later
51
- Component.E_ = true;
51
+ Component.w_ = true;
52
52
 
53
53
  function State(component) {
54
54
  BaseState.call(this, component);
55
55
  }
56
56
  inherit(State, BaseState);
57
- proto.V_ = State;
58
- proto.W_ = renderer;
57
+ proto.O_ = State;
58
+ proto.P_ = renderer;
59
59
 
60
60
  return Component;
61
61
  };
@@ -1,8 +1,8 @@
1
1
  "use strict";module.exports = {
2
- _O_: new WeakMap(),
3
- _N_: new WeakMap(),
4
- _r_: new WeakMap(),
2
+ _I_: new WeakMap(),
3
+ _H_: new WeakMap(),
4
+ _l_: new WeakMap(),
5
5
  aT_: new WeakMap(),
6
- _M_: new WeakMap(),
7
- _q_: {}
6
+ _G_: new WeakMap(),
7
+ _k_: {}
8
8
  };
@@ -1,7 +1,7 @@
1
1
  "use strict";var componentsUtil = require("@internal/components-util");
2
- var runtimeId = componentsUtil._S_;
3
- var componentLookup = componentsUtil._o_;
4
- var getMarkoPropsFromEl = componentsUtil._t_;
2
+ var runtimeId = componentsUtil._M_;
3
+ var componentLookup = componentsUtil._i_;
4
+ var getMarkoPropsFromEl = componentsUtil._n_;
5
5
 
6
6
  var TEXT_NODE = 3;
7
7
 
@@ -54,7 +54,7 @@ function delegateEvent(node, eventName, target, event) {
54
54
 
55
55
  if (extraArgs != null) {
56
56
  if (typeof extraArgs === "number") {
57
- extraArgs = targetComponent._b_[extraArgs];
57
+ extraArgs = targetComponent.W_[extraArgs];
58
58
  }
59
59
  }
60
60
 
@@ -77,56 +77,56 @@ function addDelegatedEventHandlerToHost(eventType, host) {
77
77
  host[listenersAttachedKey] || {};
78
78
  if (!listeners[eventType]) {
79
79
  (host.body || host).addEventListener(
80
- eventType,
81
- listeners[eventType] = function (event) {
82
- var curNode = event.target;
83
- if (!curNode) {
84
- return;
85
- }
86
-
87
- curNode =
88
- // event.target of an SVGElementInstance does not have a
89
- // `getAttribute` function in IE 11.
90
- // See https://github.com/marko-js/marko/issues/796
91
- curNode.correspondingUseElement || (
92
- // in some browsers the event target can be a text node
93
- // one example being dragenter in firefox.
94
- curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);
95
-
96
- // Search up the tree looking DOM events mapped to target
97
- // component methods
98
- var propName = "on" + eventType;
99
- var target;
100
-
101
- // Attributes will have the following form:
102
- // on<event_type>("<target_method>|<component_id>")
103
-
104
- if (event.bubbles) {
105
- var propagationStopped = false;
106
-
107
- // Monkey-patch to fix #97
108
- var oldStopPropagation = event.stopPropagation;
109
-
110
- event.stopPropagation = function () {
111
- oldStopPropagation.call(event);
112
- propagationStopped = true;
113
- };
114
-
115
- do {
116
- if (target = getEventFromEl(curNode, propName)) {
117
- delegateEvent(curNode, propName, target, event);
118
-
119
- if (propagationStopped) {
120
- break;
80
+ eventType,
81
+ listeners[eventType] = function (event) {
82
+ var curNode = event.target;
83
+ if (!curNode) {
84
+ return;
85
+ }
86
+
87
+ curNode =
88
+ // event.target of an SVGElementInstance does not have a
89
+ // `getAttribute` function in IE 11.
90
+ // See https://github.com/marko-js/marko/issues/796
91
+ curNode.correspondingUseElement || (
92
+ // in some browsers the event target can be a text node
93
+ // one example being dragenter in firefox.
94
+ curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);
95
+
96
+ // Search up the tree looking DOM events mapped to target
97
+ // component methods
98
+ var propName = "on" + eventType;
99
+ var target;
100
+
101
+ // Attributes will have the following form:
102
+ // on<event_type>("<target_method>|<component_id>")
103
+
104
+ if (event.bubbles) {
105
+ var propagationStopped = false;
106
+
107
+ // Monkey-patch to fix #97
108
+ var oldStopPropagation = event.stopPropagation;
109
+
110
+ event.stopPropagation = function () {
111
+ oldStopPropagation.call(event);
112
+ propagationStopped = true;
113
+ };
114
+
115
+ do {
116
+ if (target = getEventFromEl(curNode, propName)) {
117
+ delegateEvent(curNode, propName, target, event);
118
+
119
+ if (propagationStopped) {
120
+ break;
121
+ }
121
122
  }
122
- }
123
- } while ((curNode = curNode.parentNode) && curNode.getAttribute);
124
- } else if (target = getEventFromEl(curNode, propName)) {
125
- delegateEvent(curNode, propName, target, event);
126
- }
127
- },
128
- true);
129
-
123
+ } while ((curNode = curNode.parentNode) && curNode.getAttribute);
124
+ } else if (target = getEventFromEl(curNode, propName)) {
125
+ delegateEvent(curNode, propName, target, event);
126
+ }
127
+ },
128
+ true
129
+ );
130
130
  }
131
131
  }
132
132
 
@@ -136,8 +136,8 @@ exports.aS_ = noop;
136
136
  exports.al_ = noop;
137
137
  exports.aP_ = delegateEvent;
138
138
  exports.aQ_ = getEventFromEl;
139
- exports._u_ = addDelegatedEventHandler;
140
- exports._C_ = function (host) {
139
+ exports._o_ = addDelegatedEventHandler;
140
+ exports._w_ = function (host) {
141
141
  Object.keys(delegatedEvents).forEach(function (eventType) {
142
142
  addDelegatedEventHandlerToHost(eventType, host);
143
143
  });
@@ -8,12 +8,7 @@ var defineRenderer;
8
8
  var defineWidget;
9
9
 
10
10
  module.exports = function defineComponent(def) {
11
- // eslint-disable-next-line no-constant-condition
12
-
13
-
14
-
15
-
16
- if (def.E_) {
11
+ if (def.w_) {
17
12
  return def;
18
13
  }
19
14
 
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
  var makeRenderable = require("../../renderable");
3
3
  var getComponentsContext =
4
- require("../ComponentsContext").e_;
5
- var componentLookup = require("@internal/components-util")._o_;
4
+ require("../ComponentsContext").R_;
5
+ var componentLookup = require("@internal/components-util")._i_;
6
6
  var modernRenderer = require("../renderer");
7
- var loader = require("@internal/loader");
7
+ var req = require("@internal/require");
8
8
  var resolveComponentKey = modernRenderer.aU_;
9
9
 
10
10
  module.exports = function defineRenderer(renderingLogic) {
11
11
  var renderer = renderingLogic.renderer;
12
12
 
13
- // eslint-disable-next-line no-constant-condition
14
-
15
-
16
-
17
-
18
13
  if (renderer && renderer.aV_) {
19
14
  return renderer;
20
15
  }
@@ -22,7 +17,7 @@ module.exports = function defineRenderer(renderingLogic) {
22
17
  var template = renderingLogic.template;
23
18
 
24
19
  if (typeof template === "string") {
25
- template = loader(template);
20
+ template = req(template);
26
21
  }
27
22
 
28
23
  if (!renderer) {
@@ -45,13 +40,13 @@ module.exports = function defineRenderer(renderingLogic) {
45
40
  // takes care of re-using existing components.
46
41
  renderer = function renderer(input, out) {
47
42
  var componentsContext = getComponentsContext(out);
48
- var globalComponentsContext = componentsContext.f_;
43
+ var globalComponentsContext = componentsContext.o_;
49
44
  var component = globalComponentsContext.ax_;
50
- var isReceivingNewInput = !component || component._l_;
45
+ var isReceivingNewInput = !component || component._f_;
51
46
  var parentComponentDef;
52
47
 
53
48
  if (component) {
54
- component._l_ = false;
49
+ component._f_ = false;
55
50
  }
56
51
 
57
52
  // Render the template associated with the component using the final template
@@ -63,10 +58,10 @@ module.exports = function defineRenderer(renderingLogic) {
63
58
  var id;
64
59
 
65
60
  if (!component && componentLookup) {
66
- var key = out.j_;
61
+ var key = out._Y_;
67
62
 
68
63
  if (
69
- (parentComponentDef = componentsContext.k_) &&
64
+ (parentComponentDef = componentsContext.n_) &&
70
65
  key != null)
71
66
  {
72
67
  id = resolveComponentKey(key.toString(), parentComponentDef);
@@ -106,8 +101,8 @@ module.exports = function defineRenderer(renderingLogic) {
106
101
  widgetBody = newProps.renderBody;
107
102
  }
108
103
  } else if (component) {
109
- newProps = newProps || component.T_;
110
- widgetBody = component._c_;
104
+ newProps = newProps || component.M_;
105
+ widgetBody = component.X_;
111
106
  widgetState = component.aA_;
112
107
  widgetConfig = component.widgetConfig;
113
108
  }
@@ -116,10 +111,10 @@ module.exports = function defineRenderer(renderingLogic) {
116
111
  // data. If that method is not provided then just use the
117
112
  // the state (if provided) or the input data.
118
113
  var templateData = clone(
119
- getTemplateData ?
120
- getTemplateData(widgetState, newProps, out) :
121
- widgetState || newProps);
122
-
114
+ getTemplateData ?
115
+ getTemplateData(widgetState, newProps, out) :
116
+ widgetState || newProps
117
+ );
123
118
 
124
119
  if (isReceivingNewInput && getWidgetConfig) {
125
120
  // If getWidgetConfig() was implemented then use that to
@@ -153,7 +148,7 @@ module.exports = function defineRenderer(renderingLogic) {
153
148
  renderer.template = template;
154
149
 
155
150
  makeRenderable(renderer, renderer);
156
- renderer.render = renderer.render.bind(this);
151
+ renderer.render = renderer.render.bind(renderer);
157
152
 
158
153
  return renderer;
159
154
  };
@@ -11,8 +11,8 @@ function getRootDeps(template, context) {
11
11
  attachDepsAndComponentsToTemplate(template, context);
12
12
 
13
13
  var deps = template.aW_ = Object.keys(template.aX_).map(
14
- (key) => template.aX_[key]);
15
-
14
+ (key) => template.aX_[key]
15
+ );
16
16
  var initModule = getInitModule(template.path, template.b_);
17
17
 
18
18
  if (initModule) deps.push(initModule);
@@ -100,11 +100,11 @@ function getInitModule(path, components) {
100
100
  var root = nodePath.dirname(path);
101
101
  var virtualPath = path + ".init.js";
102
102
  var registrations = components.map(
103
- (component) =>
104
- `components.register('${component.id}', require('.${
105
- nodePath.sep
106
- }${nodePath.relative(root, component.path)}'));`);
107
-
103
+ (component) =>
104
+ `components.register('${component.id}', require('.${
105
+ nodePath.sep
106
+ }${nodePath.relative(root, component.path)}'));`
107
+ );
108
108
  var code = `
109
109
  var components = require('marko/components');
110
110
  ${registrations.join("\n")}