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,7 +4,7 @@
4
4
  var BaseState;
5
5
  var BaseComponent;
6
6
  var inherit;
7
- var loader = require("@internal/loader");
7
+ var req = require("@internal/require");
8
8
  var registry = require("@internal/components-registry");
9
9
  var jQuery = require("../../../runtime/components/legacy/jquery");
10
10
  var ready = require("../../../runtime/components/legacy/ready");
@@ -14,9 +14,9 @@ var stateToJSONDef = {
14
14
  enumerable: false,
15
15
  value: function returnSelf() {
16
16
  return this;
17
- }
17
+ },
18
18
  };
19
- function noop() { }
19
+ function noop() {}
20
20
 
21
21
  module.exports = function defineWidget(def, renderer) {
22
22
  def = def.Widget || def;
@@ -25,7 +25,7 @@ module.exports = function defineWidget(def, renderer) {
25
25
  return def;
26
26
  }
27
27
 
28
- var ComponentClass = function () { };
28
+ var ComponentClass = function () {};
29
29
  var proto;
30
30
  var legacyInit;
31
31
 
@@ -94,7 +94,7 @@ module.exports = function defineWidget(def, renderer) {
94
94
  }
95
95
 
96
96
  this.setState(newState);
97
- }
97
+ },
98
98
  });
99
99
 
100
100
  Object.defineProperty(proto, "__document", {
@@ -104,7 +104,7 @@ module.exports = function defineWidget(def, renderer) {
104
104
  complain("__document is deprecated");
105
105
  }
106
106
  return this.___host;
107
- }
107
+ },
108
108
  });
109
109
 
110
110
  Object.defineProperty(proto, "el", {
@@ -122,7 +122,7 @@ module.exports = function defineWidget(def, renderer) {
122
122
  }
123
123
 
124
124
  return this.___currentLegacyBindEl;
125
- }
125
+ },
126
126
  });
127
127
 
128
128
  // get legacy methods
@@ -132,7 +132,7 @@ module.exports = function defineWidget(def, renderer) {
132
132
  get: noop,
133
133
  set: function (v) {
134
134
  proto.___legacyOnRender = v;
135
- }
135
+ },
136
136
  });
137
137
 
138
138
  proto.___legacyOnUpdate = proto.onUpdate;
@@ -142,7 +142,7 @@ module.exports = function defineWidget(def, renderer) {
142
142
  },
143
143
  set: function (v) {
144
144
  proto.___legacyOnUpdate = v;
145
- }
145
+ },
146
146
  });
147
147
 
148
148
  proto.___legacyOnDestroy = proto.onDestroy;
@@ -152,7 +152,7 @@ module.exports = function defineWidget(def, renderer) {
152
152
  },
153
153
  set: function (v) {
154
154
  proto.___legacyOnDestroy = v;
155
- }
155
+ },
156
156
  });
157
157
 
158
158
  proto.getWidget = proto.getComponent;
@@ -172,7 +172,7 @@ module.exports = function defineWidget(def, renderer) {
172
172
  complain(
173
173
  "widget was updated after it was destroyed, if this widget is migrated to a modern component this will become a noop.",
174
174
  {
175
- location: this.___type
175
+ location: this.___type,
176
176
  }
177
177
  );
178
178
  }
@@ -216,7 +216,7 @@ module.exports = function defineWidget(def, renderer) {
216
216
  get: function () {
217
217
  complain("__widget is deprecated");
218
218
  return self;
219
- }
219
+ },
220
220
  });
221
221
  } else {
222
222
  el.__widget = this;
@@ -308,7 +308,7 @@ module.exports = function defineWidget(def, renderer) {
308
308
  get: function () {
309
309
  complain("_isWidget is deprecated");
310
310
  return true;
311
- }
311
+ },
312
312
  });
313
313
  } else {
314
314
  Component._isWidget = true;
@@ -317,10 +317,12 @@ module.exports = function defineWidget(def, renderer) {
317
317
  var template = def.template;
318
318
  if (template) {
319
319
  if (typeof template === "string") {
320
- template = loader(template);
320
+ template = req(template);
321
321
  }
322
322
 
323
- registry.r(template.___typeName, function () { return Component });
323
+ registry.r(template.___typeName, function () {
324
+ return Component;
325
+ });
324
326
  }
325
327
 
326
328
  return Component;
@@ -10,7 +10,7 @@ module.exports = function defineWidget(def, renderer) {
10
10
  renderer: renderer,
11
11
  render: renderer.render,
12
12
  renderSync: renderer.renderSync,
13
- template: renderer.template
13
+ template: renderer.template,
14
14
  };
15
15
  } else {
16
16
  return { ___isComponent: true, _isWidget: true };
@@ -1,6 +1,7 @@
1
1
  var registry = require("@internal/components-registry");
2
2
 
3
- exports.getComponentForEl = require("@internal/components-util").___getComponentForEl;
3
+ exports.getComponentForEl =
4
+ require("@internal/components-util").___getComponentForEl;
4
5
  exports.init = registry.___initServerRendered;
5
6
  exports.register = function (id, component) {
6
7
  registry.r(id, function () {
@@ -152,7 +152,7 @@ function addComponentsFromContext(componentsContext, componentsToHydrate) {
152
152
  s: needsState && state,
153
153
  u: undefinedPropNames,
154
154
  w: serializedProps,
155
- r: renderBody
155
+ r: renderBody,
156
156
  };
157
157
 
158
158
  var parts = [id, typeName];
@@ -233,7 +233,7 @@ function getInitComponentsData(out, componentDefs) {
233
233
  l: isLast && 1,
234
234
  g: serializedGlobals,
235
235
  w: componentDefs,
236
- t: newTypes
236
+ t: newTypes,
237
237
  };
238
238
  }
239
239
 
@@ -1,5 +1,5 @@
1
1
  var Component = require("../../../runtime/components/Component");
2
- var loader = require("@internal/loader");
2
+ var req = require("@internal/require");
3
3
  var getComponentForEl =
4
4
  require("@internal/components-util").___getComponentForEl;
5
5
 
@@ -8,14 +8,15 @@ var complain = "MARKO_DEBUG" && require("complain");
8
8
  // expose legacy
9
9
  require("@internal/components-registry").___legacy = exports;
10
10
  exports.load = function (typeName) {
11
- return exports.defineWidget(loader(typeName));
11
+ return exports.defineWidget(req(typeName));
12
12
  };
13
13
 
14
14
  // legacy api
15
15
  exports.defineComponent = require("../../../runtime/components/legacy/defineComponent-legacy");
16
16
  exports.defineWidget = require("@internal/components-define-widget-legacy");
17
17
  exports.defineRenderer = require("../../../runtime/components/legacy/defineRenderer-legacy");
18
- exports.makeRenderable = exports.renderable = require("../../../runtime/renderable");
18
+ exports.makeRenderable =
19
+ exports.renderable = require("../../../runtime/renderable");
19
20
 
20
21
  // browser only
21
22
  var Widget = (exports.Widget = Component);
@@ -4,7 +4,8 @@ var modernMarko = require("@internal/components-entry");
4
4
  exports.defineComponent = require("../../../runtime/components/legacy/defineComponent-legacy");
5
5
  exports.defineWidget = require("@internal/components-define-widget-legacy");
6
6
  exports.defineRenderer = require("../../../runtime/components/legacy/defineRenderer-legacy");
7
- exports.makeRenderable = exports.renderable = require("../../../runtime/renderable");
7
+ exports.makeRenderable =
8
+ exports.renderable = require("../../../runtime/renderable");
8
9
 
9
10
  // server only
10
11
  exports.writeInitWidgetsCode = modernMarko.writeInitComponentsCode;
@@ -8,7 +8,7 @@ var createFragmentNode =
8
8
  var ComponentDef = require("../../../runtime/components/ComponentDef");
9
9
  var domData = require("../../../runtime/components/dom-data");
10
10
  var componentsUtil = require("@internal/components-util");
11
- var loader = require("@internal/loader");
11
+ var req = require("@internal/require");
12
12
  var componentLookup = componentsUtil.___componentLookup;
13
13
  var addComponentRootToKeyedElements =
14
14
  componentsUtil.___addComponentRootToKeyedElements;
@@ -69,7 +69,7 @@ function addPendingDef(def, type, meta, host, runtimeId) {
69
69
  def,
70
70
  meta,
71
71
  host,
72
- runtimeId
72
+ runtimeId,
73
73
  ]);
74
74
  }
75
75
 
@@ -83,7 +83,7 @@ function load(typeName, isLegacy) {
83
83
  } else if (isLegacy) {
84
84
  target = exports.___legacy.load(typeName);
85
85
  } else {
86
- target = loader(typeName);
86
+ target = req(typeName);
87
87
  // eslint-disable-next-line no-constant-condition
88
88
  if ("MARKO_DEBUG") {
89
89
  complain(
@@ -140,7 +140,7 @@ function getComponentClass(typeName, isLegacy) {
140
140
  ComponentClass = {
141
141
  [className]: function (id, doc) {
142
142
  OldComponentClass.call(this, id, doc);
143
- }
143
+ },
144
144
  }[className];
145
145
  ComponentClass.prototype = OldComponentClass.prototype;
146
146
  }
@@ -414,7 +414,7 @@ function initServerRendered(renderedComponents, host) {
414
414
 
415
415
  var fakeArray = (win[globalKey] = {
416
416
  r: runtimeId,
417
- concat: initServerRendered
417
+ concat: initServerRendered,
418
418
  });
419
419
 
420
420
  // eslint-disable-next-line no-constant-condition
@@ -495,18 +495,9 @@ function initServerRendered(renderedComponents, host) {
495
495
  .map(function (componentDef) {
496
496
  var typeName = meta.___types[componentDef[1]];
497
497
 
498
- return (
499
- registered[typeName] ||
498
+ return registered[typeName] ||
500
499
  document.readyState === "complete" ||
501
- (
502
- // loader.runtime is only going to exist for lasso apps
503
- // this code is used to detect if a module was registered
504
- // via a browser.json but not executed.
505
- loader.runtime &&
506
- loader.runtime.resolve &&
507
- loader.runtime.resolve(typeName)
508
- )
509
- )
500
+ req.e(typeName)
510
501
  ? tryHydrateComponent(componentDef, meta, host, runtimeId)
511
502
  : addPendingDef(componentDef, typeName, meta, host, runtimeId);
512
503
  })
@@ -594,4 +585,5 @@ exports.___createComponent = createComponent;
594
585
  exports.___getComponentClass = getComponentClass;
595
586
  exports.___initServerRendered = win.$initComponents = initServerRendered;
596
587
 
597
- require("../../../runtime/components/ComponentsContext").___initClientRendered = initClientRendered;
588
+ require("../../../runtime/components/ComponentsContext").___initClientRendered =
589
+ initClientRendered;
@@ -11,7 +11,7 @@ module.exports = function (data) {
11
11
  },
12
12
  end: function () {
13
13
  writer.close();
14
- }
14
+ },
15
15
  };
16
16
  var out = this.createOut(
17
17
  data && data.$global,
@@ -19,7 +19,7 @@ module.exports = function (data) {
19
19
  undefined,
20
20
  this.___shouldBuffer
21
21
  );
22
- out.once("error", err => {
22
+ out.once("error", (err) => {
23
23
  facade.write = facade.end = noop;
24
24
  writer.abort(err);
25
25
  });
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var nodePath = require("path");
4
+ var fs = require("fs");
5
+ var Module = require("module").Module;
6
+ var markoCompiler = require("../../../compiler");
7
+ var cwd = process.cwd();
8
+ var fsOptions = { encoding: "utf8" };
9
+ var requiredCompilerOptions = { modules: "cjs" };
10
+
11
+ module.exports = function load(templatePath, templateSrc, options) {
12
+ if (arguments.length === 1) {
13
+ return doLoad(templatePath);
14
+ } else if (arguments.length === 2) {
15
+ // see if second argument is templateSrc (a String)
16
+ // or options (an Object)
17
+ var lastArg = arguments[arguments.length - 1];
18
+ if (typeof lastArg === "string") {
19
+ return doLoad(templatePath, templateSrc);
20
+ } else {
21
+ var finalOptions = templateSrc;
22
+ return doLoad(templatePath, null, finalOptions);
23
+ }
24
+ } else if (arguments.length === 3) {
25
+ // assume function called according to function signature
26
+ return doLoad(templatePath, templateSrc, options);
27
+ } else {
28
+ throw new Error("Illegal arguments");
29
+ }
30
+ };
31
+
32
+ function loadSource(templatePath, compiledSrc) {
33
+ // Short-circuit loading if the template has already been cached in the Node.js require cache
34
+ var cached = require.cache[templatePath];
35
+ if (cached) {
36
+ return cached.exports;
37
+ }
38
+
39
+ var templateModule = new Module(templatePath, module);
40
+ templateModule.paths = Module._nodeModulePaths(
41
+ nodePath.dirname(templatePath)
42
+ );
43
+ templateModule.filename = templatePath;
44
+
45
+ Module._cache[templatePath] = templateModule;
46
+
47
+ templateModule._compile(compiledSrc, templatePath);
48
+
49
+ return templateModule.exports;
50
+ }
51
+
52
+ function getCachedTemplate(templatePath) {
53
+ var precompiledTemplatePath = templatePath + ".js";
54
+ var templateModule =
55
+ require.cache[templatePath] || require.cache[precompiledTemplatePath];
56
+
57
+ if (templateModule) {
58
+ return templateModule.exports;
59
+ } else if (fs.existsSync(precompiledTemplatePath)) {
60
+ return require(precompiledTemplatePath);
61
+ }
62
+ }
63
+
64
+ function doLoad(templatePath, templateSrc, options) {
65
+ options = Object.assign(
66
+ {},
67
+ markoCompiler.defaultOptions,
68
+ options,
69
+ requiredCompilerOptions
70
+ );
71
+ templatePath = nodePath.resolve(cwd, templatePath);
72
+ var template = getCachedTemplate(templatePath);
73
+
74
+ if (!template) {
75
+ if (templateSrc == null) {
76
+ templateSrc = fs.readFileSync(templatePath, fsOptions);
77
+ }
78
+
79
+ var compiledSrc = markoCompiler.compile(templateSrc, templatePath, options);
80
+
81
+ template = loadSource(templatePath, compiledSrc);
82
+ }
83
+
84
+ if (template.default) {
85
+ template = template.default;
86
+ }
87
+
88
+ return template;
89
+ }
@@ -1,4 +1,2 @@
1
1
  "use strict";
2
- module.exports =
3
- // eslint-disable-next-line no-undef
4
- typeof __webpack_require__ !== "undefined" ? __webpack_require__ : require;
2
+ module.exports = require("@internal/require");
@@ -1,88 +1,23 @@
1
1
  "use strict";
2
- var nodePath = require("path");
3
- var fs = require("fs");
4
- var Module = require("module").Module;
5
- var markoCompiler = require("../../../compiler");
6
- var cwd = process.cwd();
7
- var fsOptions = { encoding: "utf8" };
8
- var requiredCompilerOptions = { modules: "cjs" };
9
2
 
10
- module.exports = function load(templatePath, templateSrc, options) {
11
- if (arguments.length === 1) {
12
- return doLoad(templatePath);
13
- } else if (arguments.length === 2) {
14
- // see if second argument is templateSrc (a String)
15
- // or options (an Object)
16
- var lastArg = arguments[arguments.length - 1];
17
- if (typeof lastArg === "string") {
18
- return doLoad(templatePath, templateSrc);
19
- } else {
20
- var finalOptions = templateSrc;
21
- return doLoad(templatePath, null, finalOptions);
22
- }
23
- } else if (arguments.length === 3) {
24
- // assume function called according to function signature
25
- return doLoad(templatePath, templateSrc, options);
26
- } else {
27
- throw new Error("Illegal arguments");
28
- }
29
- };
30
-
31
- function loadSource(templatePath, compiledSrc) {
32
- // Short-circuit loading if the template has already been cached in the Node.js require cache
33
- var cached = require.cache[templatePath];
34
- if (cached) {
35
- return cached.exports;
36
- }
37
-
38
- var templateModule = new Module(templatePath, module);
39
- templateModule.paths = Module._nodeModulePaths(
40
- nodePath.dirname(templatePath)
41
- );
42
- templateModule.filename = templatePath;
43
-
44
- Module._cache[templatePath] = templateModule;
45
-
46
- templateModule._compile(compiledSrc, templatePath);
47
-
48
- return templateModule.exports;
49
- }
50
-
51
- function getCachedTemplate(templatePath) {
52
- var precompiledTemplatePath = templatePath + ".js";
53
- var templateModule =
54
- require.cache[templatePath] || require.cache[precompiledTemplatePath];
55
-
56
- if (templateModule) {
57
- return templateModule.exports;
58
- } else if (fs.existsSync(precompiledTemplatePath)) {
59
- return require(precompiledTemplatePath);
60
- }
61
- }
62
-
63
- function doLoad(templatePath, templateSrc, options) {
64
- options = Object.assign(
65
- {},
66
- markoCompiler.defaultOptions,
67
- options,
68
- requiredCompilerOptions
69
- );
70
- templatePath = nodePath.resolve(cwd, templatePath);
71
- var template = getCachedTemplate(templatePath);
72
-
73
- if (!template) {
74
- if (templateSrc == null) {
75
- templateSrc = fs.readFileSync(templatePath, fsOptions);
76
- }
77
-
78
- var compiledSrc = markoCompiler.compile(templateSrc, templatePath, options);
79
-
80
- template = loadSource(templatePath, compiledSrc);
81
- }
82
-
83
- if (template.default) {
84
- template = template.default;
85
- }
86
-
87
- return template;
88
- }
3
+ const req = require("@internal/require");
4
+ let fallback;
5
+ module.exports = !require.extensions[".marko"]
6
+ ? require("./fallback-node")
7
+ : function load(templatePath, templateSrc, options) {
8
+ switch (arguments.length) {
9
+ case 1:
10
+ return req(templatePath);
11
+ case 2:
12
+ return (fallback = fallback || require("./fallback-node"))(
13
+ templatePath,
14
+ templateSrc
15
+ );
16
+ case 3:
17
+ return (fallback = fallback || require("./fallback-node"))(
18
+ templatePath,
19
+ templateSrc,
20
+ options
21
+ );
22
+ }
23
+ };
@@ -3,9 +3,8 @@
3
3
  "browser": "./index-browser.js",
4
4
  "exports": {
5
5
  ".": {
6
- "webpack": "./index-browser.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
6
+ "node": "./index.js",
7
+ "default": "./index-browser.js"
9
8
  }
10
9
  }
11
10
  }
@@ -0,0 +1,45 @@
1
+ module.exports = function render(input, out) {
2
+ var isComponent = !input.n;
3
+ var shouldPreserve = !("i" in input) || input.i;
4
+ var componentsContext = out.___components;
5
+ var isHydrate =
6
+ componentsContext && componentsContext.___globalContext.___isHydrate;
7
+ var ownerComponent = out.___assignedComponentDef.___component;
8
+ var referenceComponent = ownerComponent;
9
+ var key = out.___assignedKey;
10
+ var checkKey = key;
11
+
12
+ if (key[0] !== "@") {
13
+ var parentComponent = componentsContext.___componentDef.___component;
14
+ if (ownerComponent !== parentComponent) {
15
+ referenceComponent = parentComponent;
16
+ checkKey += ":" + ownerComponent.id;
17
+ }
18
+ }
19
+
20
+ var isPreserved =
21
+ shouldPreserve &&
22
+ (isHydrate || referenceComponent.___keyedElements[checkKey]);
23
+
24
+ if (isComponent) {
25
+ out.bf(key, ownerComponent, shouldPreserve);
26
+
27
+ if (!isPreserved && input.renderBody) {
28
+ input.renderBody(out);
29
+ }
30
+
31
+ out.ef();
32
+ } else {
33
+ if (isPreserved) {
34
+ if (input.b) {
35
+ out.___parent.___preserveBody = true;
36
+ } else {
37
+ out.beginElement("", null, key, ownerComponent);
38
+ out.___parent.___preserve = true;
39
+ out.endElement();
40
+ }
41
+ } else if (input.renderBody) {
42
+ input.renderBody(out);
43
+ }
44
+ }
45
+ };
@@ -0,0 +1,34 @@
1
+ var ComponentsContext = require("../../../runtime/components/ComponentsContext");
2
+ var getComponentsContext = ComponentsContext.___getComponentsContext;
3
+
4
+ module.exports = function render(input, out) {
5
+ var isComponent = !input.n;
6
+ var shouldPreserve = !("i" in input) || input.i;
7
+ var componentsContext = out.___components;
8
+
9
+ if (isComponent) {
10
+ out.bf(out.___assignedKey, out.___assignedComponentDef.___component, true);
11
+ }
12
+
13
+ if (input.renderBody) {
14
+ if (shouldPreserve) {
15
+ var parentPreserved = false;
16
+
17
+ if (componentsContext) {
18
+ parentPreserved = componentsContext.___isPreserved;
19
+ } else {
20
+ componentsContext = getComponentsContext(out);
21
+ }
22
+
23
+ componentsContext.___isPreserved = true;
24
+ input.renderBody(out);
25
+ componentsContext.___isPreserved = parentPreserved;
26
+ } else {
27
+ input.renderBody(out);
28
+ }
29
+ }
30
+
31
+ if (isComponent) {
32
+ out.ef();
33
+ }
34
+ };
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "worker": "./index.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ load.e = exists;
3
+ module.exports = load;
4
+
5
+ function load() {
6
+ throw new Error(
7
+ "The require API cannot be used in the browser in the current environment."
8
+ );
9
+ }
10
+
11
+ function exists() {
12
+ return false;
13
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ load.e = exists;
3
+ module.exports = load;
4
+
5
+ function load(id) {
6
+ return interopRequire(require(id));
7
+ }
8
+
9
+ function exists(id) {
10
+ // In lasso this helper is used to determine if a module was loaded but not run.
11
+ return !!(
12
+ require.runtime &&
13
+ require.runtime.resolve &&
14
+ require.runtime.resolve(id, "/")
15
+ );
16
+ }
17
+
18
+ function interopRequire(mod) {
19
+ return mod.default || mod;
20
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ load.e = __webpack_is_included__;
3
+ module.exports = load;
4
+
5
+ function load(id) {
6
+ return interopRequire(__webpack_require__(id));
7
+ }
8
+
9
+ function interopRequire(mod) {
10
+ return mod.default || mod;
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ load.e = exists;
3
+ module.exports = load;
4
+
5
+ function load(id) {
6
+ return interopRequire(require(id));
7
+ }
8
+
9
+ function exists() {
10
+ return false;
11
+ }
12
+
13
+ function interopRequire(mod) {
14
+ return mod.default || mod;
15
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-legacy-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "webpack": "./index-webpack.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }