marko 5.30.2 → 5.31.1

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 (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
@@ -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,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
+ }
@@ -8,11 +8,6 @@ var defineRenderer;
8
8
  var defineWidget;
9
9
 
10
10
  module.exports = function defineComponent(def) {
11
- // eslint-disable-next-line no-constant-condition
12
- if ("MARKO_DEBUG") {
13
- require("complain")("defineComponent is deprecated");
14
- }
15
-
16
11
  if (def.___isComponent) {
17
12
  return def;
18
13
  }
@@ -4,17 +4,12 @@ var getComponentsContext =
4
4
  require("../ComponentsContext").___getComponentsContext;
5
5
  var componentLookup = require("@internal/components-util").___componentLookup;
6
6
  var modernRenderer = require("../renderer");
7
- var loader = require("@internal/loader");
7
+ var req = require("@internal/require");
8
8
  var resolveComponentKey = modernRenderer.___resolveComponentKey;
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
- if ("MARKO_DEBUG") {
15
- require("complain")("defineRenderer is deprecated");
16
- }
17
-
18
13
  if (renderer && renderer.___isRenderer) {
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) {