marko 5.30.2 → 5.31.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/dist/compiler/index.js +10 -10
  2. package/dist/core-tags/components/preserve-tag.js +4 -4
  3. package/dist/core-tags/core/await/AsyncValue.js +7 -7
  4. package/dist/core-tags/core/await/reorderer-renderer.js +28 -28
  5. package/dist/node-require/hot-reload.js +5 -5
  6. package/dist/node-require/index.js +8 -8
  7. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +4 -4
  8. package/dist/node_modules/@internal/components-beginComponent/index.js +14 -14
  9. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +9 -7
  10. package/dist/node_modules/@internal/components-entry/index-browser.js +2 -1
  11. package/dist/node_modules/@internal/components-entry/index.js +5 -5
  12. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
  13. package/dist/node_modules/@internal/components-entry-legacy/index.js +2 -1
  14. package/dist/node_modules/@internal/components-registry/index-browser.js +43 -51
  15. package/dist/node_modules/@internal/components-util/index-browser.js +3 -3
  16. package/dist/node_modules/@internal/create-readable/index-browser.js +5 -5
  17. package/dist/node_modules/@internal/create-readable/index.js +5 -5
  18. package/dist/node_modules/@internal/loader/fallback-node.js +89 -0
  19. package/dist/node_modules/@internal/loader/index-browser.js +1 -3
  20. package/dist/node_modules/@internal/loader/index.js +20 -85
  21. package/dist/node_modules/@internal/loader/package.json +2 -3
  22. package/dist/node_modules/@internal/require/index-browser.js +13 -0
  23. package/dist/node_modules/@internal/require/index-legacy-browser.js +20 -0
  24. package/dist/node_modules/@internal/require/index-webpack.js +11 -0
  25. package/dist/node_modules/@internal/require/index.js +15 -0
  26. package/dist/node_modules/@internal/require/package.json +11 -0
  27. package/dist/runtime/RenderResult.js +8 -7
  28. package/dist/runtime/components/Component.js +18 -18
  29. package/dist/runtime/components/ComponentDef.js +1 -1
  30. package/dist/runtime/components/State.js +10 -10
  31. package/dist/runtime/components/event-delegation.js +49 -49
  32. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -5
  33. package/dist/runtime/components/legacy/defineRenderer-legacy.js +6 -11
  34. package/dist/runtime/components/legacy/dependencies/index.js +7 -7
  35. package/dist/runtime/components/legacy/renderer-legacy.js +51 -51
  36. package/dist/runtime/components/renderer.js +26 -26
  37. package/dist/runtime/helpers/_change-case.js +3 -3
  38. package/dist/runtime/helpers/class-value.js +2 -2
  39. package/dist/runtime/helpers/dynamic-tag.js +27 -27
  40. package/dist/runtime/helpers/render-tag.js +3 -3
  41. package/dist/runtime/html/AsyncStream.js +10 -10
  42. package/dist/runtime/html/BufferedWriter.js +14 -14
  43. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  44. package/dist/runtime/html/helpers/attr.js +5 -5
  45. package/dist/runtime/html/helpers/attrs.js +2 -2
  46. package/dist/runtime/html/helpers/data-marko.js +2 -2
  47. package/dist/runtime/html/helpers/escape-xml.js +2 -2
  48. package/dist/runtime/html/index.js +9 -9
  49. package/dist/runtime/renderable.js +4 -4
  50. package/dist/runtime/vdom/AsyncVDOMBuilder.js +36 -36
  51. package/dist/runtime/vdom/VElement.js +23 -23
  52. package/dist/runtime/vdom/hot-reload.js +1 -1
  53. package/dist/runtime/vdom/index.js +8 -8
  54. package/dist/runtime/vdom/morphdom/fragment.js +8 -8
  55. package/dist/runtime/vdom/morphdom/helpers.js +7 -7
  56. package/dist/runtime/vdom/morphdom/index.js +93 -93
  57. package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
  58. package/dist/runtime/vdom/vdom.js +2 -2
  59. package/dist/taglib/index.js +3 -3
  60. package/docs/compiler.md +6 -0
  61. package/package.json +3 -3
  62. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +17 -15
  63. package/src/node_modules/@internal/components-define-widget-legacy/index.js +1 -1
  64. package/src/node_modules/@internal/components-entry/index-browser.js +2 -1
  65. package/src/node_modules/@internal/components-entry/index.js +2 -2
  66. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
  67. package/src/node_modules/@internal/components-entry-legacy/index.js +2 -1
  68. package/src/node_modules/@internal/components-registry/index-browser.js +9 -17
  69. package/src/node_modules/@internal/create-readable/index-browser.js +2 -2
  70. package/src/node_modules/@internal/loader/fallback-node.js +89 -0
  71. package/src/node_modules/@internal/loader/index-browser.js +1 -3
  72. package/src/node_modules/@internal/loader/index.js +21 -86
  73. package/src/node_modules/@internal/loader/package.json +2 -3
  74. package/src/node_modules/@internal/require/index-browser.js +13 -0
  75. package/src/node_modules/@internal/require/index-legacy-browser.js +20 -0
  76. package/src/node_modules/@internal/require/index-webpack.js +11 -0
  77. package/src/node_modules/@internal/require/index.js +15 -0
  78. package/src/node_modules/@internal/require/package.json +11 -0
  79. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -5
  80. package/src/runtime/components/legacy/defineRenderer-legacy.js +2 -7
@@ -66,9 +66,9 @@ function _compile(src, filename, userConfig, callback) {
66
66
 
67
67
  if (callback) {
68
68
  compiler.compile(src, filename, options).then(
69
- (result) => callback(null, resultCompat(result, options)),
70
- (error) => callback(error));
71
-
69
+ (result) => callback(null, resultCompat(result, options)),
70
+ (error) => callback(error)
71
+ );
72
72
  } else {
73
73
  return resultCompat(compiler.compileSync(src, filename, options), options);
74
74
  }
@@ -93,13 +93,13 @@ function compileForBrowser(src, filename, options, callback) {
93
93
  }
94
94
 
95
95
  options = extend(
96
- {
97
- output: "dom",
98
- meta: false,
99
- sourceOnly: false
100
- },
101
- options);
102
-
96
+ {
97
+ output: "dom",
98
+ meta: false,
99
+ sourceOnly: false
100
+ },
101
+ options
102
+ );
103
103
 
104
104
  return compile(src, filename, options, callback);
105
105
  }
@@ -50,10 +50,10 @@ module.exports = function render(input, out) {
50
50
  } else {
51
51
  if (isComponent) {
52
52
  out.bf(
53
- out.j_,
54
- out.h_.i_,
55
- true);
56
-
53
+ out.j_,
54
+ out.h_.i_,
55
+ true
56
+ );
57
57
  }
58
58
 
59
59
  if (input.renderBody) {
@@ -93,13 +93,13 @@ AsyncValue.prototype = {
93
93
  var asyncValue = this;
94
94
 
95
95
  var finalPromise = value.then(
96
- function onFulfilled(value) {
97
- queueMicrotask(asyncValue.w_.bind(asyncValue, value));
98
- },
99
- function onRejected(err) {
100
- queueMicrotask(asyncValue.v_.bind(asyncValue, err));
101
- });
102
-
96
+ function onFulfilled(value) {
97
+ queueMicrotask(asyncValue.w_.bind(asyncValue, value));
98
+ },
99
+ function onRejected(err) {
100
+ queueMicrotask(asyncValue.v_.bind(asyncValue, err));
101
+ }
102
+ );
103
103
 
104
104
  if (finalPromise.done) {
105
105
  finalPromise.done();
@@ -52,44 +52,44 @@ module.exports = function (input, out) {
52
52
  if (!global._afRuntime) {
53
53
  // Minified version of ./client-reorder-runtime.js
54
54
  asyncOut.script(
55
- `function $af(d,a,e,l,g,h,k,b,f,c){c=$af;if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("af"+d);g=e.getElementById("afph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`);
56
-
55
+ `function $af(d,a,e,l,g,h,k,b,f,c){c=$af;if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("af"+d);g=e.getElementById("afph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`
56
+ );
57
57
  global._afRuntime = true;
58
58
  }
59
59
 
60
60
  if (global.cspNonce) {
61
61
  asyncOut.write(
62
- '<style nonce="' +
63
- escapeDoubleQuotes(global.cspNonce) +
64
- '">' +
65
- "#af" +
66
- awaitInfo.id +
67
- "{display:none;}" +
68
- "</style>" +
69
- '<div id="af' +
70
- awaitInfo.id +
71
- '">' +
72
- result.toString() +
73
- "</div>");
74
-
62
+ '<style nonce="' +
63
+ escapeDoubleQuotes(global.cspNonce) +
64
+ '">' +
65
+ "#af" +
66
+ awaitInfo.id +
67
+ "{display:none;}" +
68
+ "</style>" +
69
+ '<div id="af' +
70
+ awaitInfo.id +
71
+ '">' +
72
+ result.toString() +
73
+ "</div>"
74
+ );
75
75
  } else {
76
76
  asyncOut.write(
77
- '<div id="af' +
78
- awaitInfo.id +
79
- '" style="display:none">' +
80
- result.toString() +
81
- "</div>");
82
-
77
+ '<div id="af' +
78
+ awaitInfo.id +
79
+ '" style="display:none">' +
80
+ result.toString() +
81
+ "</div>"
82
+ );
83
83
  }
84
84
 
85
85
  asyncOut.script(
86
- "$af(" + (
87
- typeof awaitInfo.id === "number" ?
88
- awaitInfo.id :
89
- '"' + awaitInfo.id + '"') + (
90
- awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
91
- ")");
92
-
86
+ "$af(" + (
87
+ typeof awaitInfo.id === "number" ?
88
+ awaitInfo.id :
89
+ '"' + awaitInfo.id + '"') + (
90
+ awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
91
+ ")"
92
+ );
93
93
 
94
94
  awaitInfo.out.writer = asyncOut.writer;
95
95
 
@@ -8,9 +8,9 @@ require("../runtime/html/hot-reload");
8
8
  exports.handleFileModified = function (filename) {
9
9
  if (!fs.existsSync(filename)) {
10
10
  console.log(
11
- "[marko/hot-reload] WARNING cannot resolve template path: ",
12
- filename);
13
-
11
+ "[marko/hot-reload] WARNING cannot resolve template path: ",
12
+ filename
13
+ );
14
14
  return;
15
15
  }
16
16
 
@@ -35,8 +35,8 @@ function tryReload(filename) {
35
35
  delete require.cache[filename];
36
36
  require(filename);
37
37
  console.log(
38
- `[marko] Template successfully reloaded: ${cwdRelative(filename)}`);
39
-
38
+ `[marko] Template successfully reloaded: ${cwdRelative(filename)}`
39
+ );
40
40
  } catch (e) {
41
41
  console.error(e);
42
42
  }
@@ -27,14 +27,14 @@ function normalizeExtension(extension) {
27
27
 
28
28
  function compile(templatePath, markoCompiler, userCompilerOptions) {
29
29
  return markoCompiler.compileFileSync(
30
- templatePath,
31
- Object.assign(
32
- {},
33
- defaultCompilerOptions,
34
- userCompilerOptions,
35
- requiredCompilerOptions)).
36
-
37
- code;
30
+ templatePath,
31
+ Object.assign(
32
+ {},
33
+ defaultCompilerOptions,
34
+ userCompilerOptions,
35
+ requiredCompilerOptions
36
+ )
37
+ ).code;
38
38
  }
39
39
 
40
40
  function install(options) {
@@ -8,10 +8,10 @@ ownerComponentDef)
8
8
  {
9
9
  var componentId = component.id;
10
10
  var componentDef = componentsContext.k_ = new ComponentDef(
11
- component,
12
- componentId,
13
- componentsContext);
14
-
11
+ component,
12
+ componentId,
13
+ componentsContext
14
+ );
15
15
  componentsContext.f_.z_[
16
16
  componentId] =
17
17
  true;
@@ -22,10 +22,10 @@ existingComponentDef)
22
22
  var componentDef =
23
23
  existingComponentDef || (
24
24
  componentsContext.k_ = new ComponentDef(
25
- component,
26
- componentId,
27
- componentsContext));
28
-
25
+ component,
26
+ componentId,
27
+ componentsContext
28
+ ));
29
29
 
30
30
  var ownerIsRenderBoundary =
31
31
  ownerComponentDef && ownerComponentDef.B_;
@@ -66,16 +66,16 @@ existingComponentDef)
66
66
 
67
67
  if ((ownerIsRenderBoundary || ownerWillRerender) && key != null) {
68
68
  out.w(
69
- "<!--" +
70
- runtimeId +
71
- "^" +
72
- componentId +
73
- " " +
74
- ownerComponentDef.id +
75
- " " +
76
- key +
77
- "-->");
78
-
69
+ "<!--" +
70
+ runtimeId +
71
+ "^" +
72
+ componentId +
73
+ " " +
74
+ ownerComponentDef.id +
75
+ " " +
76
+ key +
77
+ "-->"
78
+ );
79
79
  } else {
80
80
  out.w("<!--" + runtimeId + "#" + componentId + "-->");
81
81
  }
@@ -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");
@@ -265,10 +265,10 @@ module.exports = function defineWidget(def, renderer) {
265
265
  proto.V_ = State;
266
266
 
267
267
  jQuery.patchComponent(
268
- window.$,
269
- proto,
270
- true /* don't throw error until used if `$` is missing*/);
271
-
268
+ window.$,
269
+ proto,
270
+ true /* don't throw error until used if `$` is missing*/
271
+ );
272
272
 
273
273
  ready.patchComponent(proto);
274
274
 
@@ -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.X_, function () {return Component;});
323
+ registry.r(template.X_, function () {
324
+ return Component;
325
+ });
324
326
  }
325
327
 
326
328
  return Component;
@@ -1,6 +1,7 @@
1
1
  "use strict";var registry = require("@internal/components-registry");
2
2
 
3
- exports.getComponentForEl = require("@internal/components-util").Y_;
3
+ exports.getComponentForEl =
4
+ require("@internal/components-util").Y_;
4
5
  exports.init = registry.Z_;
5
6
  exports.register = function (id, component) {
6
7
  registry.r(id, function () {
@@ -30,9 +30,9 @@ function isNotEmpty(obj) {
30
30
  }
31
31
  function safeStringify(data) {
32
32
  return JSON.stringify(warp10.stringifyPrepare(data)).replace(
33
- safeJSONRegExp,
34
- safeJSONReplacer);
35
-
33
+ safeJSONRegExp,
34
+ safeJSONReplacer
35
+ );
36
36
  }
37
37
 
38
38
  function getSerializedGlobals($global) {
@@ -282,8 +282,8 @@ componentDefs)
282
282
  runtimeId === DEFAULT_RUNTIME_ID ? "MC" : runtimeId + "_C";
283
283
 
284
284
  return `$${componentGlobalKey}=(window.$${componentGlobalKey}||[]).concat(${safeStringify(
285
- initComponentsData)
286
- })`;
285
+ initComponentsData
286
+ )})`;
287
287
  };
288
288
 
289
289
  exports.__ = addComponentsFromContext;
@@ -1,5 +1,5 @@
1
1
  "use strict";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").Y_;
5
5
 
@@ -8,14 +8,15 @@ require("@internal/components-util").Y_;
8
8
  // expose legacy
9
9
  require("@internal/components-registry")._k_ = 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 @@
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 @@ require("../../../runtime/vdom/morphdom/fragment")._n_;
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._o_;
13
13
  var addComponentRootToKeyedElements =
14
14
  componentsUtil._p_;
@@ -69,8 +69,8 @@ function addPendingDef(def, type, meta, host, runtimeId) {
69
69
  def,
70
70
  meta,
71
71
  host,
72
- runtimeId]);
73
-
72
+ runtimeId]
73
+ );
74
74
  }
75
75
 
76
76
  function load(typeName, isLegacy) {
@@ -83,7 +83,7 @@ function load(typeName, isLegacy) {
83
83
  } else if (isLegacy) {
84
84
  target = exports._k_.load(typeName);
85
85
  } else {
86
- target = loader(typeName);
86
+ target = req(typeName);
87
87
  // eslint-disable-next-line no-constant-condition
88
88
 
89
89
 
@@ -184,9 +184,9 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
184
184
  rootNode = createFragmentNode(startNode.nextSibling, endNode);
185
185
  } else {
186
186
  rootNode = createFragmentNode(
187
- endNode.parentNode.firstChild,
188
- endNode);
189
-
187
+ endNode.parentNode.firstChild,
188
+ endNode
189
+ );
190
190
  }
191
191
 
192
192
  componentId = startNode.nodeValue.substring(runtimeLength + 1);
@@ -205,11 +205,11 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
205
205
  keyedElementsByComponentId[ownerId] = {});
206
206
  }
207
207
  addComponentRootToKeyedElements(
208
- keyedElements,
209
- key,
210
- rootNode,
211
- componentId);
212
-
208
+ keyedElements,
209
+ key,
210
+ rootNode,
211
+ componentId
212
+ );
213
213
  }
214
214
 
215
215
  serverComponentRootNodes[componentId] = rootNode;
@@ -284,18 +284,18 @@ extraArgs,
284
284
  handles)
285
285
  {
286
286
  var removeListener = addEventListenerHelper(
287
- el,
288
- eventType,
289
- isOnce,
290
- function (event) {
291
- var args = [event, el];
292
- if (extraArgs) {
293
- args = extraArgs.concat(args);
294
- }
295
-
296
- invokeComponentEventHandler(component, targetMethodName, args);
297
- });
287
+ el,
288
+ eventType,
289
+ isOnce,
290
+ function (event) {
291
+ var args = [event, el];
292
+ if (extraArgs) {
293
+ args = extraArgs.concat(args);
294
+ }
298
295
 
296
+ invokeComponentEventHandler(component, targetMethodName, args);
297
+ }
298
+ );
299
299
  handles.push(removeListener);
300
300
  }
301
301
 
@@ -329,14 +329,14 @@ function initComponent(componentDef, host) {
329
329
  var extraArgs = domEventArgs[4];
330
330
 
331
331
  addDOMEventListeners(
332
- component,
333
- eventEl,
334
- eventType,
335
- targetMethodName,
336
- isOnce,
337
- extraArgs,
338
- eventListenerHandles);
339
-
332
+ component,
333
+ eventEl,
334
+ eventType,
335
+ targetMethodName,
336
+ isOnce,
337
+ extraArgs,
338
+ eventListenerHandles
339
+ );
340
340
  });
341
341
 
342
342
  if (eventListenerHandles.length) {
@@ -495,20 +495,11 @@ function initServerRendered(renderedComponents, host) {
495
495
  map(function (componentDef) {
496
496
  var typeName = meta._E_[componentDef[1]];
497
497
 
498
- return (
499
- registered[typeName] ||
500
- 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
-
510
- tryHydrateComponent(componentDef, meta, host, runtimeId) :
511
- addPendingDef(componentDef, typeName, meta, host, runtimeId));
498
+ return registered[typeName] ||
499
+ document.readyState === "complete" ||
500
+ req.e(typeName) ?
501
+ tryHydrateComponent(componentDef, meta, host, runtimeId) :
502
+ addPendingDef(componentDef, typeName, meta, host, runtimeId);
512
503
  }).
513
504
  reverse().
514
505
  forEach(tryInvoke);
@@ -518,11 +509,11 @@ function initServerRendered(renderedComponents, host) {
518
509
 
519
510
  function tryHydrateComponent(rawDef, meta, host, runtimeId) {
520
511
  var componentDef = ComponentDef._F_(
521
- rawDef,
522
- meta._E_,
523
- meta._D_,
524
- exports);
525
-
512
+ rawDef,
513
+ meta._E_,
514
+ meta._D_,
515
+ exports
516
+ );
526
517
  var mount = hydrateComponentAndGetMount(componentDef, host);
527
518
 
528
519
  if (!mount) {
@@ -594,4 +585,5 @@ exports._I_ = createComponent;
594
585
  exports._J_ = getComponentClass;
595
586
  exports.Z_ = win.$initComponents = initServerRendered;
596
587
 
597
- require("../../../runtime/components/ComponentsContext")._K_ = initClientRendered;
588
+ require("../../../runtime/components/ComponentsContext")._K_ =
589
+ initClientRendered;
@@ -109,9 +109,9 @@ function getMarkoPropsFromEl(el) {
109
109
  if (!virtualProps) {
110
110
  virtualProps = el.getAttribute("data-marko");
111
111
  vPropsByDOMNode.set(
112
- el,
113
- virtualProps = virtualProps ? JSON.parse(virtualProps) : EMPTY_OBJECT);
114
-
112
+ el,
113
+ virtualProps = virtualProps ? JSON.parse(virtualProps) : EMPTY_OBJECT
114
+ );
115
115
  }
116
116
  }
117
117
 
@@ -14,11 +14,11 @@ module.exports = function (data) {
14
14
  }
15
15
  };
16
16
  var out = this.createOut(
17
- data && data.$global,
18
- facade,
19
- undefined,
20
- this._Y_);
21
-
17
+ data && data.$global,
18
+ facade,
19
+ undefined,
20
+ this._Y_
21
+ );
22
22
  out.once("error", (err) => {
23
23
  facade.write = facade.end = noop;
24
24
  writer.abort(err);
@@ -42,11 +42,11 @@ class Readable extends stream.Readable {
42
42
  var data = this.a__;
43
43
  var globalData = data && data.$global;
44
44
  var out = this._Z_.createOut(
45
- globalData,
46
- this,
47
- undefined,
48
- template._Y_);
49
-
45
+ globalData,
46
+ this,
47
+ undefined,
48
+ template._Y_
49
+ );
50
50
  template.render(data, out);
51
51
  out.end();
52
52
  }
@@ -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");