@marko/translator-default 5.20.9 → 5.21.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. package/dist/cdata/index.js +1 -2
  2. package/dist/cdata/index[html].js +1 -2
  3. package/dist/cdata/index[vdom].js +1 -2
  4. package/dist/class.js +1 -2
  5. package/dist/comment/index.js +1 -2
  6. package/dist/comment/index[html].js +1 -2
  7. package/dist/comment/index[vdom].js +1 -2
  8. package/dist/declaration/index.js +1 -2
  9. package/dist/declaration/index[html].js +1 -2
  10. package/dist/declaration/index[vdom].js +1 -2
  11. package/dist/document-type/index.js +1 -2
  12. package/dist/document-type/index[html].js +1 -2
  13. package/dist/document-type/index[vdom].js +1 -2
  14. package/dist/index.js +38 -39
  15. package/dist/placeholder/index.js +1 -2
  16. package/dist/placeholder/index[html].js +1 -2
  17. package/dist/placeholder/index[vdom].js +1 -2
  18. package/dist/scriptlet.js +1 -2
  19. package/dist/tag/attribute/directives/class.js +1 -2
  20. package/dist/tag/attribute/directives/index.js +1 -2
  21. package/dist/tag/attribute/directives/no-update-body-if.js +1 -2
  22. package/dist/tag/attribute/directives/no-update-body.js +1 -2
  23. package/dist/tag/attribute/directives/no-update-if.js +1 -2
  24. package/dist/tag/attribute/directives/no-update.js +1 -2
  25. package/dist/tag/attribute/directives/style.js +1 -2
  26. package/dist/tag/attribute/index.js +1 -2
  27. package/dist/tag/attribute/modifiers/index.js +1 -2
  28. package/dist/tag/attribute/modifiers/no-update.js +1 -2
  29. package/dist/tag/attribute/modifiers/scoped.js +1 -2
  30. package/dist/tag/attribute-tag.js +1 -2
  31. package/dist/tag/custom-tag.js +1 -2
  32. package/dist/tag/dynamic-tag.js +1 -2
  33. package/dist/tag/index.js +1 -2
  34. package/dist/tag/macro-tag.js +1 -2
  35. package/dist/tag/native-tag.js +1 -2
  36. package/dist/tag/native-tag[html]/attributes.js +1 -2
  37. package/dist/tag/native-tag[html]/index.js +1 -2
  38. package/dist/tag/native-tag[vdom]/index.js +1 -2
  39. package/dist/tag/util.js +1 -2
  40. package/dist/taglib/core/conditional/translate-else-if.js +1 -2
  41. package/dist/taglib/core/conditional/translate-else.js +1 -2
  42. package/dist/taglib/core/conditional/translate-if.js +1 -2
  43. package/dist/taglib/core/conditional/util.js +1 -2
  44. package/dist/taglib/core/index.js +1 -2
  45. package/dist/taglib/core/macro/parse.js +1 -2
  46. package/dist/taglib/core/macro/translate.js +1 -2
  47. package/dist/taglib/core/parse-class.js +1 -2
  48. package/dist/taglib/core/parse-export.js +1 -2
  49. package/dist/taglib/core/parse-import.js +1 -2
  50. package/dist/taglib/core/parse-module-code.js +1 -2
  51. package/dist/taglib/core/parse-static.js +1 -2
  52. package/dist/taglib/core/parse-style.js +1 -2
  53. package/dist/taglib/core/transform-style.js +1 -2
  54. package/dist/taglib/core/translate-await.js +1 -2
  55. package/dist/taglib/core/translate-body.js +1 -2
  56. package/dist/taglib/core/translate-for.js +1 -2
  57. package/dist/taglib/core/translate-html-comment.js +1 -2
  58. package/dist/taglib/core/translate-include-content.js +1 -2
  59. package/dist/taglib/core/translate-server-only.js +1 -2
  60. package/dist/taglib/core/translate-while.js +1 -2
  61. package/dist/taglib/index.js +1 -2
  62. package/dist/taglib/migrate/all-templates.js +1 -2
  63. package/dist/taglib/migrate/index.js +1 -2
  64. package/dist/text/index.js +1 -2
  65. package/dist/text/index[html].js +1 -2
  66. package/dist/text/index[vdom].js +1 -2
  67. package/dist/util/add-dependencies.js +1 -2
  68. package/dist/util/get-component-files.js +1 -2
  69. package/dist/util/html-out-write.js +1 -2
  70. package/dist/util/key-manager.js +1 -2
  71. package/dist/util/optimize-html-writes.js +1 -2
  72. package/dist/util/optimize-vdom-create.js +1 -2
  73. package/dist/util/plugin-hooks.js +1 -2
  74. package/dist/util/runtime-flags.js +1 -2
  75. package/dist/util/vdom-out-write.js +1 -2
  76. package/dist/util/with-previous-location.js +1 -2
  77. package/package.json +5 -6
  78. package/LICENSE +0 -21
  79. package/dist/cdata/index.js.map +0 -1
  80. package/dist/cdata/index[html].js.map +0 -1
  81. package/dist/cdata/index[vdom].js.map +0 -1
  82. package/dist/class.js.map +0 -1
  83. package/dist/comment/index.js.map +0 -1
  84. package/dist/comment/index[html].js.map +0 -1
  85. package/dist/comment/index[vdom].js.map +0 -1
  86. package/dist/declaration/index.js.map +0 -1
  87. package/dist/declaration/index[html].js.map +0 -1
  88. package/dist/declaration/index[vdom].js.map +0 -1
  89. package/dist/document-type/index.js.map +0 -1
  90. package/dist/document-type/index[html].js.map +0 -1
  91. package/dist/document-type/index[vdom].js.map +0 -1
  92. package/dist/index.js.map +0 -1
  93. package/dist/placeholder/index.js.map +0 -1
  94. package/dist/placeholder/index[html].js.map +0 -1
  95. package/dist/placeholder/index[vdom].js.map +0 -1
  96. package/dist/scriptlet.js.map +0 -1
  97. package/dist/tag/attribute/directives/class.js.map +0 -1
  98. package/dist/tag/attribute/directives/index.js.map +0 -1
  99. package/dist/tag/attribute/directives/no-update-body-if.js.map +0 -1
  100. package/dist/tag/attribute/directives/no-update-body.js.map +0 -1
  101. package/dist/tag/attribute/directives/no-update-if.js.map +0 -1
  102. package/dist/tag/attribute/directives/no-update.js.map +0 -1
  103. package/dist/tag/attribute/directives/style.js.map +0 -1
  104. package/dist/tag/attribute/index.js.map +0 -1
  105. package/dist/tag/attribute/modifiers/index.js.map +0 -1
  106. package/dist/tag/attribute/modifiers/no-update.js.map +0 -1
  107. package/dist/tag/attribute/modifiers/scoped.js.map +0 -1
  108. package/dist/tag/attribute-tag.js.map +0 -1
  109. package/dist/tag/custom-tag.js.map +0 -1
  110. package/dist/tag/dynamic-tag.js.map +0 -1
  111. package/dist/tag/index.js.map +0 -1
  112. package/dist/tag/macro-tag.js.map +0 -1
  113. package/dist/tag/native-tag.js.map +0 -1
  114. package/dist/tag/native-tag[html]/attributes.js.map +0 -1
  115. package/dist/tag/native-tag[html]/index.js.map +0 -1
  116. package/dist/tag/native-tag[vdom]/index.js.map +0 -1
  117. package/dist/tag/util.js.map +0 -1
  118. package/dist/taglib/core/conditional/translate-else-if.js.map +0 -1
  119. package/dist/taglib/core/conditional/translate-else.js.map +0 -1
  120. package/dist/taglib/core/conditional/translate-if.js.map +0 -1
  121. package/dist/taglib/core/conditional/util.js.map +0 -1
  122. package/dist/taglib/core/index.js.map +0 -1
  123. package/dist/taglib/core/macro/parse.js.map +0 -1
  124. package/dist/taglib/core/macro/translate.js.map +0 -1
  125. package/dist/taglib/core/parse-class.js.map +0 -1
  126. package/dist/taglib/core/parse-export.js.map +0 -1
  127. package/dist/taglib/core/parse-import.js.map +0 -1
  128. package/dist/taglib/core/parse-module-code.js.map +0 -1
  129. package/dist/taglib/core/parse-static.js.map +0 -1
  130. package/dist/taglib/core/parse-style.js.map +0 -1
  131. package/dist/taglib/core/transform-style.js.map +0 -1
  132. package/dist/taglib/core/translate-await.js.map +0 -1
  133. package/dist/taglib/core/translate-body.js.map +0 -1
  134. package/dist/taglib/core/translate-for.js.map +0 -1
  135. package/dist/taglib/core/translate-html-comment.js.map +0 -1
  136. package/dist/taglib/core/translate-include-content.js.map +0 -1
  137. package/dist/taglib/core/translate-server-only.js.map +0 -1
  138. package/dist/taglib/core/translate-while.js.map +0 -1
  139. package/dist/taglib/index.js.map +0 -1
  140. package/dist/taglib/migrate/all-templates.js.map +0 -1
  141. package/dist/taglib/migrate/index.js.map +0 -1
  142. package/dist/text/index.js.map +0 -1
  143. package/dist/text/index[html].js.map +0 -1
  144. package/dist/text/index[vdom].js.map +0 -1
  145. package/dist/util/add-dependencies.js.map +0 -1
  146. package/dist/util/get-component-files.js.map +0 -1
  147. package/dist/util/html-out-write.js.map +0 -1
  148. package/dist/util/key-manager.js.map +0 -1
  149. package/dist/util/optimize-html-writes.js.map +0 -1
  150. package/dist/util/optimize-vdom-create.js.map +0 -1
  151. package/dist/util/plugin-hooks.js.map +0 -1
  152. package/dist/util/runtime-flags.js.map +0 -1
  153. package/dist/util/vdom-out-write.js.map +0 -1
  154. package/dist/util/with-previous-location.js.map +0 -1
@@ -49,5 +49,4 @@ function getComponentFiles({ hub: { file } }) {
49
49
  componentFile,
50
50
  componentBrowserFile };
51
51
 
52
- }
53
- //# sourceMappingURL=get-component-files.js.map
52
+ }
@@ -12,5 +12,4 @@ function write(strings, ...expressions) {
12
12
 
13
13
 
14
14
  }
15
- }
16
- //# sourceMappingURL=html-out-write.js.map
15
+ }
@@ -172,5 +172,4 @@ function getUserKey(path) {
172
172
  }
173
173
 
174
174
  return key;
175
- }
176
- //# sourceMappingURL=key-manager.js.map
175
+ }
@@ -49,5 +49,4 @@ function getOutContent(path) {
49
49
  path.get("callee.property.name").node === "w" &&
50
50
  path.get("arguments.0").node);
51
51
 
52
- }
53
- //# sourceMappingURL=optimize-html-writes.js.map
52
+ }
@@ -145,5 +145,4 @@ function analyzeStaticVDOM(path) {
145
145
 
146
146
  function shouldRun(markoOpts) {
147
147
  return markoOpts.optimize && markoOpts.output !== "html";
148
- }
149
- //# sourceMappingURL=optimize-vdom-create.js.map
148
+ }
@@ -19,5 +19,4 @@ function exit(plugin, ...args) {
19
19
  if (typeof fn === "function") {
20
20
  fn(...args);
21
21
  }
22
- }
23
- //# sourceMappingURL=plugin-hooks.js.map
22
+ }
@@ -1,5 +1,4 @@
1
1
  "use strict";exports.__esModule = true;exports.SPREAD_ATTRS = exports.IS_CUSTOM_ELEMENT = exports.HAS_SIMPLE_ATTRS = void 0;const HAS_SIMPLE_ATTRS = 1;exports.HAS_SIMPLE_ATTRS = HAS_SIMPLE_ATTRS;
2
2
  const IS_CUSTOM_ELEMENT = 2; // TODO: impl custom elements.
3
3
  exports.IS_CUSTOM_ELEMENT = IS_CUSTOM_ELEMENT;const SPREAD_ATTRS = 4; // TODO: impl custom elements.
4
- exports.SPREAD_ATTRS = SPREAD_ATTRS;
5
- //# sourceMappingURL=runtime-flags.js.map
4
+ exports.SPREAD_ATTRS = SPREAD_ATTRS;
@@ -7,5 +7,4 @@ function write(method, ...args) {
7
7
  args));
8
8
 
9
9
 
10
- }
11
- //# sourceMappingURL=vdom-out-write.js.map
10
+ }
@@ -3,5 +3,4 @@
3
3
  newNode.loc = originalNode.loc;
4
4
  newNode.end = originalNode.end;
5
5
  return newNode;
6
- }
7
- //# sourceMappingURL=with-previous-location.js.map
6
+ }
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@marko/translator-default",
3
3
  "description": "Translates Marko templates to the default Marko runtime.",
4
- "version": "5.20.9",
4
+ "version": "5.21.2",
5
5
  "author": "Dylan Piercey <dpiercey@ebay.com>",
6
6
  "bugs": "https://github.com/marko-js/marko/issues/new?template=Bug_report.md",
7
7
  "dependencies": {
8
8
  "@babel/runtime": "^7.16.0",
9
- "@marko/babel-utils": "^5.20.9",
9
+ "@marko/babel-utils": "^5.21.1",
10
10
  "escape-string-regexp": "^4.0.0",
11
11
  "magic-string": "^0.25.7",
12
12
  "self-closing-tags": "^1.0.1"
13
13
  },
14
14
  "devDependencies": {
15
- "@marko/compiler": "^5.20.9",
16
- "marko": "^5.20.9"
15
+ "@marko/compiler": "^5.21.1",
16
+ "marko": "^5.21.1"
17
17
  },
18
18
  "files": [
19
19
  "dist"
@@ -41,6 +41,5 @@
41
41
  "repository": {
42
42
  "type": "git",
43
43
  "url": "https://github.com/marko-js/marko/tree/master/packages/translator-default"
44
- },
45
- "gitHead": "637f064c6c8c5c9767d2f6e8a645937eca874a49"
44
+ }
46
45
  }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright 2020 eBay Inc. and contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cdata/index.js"],"names":["path","hub","file","markoOpts","output"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,GAAG,EAAE;AACHC,MAAAA,IAAI,EAAE,EAAEC,SAAF,EADH,EADD;;AAIFH,EAAAA,IAJJ;AAKA,MAAIG,SAAS,CAACC,MAAV,KAAqB,MAAzB,EAAiC;AAC/B,4BAAcJ,IAAd;AACD,GAFD,MAEO;AACL,4BAAcA,IAAd;AACD;AACF","sourcesContent":["import translateHTML from \"./index[html]\";\nimport translateVDOM from \"./index[vdom]\";\n\nexport default function (path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n translateHTML(path);\n } else {\n translateVDOM(path);\n }\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cdata/index[html].js"],"names":["path","node","replaceWith","t","stringLiteral","value"],"mappings":"uJAAA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEAA,EAAAA,IAAI,CAACE,WAAL;AACE;AACE,4BAAM,YAAWC,gBAAEC,aAAF,CAAgBH,IAAI,CAACI,KAArB,CAA4B,KAD/C;AAEEJ,EAAAA,IAFF,CADF;;;AAMD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const { node } = path;\n\n path.replaceWith(\n withPreviousLocation(\n write`<![CDATA[${t.stringLiteral(node.value)}]]>`,\n node\n )\n );\n}\n"],"file":"index[html].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cdata/index[vdom].js"],"names":["path","node","replaceWith","t","stringLiteral","value"],"mappings":"uJAAA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEAA,EAAAA,IAAI,CAACE,WAAL;AACE,qCAAqB,2BAAM,GAAN,EAAWC,gBAAEC,aAAF,CAAgBH,IAAI,CAACI,KAArB,CAAX,CAArB,EAA8DJ,IAA9D,CADF;;AAGD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../util/vdom-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const { node } = path;\n\n path.replaceWith(\n withPreviousLocation(write(\"t\", t.stringLiteral(node.value)), node)\n );\n}\n"],"file":"index[vdom].js"}
package/dist/class.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/class.js"],"names":["path","hub","file","node","body","classProperties","onCreateMethod","find","prop","computed","t","isIdentifier","key","name","objectProperties","map","isClassMethod","type","start","end","loc","isClassProperty","static","push","assignmentExpression","memberExpression","thisExpression","value","undefined","buildCodeFrameError","filter","Boolean","length","objectMethod","identifier","blockStatement","unshift","_inlineComponentClass","objectExpression","remove"],"mappings":"kEAAA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAAI,EAAE;AACJC,MAAAA,IAAI,EAAE,EAAEA,IAAF,EADF,EAFF;;AAKFJ,EAAAA,IALJ;;AAOA,QAAMK,eAAe,GAAG,EAAxB;AACA,MAAIC,cAAc,GAAGF,IAAI,CAACG,IAAL;AACnB,GAAAC,IAAI;AACFA,EAAAA,IAAI,CAACC,QAAL,KAAkB,KAAlB;AACAC,kBAAEC,YAAF,CAAeH,IAAI,CAACI,GAApB,CADA;AAEAJ,EAAAA,IAAI,CAACI,GAAL,CAASC,IAAT,KAAkB,UAJD,CAArB;;;AAOA,QAAMC,gBAAgB,GAAGV,IAAI;AAC1BW,EAAAA,GADsB,CAClB,CAAAP,IAAI,KAAI;AACX,QAAIE,gBAAEM,aAAF,CAAgBR,IAAhB,CAAJ,EAA2B;AACzBA,MAAAA,IAAI,CAACS,IAAL,GAAY,cAAZ;AACA,aAAOT,IAAI,CAACU,KAAZ;AACA,aAAOV,IAAI,CAACW,GAAZ;AACA,aAAOX,IAAI,CAACY,GAAZ;AACA,aAAOZ,IAAP;AACD,KAND,MAMO,IAAIE,gBAAEW,eAAF,CAAkBb,IAAlB,KAA2B,CAACA,IAAI,CAACc,MAArC,EAA6C;AAClDjB,MAAAA,eAAe,CAACkB,IAAhB;AACEb,sBAAEc,oBAAF;AACE,SADF;AAEEd,sBAAEe,gBAAF,CAAmBf,gBAAEgB,cAAF,EAAnB,EAAuClB,IAAI,CAACI,GAA5C,EAAiDJ,IAAI,CAACC,QAAtD,CAFF;AAGED,MAAAA,IAAI,CAACmB,KAHP,CADF;;;;AAQA,aAAOC,SAAP;AACD;;AAED,UAAM1B,IAAI,CAAC2B,mBAAL;AACJrB,IAAAA,IADI;AAEJ,8CAFI,CAAN;;AAID,GAxBsB;AAyBtBsB,EAAAA,MAzBsB,CAyBfC,OAzBe,CAAzB;;AA2BA,MAAI1B,eAAe,CAAC2B,MAApB,EAA4B;AAC1B,QAAI,CAAC1B,cAAL,EAAqB;AACnBQ,MAAAA,gBAAgB,CAACS,IAAjB;AACGjB,MAAAA,cAAc,GAAGI,gBAAEuB,YAAF;AAChB,cADgB;AAEhBvB,sBAAEwB,UAAF,CAAa,UAAb,CAFgB;AAGhB,QAHgB;AAIhBxB,sBAAEyB,cAAF,CAAiB,EAAjB,CAJgB,CADpB;;;AAQD;;AAED7B,IAAAA,cAAc,CAACF,IAAf,CAAoBA,IAApB,CAAyBgC,OAAzB,CAAiC,GAAG/B,eAApC;AACD;;AAEDH,EAAAA,IAAI,CAACmC,qBAAL,GAA6B3B,gBAAE4B,gBAAF,CAAmBxB,gBAAnB,CAA7B;AACAd,EAAAA,IAAI,CAACuC,MAAL;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\n\nexport default function (path) {\n const {\n hub: { file },\n node: {\n body: { body }\n }\n } = path;\n\n const classProperties = [];\n let onCreateMethod = body.find(\n prop =>\n prop.computed === false &&\n t.isIdentifier(prop.key) &&\n prop.key.name === \"onCreate\"\n );\n\n const objectProperties = body\n .map(prop => {\n if (t.isClassMethod(prop)) {\n prop.type = \"ObjectMethod\";\n delete prop.start;\n delete prop.end;\n delete prop.loc;\n return prop;\n } else if (t.isClassProperty(prop) && !prop.static) {\n classProperties.push(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(t.thisExpression(), prop.key, prop.computed),\n prop.value\n )\n );\n\n return undefined;\n }\n\n throw file.buildCodeFrameError(\n prop,\n \"Unsupported class property on component.\"\n );\n })\n .filter(Boolean);\n\n if (classProperties.length) {\n if (!onCreateMethod) {\n objectProperties.push(\n (onCreateMethod = t.objectMethod(\n \"method\",\n t.identifier(\"onCreate\"),\n [],\n t.blockStatement([])\n ))\n );\n }\n\n onCreateMethod.body.body.unshift(...classProperties);\n }\n\n file._inlineComponentClass = t.objectExpression(objectProperties);\n path.remove();\n}\n"],"file":"class.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/comment/index.js"],"names":["path","hub","file","markoOpts","output"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,GAAG,EAAE;AACHC,MAAAA,IAAI,EAAE,EAAEC,SAAF,EADH,EADD;;AAIFH,EAAAA,IAJJ;AAKA,MAAIG,SAAS,CAACC,MAAV,KAAqB,MAAzB,EAAiC;AAC/B,4BAAcJ,IAAd;AACD,GAFD,MAEO;AACL,4BAAcA,IAAd;AACD;AACF","sourcesContent":["import translateHTML from \"./index[html]\";\nimport translateVDOM from \"./index[vdom]\";\n\nexport default function (path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n translateHTML(path);\n } else {\n translateVDOM(path);\n }\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/comment/index[html].js"],"names":["ieConditionalCommentRegExp","path","node","test","value","replaceWith","t","stringLiteral","remove"],"mappings":"uJAAA;AACA;AACA;AACA,MAAMA,0BAA0B,GAAG,qBAAnC;;AAEe,kBAAUC,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEA,MAAID,0BAA0B,CAACG,IAA3B,CAAgCD,IAAI,CAACE,KAArC,CAAJ,EAAiD;AAC/CH,IAAAA,IAAI,CAACI,WAAL;AACE,uCAAqB,0BAAM,OAAMC,gBAAEC,aAAF,CAAgBL,IAAI,CAACE,KAArB,CAA4B,KAA7D,EAAmEF,IAAnE,CADF;;AAGD,GAJD,MAIO;AACLD,IAAAA,IAAI,CAACO,MAAL;AACD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\nconst ieConditionalCommentRegExp = /^\\[if |<!\\[endif\\]$/;\n\nexport default function (path) {\n const { node } = path;\n\n if (ieConditionalCommentRegExp.test(node.value)) {\n path.replaceWith(\n withPreviousLocation(write`<!--${t.stringLiteral(node.value)}-->`, node)\n );\n } else {\n path.remove();\n }\n}\n"],"file":"index[html].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/comment/index[vdom].js"],"names":["path","remove"],"mappings":"kEAAe,kBAAUA,IAAV,EAAgB;AAC7BA,EAAAA,IAAI,CAACC,MAAL;AACD","sourcesContent":["export default function (path) {\n path.remove();\n}\n"],"file":"index[vdom].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/declaration/index.js"],"names":["path","hub","file","markoOpts","output"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,GAAG,EAAE;AACHC,MAAAA,IAAI,EAAE,EAAEC,SAAF,EADH,EADD;;AAIFH,EAAAA,IAJJ;AAKA,MAAIG,SAAS,CAACC,MAAV,KAAqB,MAAzB,EAAiC;AAC/B,4BAAcJ,IAAd;AACD,GAFD,MAEO;AACL,4BAAcA,IAAd;AACD;AACF","sourcesContent":["import translateHTML from \"./index[html]\";\nimport translateVDOM from \"./index[vdom]\";\n\nexport default function (path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n translateHTML(path);\n } else {\n translateVDOM(path);\n }\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/declaration/index[html].js"],"names":["path","node","replaceWith","t","stringLiteral","value"],"mappings":"uJAAA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEAA,EAAAA,IAAI,CAACE,WAAL;AACE,qCAAqB,0BAAM,KAAIC,gBAAEC,aAAF,CAAgBH,IAAI,CAACI,KAArB,CAA4B,IAA3D,EAAgEJ,IAAhE,CADF;;AAGD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const { node } = path;\n\n path.replaceWith(\n withPreviousLocation(write`<?${t.stringLiteral(node.value)}?>`, node)\n );\n}\n"],"file":"index[html].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/declaration/index[vdom].js"],"names":["path","remove"],"mappings":"kEAAe,kBAAUA,IAAV,EAAgB;AAC7BA,EAAAA,IAAI,CAACC,MAAL;AACD","sourcesContent":["export default function (path) {\n path.remove();\n}\n"],"file":"index[vdom].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/document-type/index.js"],"names":["path","hub","file","markoOpts","output"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,GAAG,EAAE;AACHC,MAAAA,IAAI,EAAE,EAAEC,SAAF,EADH,EADD;;AAIFH,EAAAA,IAJJ;AAKA,MAAIG,SAAS,CAACC,MAAV,KAAqB,MAAzB,EAAiC;AAC/B,4BAAcJ,IAAd;AACD,GAFD,MAEO;AACL,4BAAcA,IAAd;AACD;AACF","sourcesContent":["import translateHTML from \"./index[html]\";\nimport translateVDOM from \"./index[vdom]\";\n\nexport default function (path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n translateHTML(path);\n } else {\n translateVDOM(path);\n }\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/document-type/index[html].js"],"names":["path","node","replaceWith","t","stringLiteral","value"],"mappings":"uJAAA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEAA,EAAAA,IAAI,CAACE,WAAL;AACE,qCAAqB,0BAAM,KAAIC,gBAAEC,aAAF,CAAgBH,IAAI,CAACI,KAArB,CAA4B,GAA3D,EAA+DJ,IAA/D,CADF;;AAGD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const { node } = path;\n\n path.replaceWith(\n withPreviousLocation(write`<!${t.stringLiteral(node.value)}>`, node)\n );\n}\n"],"file":"index[html].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/document-type/index[vdom].js"],"names":["path","remove"],"mappings":"kEAAe,kBAAUA,IAAV,EAAgB;AAC7BA,EAAAA,IAAI,CAACC,MAAL;AACD","sourcesContent":["export default function (path) {\n path.remove();\n}\n"],"file":"index[vdom].js"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["analyze","Program","enter","program","meta","hub","file","metadata","marko","hasComponent","hasComponentBrowser","get","some","child","isMarkoClass","exit","styleFile","packageFile","componentBrowserFile","deps","unshift","component","hasStatefulTagParams","opts","filename","map","imports","node","body","filter","t","isImportDeclaration","source","value","MarkoTag","tag","tagDef","html","template","renderer","htmlType","parseOptions","import","push","dir","isStringLiteral","relativePath","resolveRelativeTagEntry","extra","tags","includes","translator","path","watchFiles","length","curTag","tagFile","childMeta","ImportDeclaration","tagEntry","translate","MarkoDocumentType","MarkoDeclaration","MarkoCDATA","MarkoText","MarkoPlaceholder","MarkoScriptlet","MarkoClass","MarkoComment","ReferencedIdentifier","name","scope","hasBinding","replaceWith","_componentInstanceIdentifier","markoOpts","output","resolveVirtualDependency","moduleCode","skip","_componentDefIdentifier","generateUidIdentifier","renderBlock","pushContainer","blockStatement","isRenderContent","forEach","childPath","remove","_renderBlock","crawl","_inlineComponentClass","includeMetaInSource","componentFile","isHTML","componentClass","objectExpression","componentIdentifier","componentTypeIdentifier","templateIdentifier","rendererIdentifier","templateRendererMember","memberExpression","identifier","templateMetaMember","writeVersionComment","addComment","version","runtimeTemplateIdentifier","unshiftContainer","importDeclaration","importSpecifier","stringLiteral","optimize","hot","variableDeclaration","variableDeclarator","id","callExpression","expressionStatement","assignmentExpression","exportDefaultDeclaration","Boolean","arrowFunctionExpression","templateRenderOptionsProps","objectProperty","booleanLiteral","functionExpression","metaObject","properties","JSON","stringify","code","arrayExpression","getRuntimeEntryFiles","base","MARKO_TYPES","type","static","entry"],"mappings":"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","sourcesContent":["import { resolve } from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n parseExpression,\n resolveTagImport,\n resolveRelativePath,\n importNamed,\n importDefault,\n parseScript,\n isNativeTag,\n isMacroTag,\n isDynamicTag,\n isAttributeTag,\n loadFileForTag,\n findParentTag,\n getTagDef\n} from \"@marko/babel-utils\";\nimport { version } from \"marko/package.json\";\nimport MarkoDocumentType from \"./document-type\";\nimport MarkoDeclaration from \"./declaration\";\nimport MarkoCDATA from \"./cdata\";\nimport MarkoTag from \"./tag\";\nimport MarkoText from \"./text\";\nimport MarkoPlaceholder from \"./placeholder\";\nimport MarkoComment from \"./comment\";\nimport MarkoScriptlet from \"./scriptlet\";\nimport MarkoClass from \"./class\";\nimport { analyzeStaticVDOM } from \"./util/optimize-vdom-create\";\nimport { optimizeHTMLWrites } from \"./util/optimize-html-writes\";\nimport getComponentFiles from \"./util/get-component-files\";\nimport addDependencies from \"./util/add-dependencies\";\n\nexport { default as taglibs } from \"./taglib\";\n\nexport const analyze = {\n Program: {\n enter(program) {\n // Pre populate metadata for component files.\n const meta = program.hub.file.metadata.marko;\n getComponentFiles(program);\n\n if (!meta.hasComponent && !meta.hasComponentBrowser) {\n meta.hasComponent = program\n .get(\"body\")\n .some(child => child.isMarkoClass());\n }\n },\n exit(program) {\n const { file } = program.hub;\n const meta = file.metadata.marko;\n const { styleFile, packageFile, componentBrowserFile } =\n getComponentFiles(program);\n\n if (packageFile) {\n meta.deps.unshift(`package: ${packageFile}`);\n }\n\n if (styleFile) {\n meta.deps.unshift(styleFile);\n }\n\n if (meta.hasComponentBrowser) {\n meta.component = componentBrowserFile;\n } else if (meta.hasComponent || meta.hasStatefulTagParams) {\n meta.component = file.opts.filename;\n }\n\n meta.component =\n meta.component && resolveRelativePath(file, meta.component);\n meta.deps = meta.deps.map(filename =>\n typeof filename === \"string\"\n ? resolveRelativePath(file, filename)\n : filename\n );\n\n meta.imports = program.node.body\n .filter(child => t.isImportDeclaration(child))\n .map(child => child.source.value);\n }\n },\n MarkoTag(tag) {\n const { file } = tag.hub;\n const tagDef = getTagDef(tag);\n // Check if tag uses stateful tag params.\n const meta = tag.hub.file.metadata.marko;\n\n if (tagDef) {\n if (tagDef.html && !tagDef.template && !tagDef.renderer) {\n if (tagDef.htmlType === \"custom-element\") {\n if (tagDef.parseOptions && tagDef.parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n meta.deps.push(\n resolve(\n tagDef.dir,\n resolve(tagDef.dir, tagDef.parseOptions.import)\n )\n );\n }\n }\n } else if (tag.get(\"name\").isStringLiteral()) {\n const relativePath = resolveRelativeTagEntry(file, tagDef);\n\n if (relativePath) {\n tag.node.extra = tag.node.extra || {};\n tag.node.extra.relativePath = relativePath;\n\n if (!meta.tags.includes(relativePath)) {\n meta.tags.push(relativePath);\n }\n }\n }\n\n if (tagDef.translator && tagDef.translator.path) {\n if (!meta.watchFiles.includes(tagDef.translator.path)) {\n meta.watchFiles.push(tagDef.translator.path);\n }\n }\n }\n\n if (\n meta.hasStatefulTagParams ||\n isNativeTag(tag) ||\n isMacroTag(tag) ||\n !tag.get(\"body\").get(\"params\").length\n ) {\n return;\n }\n\n if (isDynamicTag(tag)) {\n meta.hasStatefulTagParams = true;\n return;\n }\n\n let curTag = tag;\n while (isAttributeTag(curTag)) {\n curTag = findParentTag(curTag);\n }\n\n const tagFile = loadFileForTag(curTag);\n const childMeta = tagFile && tagFile.metadata.marko;\n meta.hasStatefulTagParams =\n childMeta &&\n (childMeta.hasStatefulTagParams ||\n (childMeta.hasComponent && !childMeta.hasComponentBrowser));\n },\n ImportDeclaration: {\n exit(path) {\n const source = path.get(\"source\");\n const tagEntry = resolveTagImport(source, source.node.value);\n\n if (tagEntry) {\n const meta = path.hub.file.metadata.marko;\n source.node.value = tagEntry;\n\n if (!meta.tags.includes(tagEntry)) {\n meta.tags.push(tagEntry);\n }\n }\n }\n }\n};\n\nexport const translate = {\n MarkoDocumentType,\n MarkoDeclaration,\n MarkoCDATA,\n MarkoTag,\n MarkoText,\n MarkoPlaceholder,\n MarkoScriptlet,\n MarkoClass,\n MarkoComment,\n ReferencedIdentifier(path) {\n if (path.node.name === \"component\" && !path.scope.hasBinding(\"component\")) {\n path.replaceWith(path.hub.file._componentInstanceIdentifier);\n }\n },\n Program: {\n enter(path) {\n const {\n hub: { file }\n } = path;\n\n if (file.markoOpts.output === \"hydrate\") {\n addDependencies(file, true);\n return;\n } else if (\n file.markoOpts.resolveVirtualDependency &&\n file.markoOpts.output !== \"html\"\n ) {\n addDependencies(file, false);\n }\n\n if (file.metadata.marko.moduleCode) {\n path\n .replaceWith(parseScript(file, file.metadata.marko.moduleCode))[0]\n .skip();\n return;\n }\n\n file._componentDefIdentifier =\n path.scope.generateUidIdentifier(\"componentDef\");\n\n file._componentInstanceIdentifier =\n path.scope.generateUidIdentifier(\"component\");\n\n // Pre-Analyze tree\n analyzeStaticVDOM(path);\n\n // Move non static content into the renderBody.\n const [renderBlock] = path.pushContainer(\"body\", t.blockStatement([]));\n path\n .get(\"body\")\n .filter(isRenderContent)\n .forEach(childPath => {\n renderBlock.pushContainer(\"body\", childPath.node);\n childPath.remove();\n });\n\n file._renderBlock = renderBlock;\n path.scope.crawl();\n },\n exit(path) {\n const {\n hub: { file }\n } = path;\n const { markoOpts, _inlineComponentClass } = file;\n const includeMetaInSource = markoOpts.meta !== false;\n const meta = file.metadata.marko;\n const { componentFile, componentBrowserFile } = getComponentFiles(path);\n const isHTML = markoOpts.output === \"html\";\n\n const renderBlock = file._renderBlock;\n const componentClass =\n (componentFile &&\n importDefault(\n file,\n resolveRelativePath(file, componentFile),\n \"marko_component\"\n )) ||\n _inlineComponentClass ||\n t.objectExpression([]);\n\n const componentIdentifier =\n path.scope.generateUidIdentifier(\"marko_component\");\n const componentTypeIdentifier = path.scope.generateUidIdentifier(\n \"marko_componentType\"\n );\n const templateIdentifier =\n path.scope.generateUidIdentifier(\"marko_template\");\n const rendererIdentifier = importDefault(\n file,\n \"marko/src/runtime/components/renderer.js\",\n \"marko_renderer\"\n );\n const templateRendererMember = t.memberExpression(\n templateIdentifier,\n t.identifier(\"_\")\n );\n const templateMetaMember = t.memberExpression(\n templateIdentifier,\n t.identifier(\"meta\")\n );\n\n if (markoOpts.writeVersionComment) {\n path.addComment(\n \"leading\",\n ` Compiled using marko@${version} - DO NOT EDIT`,\n true\n );\n }\n\n const runtimeTemplateIdentifier = path.scope.generateUidIdentifier(\"t\");\n\n path.unshiftContainer(\n \"body\",\n [\n t.importDeclaration(\n [t.importSpecifier(runtimeTemplateIdentifier, t.identifier(\"t\"))],\n t.stringLiteral(\n `marko/${markoOpts.optimize ? \"dist\" : \"src\"}/runtime/${\n isHTML ? \"html\" : \"vdom\"\n }/${markoOpts.hot ? \"hot-reload.js\" : \"index.js\"}`\n )\n ),\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n componentTypeIdentifier,\n t.stringLiteral(meta.id)\n ),\n t.variableDeclarator(\n templateIdentifier,\n t.callExpression(runtimeTemplateIdentifier, [\n componentTypeIdentifier\n ])\n )\n ]),\n includeMetaInSource &&\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(templateIdentifier, t.identifier(\"path\")),\n t.identifier(\"__filename\")\n )\n ),\n t.exportDefaultDeclaration(templateIdentifier)\n ].filter(Boolean)\n );\n\n path.pushContainer(\n \"body\",\n [\n !isHTML &&\n t.expressionStatement(\n t.callExpression(\n importNamed(\n file,\n \"marko/src/runtime/components/registry\",\n \"r\",\n \"marko_registerComponent\"\n ),\n [\n componentTypeIdentifier,\n t.arrowFunctionExpression(\n [],\n componentBrowserFile\n ? importDefault(\n file,\n resolveRelativePath(file, componentBrowserFile),\n \"marko_split_component\"\n )\n : templateIdentifier\n )\n ]\n )\n ),\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(componentIdentifier, componentClass)\n ])\n ].filter(Boolean)\n );\n\n const templateRenderOptionsProps = [\n t.objectProperty(t.identifier(\"t\"), componentTypeIdentifier)\n ];\n\n if (!meta.component) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"i\"), t.booleanLiteral(true))\n );\n }\n\n if (componentBrowserFile) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"s\"), t.booleanLiteral(true))\n );\n }\n\n if (!markoOpts.optimize) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"d\"), t.booleanLiteral(true))\n );\n }\n\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n templateRendererMember,\n t.callExpression(rendererIdentifier, [\n t.functionExpression(\n null,\n [\n t.identifier(\"input\"),\n t.identifier(\"out\"),\n file._componentDefIdentifier,\n file._componentInstanceIdentifier,\n t.identifier(\"state\")\n ],\n renderBlock.node\n ),\n t.objectExpression(templateRenderOptionsProps),\n componentIdentifier\n ])\n )\n )\n );\n renderBlock.remove();\n\n if (!isHTML) {\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(templateIdentifier, t.identifier(\"Component\")),\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/components/defineComponent.js\",\n \"marko_defineComponent\"\n ),\n [componentIdentifier, templateRendererMember]\n )\n )\n )\n );\n }\n\n if (includeMetaInSource) {\n const metaObject = t.objectExpression([\n t.objectProperty(t.identifier(\"id\"), componentTypeIdentifier)\n ]);\n\n if (meta.component) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"component\"),\n t.stringLiteral(meta.component)\n )\n );\n }\n\n if (meta.deps.length) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"deps\"),\n parseExpression(file, JSON.stringify(meta.deps), file.code.length)\n )\n );\n }\n\n if (meta.tags.length) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"tags\"),\n t.arrayExpression(meta.tags.map(tag => t.stringLiteral(tag)))\n )\n );\n }\n\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\"=\", templateMetaMember, metaObject)\n )\n );\n }\n\n optimizeHTMLWrites(path);\n }\n }\n};\n\nexport function getRuntimeEntryFiles(output, optimize) {\n const base = `marko/${optimize ? \"dist\" : \"src\"}/`;\n\n return [\n `${base}runtime/components`,\n `${base}runtime/components/defineComponent`,\n `${base}runtime/components/renderer`,\n `${base}runtime/components/registry`,\n `${base}runtime/components/attach-detach`,\n `${base}runtime/helpers/assign`,\n `${base}runtime/helpers/class-value`,\n `${base}runtime/helpers/dynamic-tag`,\n `${base}runtime/helpers/load-nested-tag`,\n `${base}runtime/helpers/merge`,\n `${base}runtime/helpers/render-tag`,\n `${base}runtime/helpers/style-value`,\n `${base}runtime/helpers/to-string`,\n `${base}core-tags/components/preserve-tag`,\n `${base}core-tags/components/init-components-tag`,\n `${base}core-tags/components/preferred-script-location-tag`,\n `${base}core-tags/core/__flush_here_and_after__`,\n `${base}core-tags/core/await/renderer`,\n `${base}core-tags/core/await/reorderer-renderer`,\n ...(output === \"html\"\n ? [\n `${base}runtime/html`,\n `${base}runtime/html/hot-reload`,\n `${base}runtime/html/helpers/attr`,\n `${base}runtime/html/helpers/attrs`,\n `${base}runtime/html/helpers/class-attr`,\n `${base}runtime/html/helpers/data-marko`,\n `${base}runtime/html/helpers/escape-quotes`,\n `${base}runtime/html/helpers/escape-script-placeholder`,\n `${base}runtime/html/helpers/escape-style-placeholder`,\n `${base}runtime/html/helpers/escape-xml`,\n `${base}runtime/html/helpers/merge-attrs`,\n `${base}runtime/html/helpers/props-script`,\n `${base}runtime/html/helpers/style-attr`\n ]\n : [\n `${base}runtime/vdom`,\n `${base}runtime/vdom/hot-reload`,\n `${base}runtime/vdom/helpers/attrs`,\n `${base}runtime/vdom/helpers/const`,\n `${base}runtime/vdom/helpers/v-element`,\n `${base}runtime/vdom/helpers/v-text`,\n `${base}runtime/vdom/preserve-attrs`\n ])\n ];\n}\n\nfunction isRenderContent(path) {\n const { node } = path;\n return t.MARKO_TYPES.includes(node.type) && !node.static;\n}\n\nfunction resolveRelativeTagEntry(file, tagDef) {\n // TODO: support transform and other entries.\n const entry = tagDef.template || tagDef.renderer;\n return entry && resolveRelativePath(file, entry);\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/placeholder/index.js"],"names":["path","hub","file","markoOpts","output"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,GAAG,EAAE;AACHC,MAAAA,IAAI,EAAE,EAAEC,SAAF,EADH,EADD;;AAIFH,EAAAA,IAJJ;AAKA,MAAIG,SAAS,CAACC,MAAV,KAAqB,MAAzB,EAAiC;AAC/B,4BAAcJ,IAAd;AACD,GAFD,MAEO;AACL,4BAAcA,IAAd;AACD;AACF","sourcesContent":["import translateHTML from \"./index[html]\";\nimport translateVDOM from \"./index[vdom]\";\n\nexport default function (path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n translateHTML(path);\n } else {\n translateVDOM(path);\n }\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/placeholder/index[html].js"],"names":["ESCAPE_TYPES","html","name","module","alias","fn","escapeXML","script","escapeScript","style","escapeStyle","path","node","hub","file","confident","value","computed","get","evaluate","escape","tagName","findParentTagName","escapeType","t","stringLiteral","callExpression","replacement","replaceWith","remove","parentPath","isProgram","isMarkoTag","tagDef"],"mappings":"uJAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAG;AACnBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,GADF;AAEJC,IAAAA,MAAM,EAAE,8CAFJ;AAGJC,IAAAA,KAAK,EAAE,iBAHH;AAIJC,IAAAA,EAAE,EAAEC,YAJA,EADa;;AAOnBC,EAAAA,MAAM,EAAE;AACNJ,IAAAA,MAAM,EAAE,6DADF;AAENC,IAAAA,KAAK,EAAE,oBAFD;AAGNC,IAAAA,EAAE,EAAEG,gCAHE,EAPW;;AAYnBC,EAAAA,KAAK,EAAE;AACLN,IAAAA,MAAM,EAAE,4DADH;AAELC,IAAAA,KAAK,EAAE,mBAFF;AAGLC,IAAAA,EAAE,EAAEK,+BAHC,EAZY,EAArB;;;;AAmBe,kBAAUC,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAM,EAAEI,SAAF,EAAaC,KAAK,EAAEC,QAApB,KAAiCN,IAAI,CAACO,GAAL,CAAS,OAAT,EAAkBC,QAAlB,EAAvC;AACA,MAAI,EAAEC,MAAF,EAAUJ,KAAV,KAAoBJ,IAAxB;;AAEA,MAAIQ,MAAJ,EAAY;AACV,UAAMC,OAAO,GAAGC,iBAAiB,CAACX,IAAD,CAAjC;AACA,UAAMY,UAAU,GAAGvB,YAAY,CAACqB,OAAD,CAAZ,IAAyBrB,YAAY,CAACC,IAAzD;;AAEAe,IAAAA,KAAK,GAAGD,SAAS;AACbS,oBAAEC,aAAF,CAAgBF,UAAU,CAAClB,EAAX,CAAcY,QAAd,CAAhB,CADa;AAEbO,oBAAEE,cAAF;AACEH,IAAAA,UAAU,CAACrB,IAAX;AACI;AACEY,IAAAA,IADF;AAEES,IAAAA,UAAU,CAACpB,MAFb;AAGEoB,IAAAA,UAAU,CAACrB,IAHb;AAIEqB,IAAAA,UAAU,CAACnB,KAJb,CADJ;;AAOI,mCAAcU,IAAd,EAAoBS,UAAU,CAACpB,MAA/B,EAAuCoB,UAAU,CAACnB,KAAlD,CARN;AASE,KAACY,KAAD,CATF,CAFJ;;AAaD,GAjBD,MAiBO;AACLA,IAAAA,KAAK,GAAGD,SAAS;AACbS,oBAAEC,aAAF,CAAgB,uBAASR,QAAT,CAAhB,CADa;AAEbO,oBAAEE,cAAF;AACE;AACEZ,IAAAA,IADF;AAEE,4CAFF;AAGE,qBAHF,CADF;;AAME,KAACE,KAAD,CANF,CAFJ;;AAUD;;AAED,QAAMW,WAAW,GAAG,0BAAM,GAAEX,KAAM,EAAlC;;AAEA,MAAIW,WAAJ,EAAiB;AACfhB,IAAAA,IAAI,CAACiB,WAAL,CAAiB,mCAAqBD,WAArB,EAAkCf,IAAlC,CAAjB;AACD,GAFD,MAEO;AACLD,IAAAA,IAAI,CAACkB,MAAL;AACD;AACF;;AAED,SAASP,iBAAT,CAA2BX,IAA3B,EAAiC;AAC/B,SAAQA,IAAI,GAAGA,IAAI,CAACmB,UAApB,EAAiC;AAC/B,QAAInB,IAAI,CAACoB,SAAL,EAAJ,EAAsB;AACpB;AACD;;AAED,QAAIpB,IAAI,CAACqB,UAAL,EAAJ,EAAuB;AACrB,YAAMC,MAAM,GAAG,2BAAUtB,IAAV,CAAf;AACA,aAAOsB,MAAM,IAAIA,MAAM,CAAChC,IAAjB,IAAyBU,IAAI,CAACO,GAAL,CAAS,YAAT,EAAuBN,IAAvD;AACD;AACF;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { getTagDef, importNamed, importDefault } from \"@marko/babel-utils\";\nimport toString from \"marko/src/runtime/helpers/to-string\";\nimport { x as escapeXML } from \"marko/src/runtime/html/helpers/escape-xml\";\nimport escapeScript from \"marko/src/runtime/html/helpers/escape-script-placeholder\";\nimport escapeStyle from \"marko/src/runtime/html/helpers/escape-style-placeholder\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nconst ESCAPE_TYPES = {\n html: {\n name: \"x\",\n module: \"marko/src/runtime/html/helpers/escape-xml.js\",\n alias: \"marko_escapeXml\",\n fn: escapeXML\n },\n script: {\n module: \"marko/src/runtime/html/helpers/escape-script-placeholder.js\",\n alias: \"marko_escapeScript\",\n fn: escapeScript\n },\n style: {\n module: \"marko/src/runtime/html/helpers/escape-style-placeholder.js\",\n alias: \"marko_escapeStyle\",\n fn: escapeStyle\n }\n};\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const { confident, value: computed } = path.get(\"value\").evaluate();\n let { escape, value } = node;\n\n if (escape) {\n const tagName = findParentTagName(path);\n const escapeType = ESCAPE_TYPES[tagName] || ESCAPE_TYPES.html;\n\n value = confident\n ? t.stringLiteral(escapeType.fn(computed))\n : t.callExpression(\n escapeType.name\n ? importNamed(\n file,\n escapeType.module,\n escapeType.name,\n escapeType.alias\n )\n : importDefault(file, escapeType.module, escapeType.alias),\n [value]\n );\n } else {\n value = confident\n ? t.stringLiteral(toString(computed))\n : t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/to-string.js\",\n \"marko_to_string\"\n ),\n [value]\n );\n }\n\n const replacement = write`${value}`;\n\n if (replacement) {\n path.replaceWith(withPreviousLocation(replacement, node));\n } else {\n path.remove();\n }\n}\n\nfunction findParentTagName(path) {\n while ((path = path.parentPath)) {\n if (path.isProgram()) {\n return;\n }\n\n if (path.isMarkoTag()) {\n const tagDef = getTagDef(path);\n return tagDef && tagDef.html && path.get(\"name.value\").node;\n }\n }\n}\n"],"file":"index[html].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/placeholder/index[vdom].js"],"names":["path","node","escape","value","method","confident","computed","get","evaluate","remove","replaceWith","hub","file","_componentInstanceIdentifier"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;AACA,QAAM,EAAEE,MAAF,EAAUC,KAAV,KAAoBF,IAA1B;AACA,QAAMG,MAAM,GAAGF,MAAM,GAAG,GAAH,GAAS,GAA9B;AACA,QAAM,EAAEG,SAAF,EAAaF,KAAK,EAAEG,QAApB,KAAiCN,IAAI,CAACO,GAAL,CAAS,OAAT,EAAkBC,QAAlB,EAAvC;;AAEA,MAAIH,SAAS,IAAI,CAACC,QAAlB,EAA4B;AAC1BN,IAAAA,IAAI,CAACS,MAAL;AACD,GAFD,MAEO;AACLT,IAAAA,IAAI,CAACU,WAAL;AACE;AACE,+BAAMN,MAAN,EAAcD,KAAd,EAAqBH,IAAI,CAACW,GAAL,CAASC,IAAT,CAAcC,4BAAnC,CADF;AAEEZ,IAAAA,IAFF,CADF;;;AAMD;AACF","sourcesContent":["import write from \"../util/vdom-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const { node } = path;\n const { escape, value } = node;\n const method = escape ? \"t\" : \"h\";\n const { confident, value: computed } = path.get(\"value\").evaluate();\n\n if (confident && !computed) {\n path.remove();\n } else {\n path.replaceWith(\n withPreviousLocation(\n write(method, value, path.hub.file._componentInstanceIdentifier),\n node\n )\n );\n }\n}\n"],"file":"index[vdom].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/scriptlet.js"],"names":["path","node","replaceWithMultiple","body"],"mappings":"kEAAe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;AACAA,EAAAA,IAAI,CAACE,mBAAL,CAAyBD,IAAI,CAACE,IAA9B;AACD","sourcesContent":["export default function (path) {\n const { node } = path;\n path.replaceWithMultiple(node.body);\n}\n"],"file":"scriptlet.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/class.js"],"names":["exit","tag","_","value","hub","file","isStringLiteral","confident","computed","evaluate","s","replaceWith","t","stringLiteral","nullLiteral","callExpression","node"],"mappings":"qJAAA;AACA;AACA;AACA,oG;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,CAAN,EAASC,KAAT,EAAgB;AAClB,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFJ,IAAAA,GAFJ;AAGA,QAAI,CAAC,6BAAYA,GAAZ,CAAL,EAAuB;AACvB,QAAIE,KAAK,CAACG,eAAN,EAAJ,EAA6B;;AAE7B,UAAM,EAAEC,SAAF,EAAaJ,KAAK,EAAEK,QAApB,KAAiCL,KAAK,CAACM,QAAN,EAAvC;;AAEA,UAAMC,CAAC,GAAG,yBAAcF,QAAd,CAAV;AACAL,IAAAA,KAAK,CAACQ,WAAN;AACEJ,IAAAA,SAAS;AACLG,IAAAA,CAAC;AACCE,oBAAEC,aAAF,CAAgBH,CAAhB,CADD;AAECE,oBAAEE,WAAF,EAHG;AAIL;AACEF,oBAAEG,cAAF;AACE;AACEV,IAAAA,IADF;AAEE,8CAFF;AAGE,uBAHF,CADF;;AAME,KAACF,KAAK,CAACa,IAAP,CANF,CADF;;AASEb,IAAAA,KAAK,CAACa,IATR,CALN;;;AAiBD,GA5BY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { isNativeTag, importDefault } from \"@marko/babel-utils\";\nimport classToString from \"marko/src/runtime/helpers/class-value\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport default {\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (!isNativeTag(tag)) return;\n if (value.isStringLiteral()) return;\n\n const { confident, value: computed } = value.evaluate();\n\n const s = classToString(computed);\n value.replaceWith(\n confident\n ? s\n ? t.stringLiteral(s)\n : t.nullLiteral()\n : withPreviousLocation(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/class-value.js\",\n \"marko_class_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};\n"],"file":"class.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/index.js"],"names":["class","classPlugin","style","stylePlugin","noUpdatePlugin","noUpdateIfPlugin","noUpdateBodyPlugin","noUpdateBodyIfPlugin"],"mappings":"qJAAA;AACA;AACA;AACA;AACA;AACA,6E;;AAEe;AACbA,EAAAA,KAAK,EAAEC,cADM;AAEbC,EAAAA,KAAK,EAAEC,cAFM;AAGb,eAAaC,iBAHA;AAIb,kBAAgBC,mBAJH;AAKb,oBAAkBC,qBALL;AAMb,uBAAqBC,uBANR,E","sourcesContent":["import classPlugin from \"./class\";\nimport stylePlugin from \"./style\";\nimport noUpdatePlugin from \"./no-update\";\nimport noUpdateIfPlugin from \"./no-update-if\";\nimport noUpdateBodyPlugin from \"./no-update-body\";\nimport noUpdateBodyIfPlugin from \"./no-update-body-if\";\n\nexport default {\n class: classPlugin,\n style: stylePlugin,\n \"no-update\": noUpdatePlugin,\n \"no-update-if\": noUpdateIfPlugin,\n \"no-update-body\": noUpdateBodyPlugin,\n \"no-update-body-if\": noUpdateBodyIfPlugin\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/no-update-body-if.js"],"names":["exit","tag","attr","value","noUpdateTransform","if","bodyOnly"],"mappings":"qJAAA;AACA,gD;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,IAAN,EAAYC,KAAZ,EAAmB;AACrBC,sBAAkBJ,IAAlB,CAAuBC,GAAvB,EAA4BC,IAA5B,EAAkCC,KAAlC,EAAyC;AACvCE,MAAAA,EAAE,EAAE,kCAAiBH,IAAjB,CADmC;AAEvCI,MAAAA,QAAQ,EAAE,IAF6B,EAAzC;;AAID,GANY,E","sourcesContent":["import noUpdateTransform from \"./no-update\";\nimport { getArgOrSequence } from \"@marko/babel-utils\";\n\nexport default {\n exit(tag, attr, value) {\n noUpdateTransform.exit(tag, attr, value, {\n if: getArgOrSequence(attr),\n bodyOnly: true\n });\n }\n};\n"],"file":"no-update-body-if.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/no-update-body.js"],"names":["exit","tag","attr","value","noUpdateTransform","bodyOnly"],"mappings":"qJAAA,+D;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,IAAN,EAAYC,KAAZ,EAAmB;AACrBC,sBAAkBJ,IAAlB,CAAuBC,GAAvB,EAA4BC,IAA5B,EAAkCC,KAAlC,EAAyC,EAAEE,QAAQ,EAAE,IAAZ,EAAzC;AACD,GAHY,E","sourcesContent":["import noUpdateTransform from \"./no-update\";\n\nexport default {\n exit(tag, attr, value) {\n noUpdateTransform.exit(tag, attr, value, { bodyOnly: true });\n }\n};\n"],"file":"no-update-body.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/no-update-if.js"],"names":["exit","tag","attr","value","noUpdateTransform","if"],"mappings":"qJAAA;AACA,gD;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,IAAN,EAAYC,KAAZ,EAAmB;AACrBC,sBAAkBJ,IAAlB,CAAuBC,GAAvB,EAA4BC,IAA5B,EAAkCC,KAAlC,EAAyC,EAAEE,EAAE,EAAE,kCAAiBH,IAAjB,CAAN,EAAzC;AACD,GAHY,E","sourcesContent":["import noUpdateTransform from \"./no-update\";\nimport { getArgOrSequence } from \"@marko/babel-utils\";\n\nexport default {\n exit(tag, attr, value) {\n noUpdateTransform.exit(tag, attr, value, { if: getArgOrSequence(attr) });\n }\n};\n"],"file":"no-update-if.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/no-update.js"],"names":["EMPTY_OBJECT","exit","tag","attr","_","opts","remove","node","replacement","t","markoTag","stringLiteral","bodyOnly","body","markoTagBody","key","attributes","push","markoAttribute","booleanLiteral","isPreserved","if","set","replaceWith"],"mappings":"gEAAA;AACA;AACA,MAAMA,YAAY,GAAG,EAArB,C;;AAEe;AACbC,EAAAA,IAAI,CAACC,GAAD,EAAMC,IAAN,EAAYC,CAAZ,EAAeC,IAAI,GAAGL,YAAtB,EAAoC;AACtCG,IAAAA,IAAI,CAACG,MAAL;AACA,UAAM,EAAEC,IAAF,KAAWL,GAAjB;AACA,UAAMM,WAAW,GAAGC,gBAAEC,QAAF;AAClBD,oBAAEE,aAAF,CAAgB,WAAhB,CADkB;AAElB,MAFkB;AAGlBN,IAAAA,IAAI,CAACO,QAAL,GAAgBL,IAAI,CAACM,IAArB,GAA4BJ,gBAAEK,YAAF,CAAe,CAACP,IAAD,CAAf,CAHV,CAApB;;;AAMA,QAAI,6BAAYL,GAAZ,CAAJ,EAAsB;AACpBM,MAAAA,WAAW,CAACO,GAAZ,GAAkBR,IAAI,CAACQ,GAAvB;AACAP,MAAAA,WAAW,CAACQ,UAAZ,CAAuBC,IAAvB;AACER,sBAAES,cAAF,CAAiB,GAAjB,EAAsBT,gBAAEU,cAAF,CAAiB,IAAjB,CAAtB,CADF;;;AAIA,UAAId,IAAI,CAACO,QAAT,EAAmB;AACjBJ,QAAAA,WAAW,CAACQ,UAAZ,CAAuBC,IAAvB;AACER,wBAAES,cAAF,CAAiB,GAAjB,EAAsBT,gBAAEU,cAAF,CAAiB,IAAjB,CAAtB,CADF;;AAGD;AACF,KAXD,MAWO;AACLX,MAAAA,WAAW,CAACO,GAAZ,GAAkB,wCAAwB,KAAIR,IAAI,CAACQ,GAAI,EAAvD;AACD;;AAEDP,IAAAA,WAAW,CAACY,WAAZ,GAA0B,IAA1B;;AAEA,QAAIf,IAAI,CAACgB,EAAT,EAAa;AACXb,MAAAA,WAAW,CAACQ,UAAZ,CAAuBC,IAAvB,CAA4BR,gBAAES,cAAF,CAAiB,GAAjB,EAAsBb,IAAI,CAACgB,EAA3B,CAA5B;AACD;;AAED,QAAIhB,IAAI,CAACO,QAAT,EAAmB;AACjBV,MAAAA,GAAG,CAACoB,GAAJ,CAAQ,MAAR,EAAgBb,gBAAEK,YAAF,CAAe,CAACN,WAAD,CAAf,CAAhB;AACD,KAFD,MAEO;AACLN,MAAAA,GAAG,CAACqB,WAAJ,CAAgBf,WAAhB;AACD;AACF,GApCY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { normalizeTemplateString, isNativeTag } from \"@marko/babel-utils\";\nconst EMPTY_OBJECT = {};\n\nexport default {\n exit(tag, attr, _, opts = EMPTY_OBJECT) {\n attr.remove();\n const { node } = tag;\n const replacement = t.markoTag(\n t.stringLiteral(\"_preserve\"),\n [],\n opts.bodyOnly ? node.body : t.markoTagBody([node])\n );\n\n if (isNativeTag(tag)) {\n replacement.key = node.key;\n replacement.attributes.push(\n t.markoAttribute(\"n\", t.booleanLiteral(true))\n );\n\n if (opts.bodyOnly) {\n replacement.attributes.push(\n t.markoAttribute(\"b\", t.booleanLiteral(true))\n );\n }\n } else {\n replacement.key = normalizeTemplateString`p_${node.key}`;\n }\n\n replacement.isPreserved = true;\n\n if (opts.if) {\n replacement.attributes.push(t.markoAttribute(\"i\", opts.if));\n }\n\n if (opts.bodyOnly) {\n tag.set(\"body\", t.markoTagBody([replacement]));\n } else {\n tag.replaceWith(replacement);\n }\n }\n};\n"],"file":"no-update.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/style.js"],"names":["exit","tag","_","value","hub","file","isStringLiteral","confident","computed","evaluate","replaceWith","t","stringLiteral","callExpression","node"],"mappings":"qJAAA;AACA;AACA;AACA,oG;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,CAAN,EAASC,KAAT,EAAgB;AAClB,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFJ,IAAAA,GAFJ;AAGA,QAAIE,KAAK,CAACG,eAAN,EAAJ,EAA6B;AAC7B,QAAI,CAAC,6BAAYL,GAAZ,CAAL,EAAuB;;AAEvB,UAAM,EAAEM,SAAF,EAAaJ,KAAK,EAAEK,QAApB,KAAiCL,KAAK,CAACM,QAAN,EAAvC;AACAN,IAAAA,KAAK,CAACO,WAAN;AACE;AACEH,IAAAA,SAAS;AACLI,oBAAEC,aAAF,CAAgB,yBAAcJ,QAAd,KAA2B,EAA3C,CADK;AAELG,oBAAEE,cAAF;AACE;AACER,IAAAA,IADF;AAEE,8CAFF;AAGE,uBAHF,CADF;;AAME,KAACF,KAAK,CAACW,IAAP,CANF,CAHN;;AAWEX,IAAAA,KAAK,CAACW,IAXR,CADF;;;AAeD,GAxBY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { isNativeTag, importDefault } from \"@marko/babel-utils\";\nimport styleToString from \"marko/src/runtime/helpers/style-value\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport default {\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (value.isStringLiteral()) return;\n if (!isNativeTag(tag)) return;\n\n const { confident, value: computed } = value.evaluate();\n value.replaceWith(\n withPreviousLocation(\n confident\n ? t.stringLiteral(styleToString(computed) || \"\")\n : t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/style-value.js\",\n \"marko_style_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};\n"],"file":"style.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/tag/attribute/index.js"],"names":["EMPTY_ARRAY","EVENT_REG","attachedDetachedLoaded","WeakSet","enter","attr","hub","file","tag","parentPath","value","get","name","arguments","args","node","isVDOM","markoOpts","output","execModifiersAndDirectives","eventType","isDash","eventName","exec","length","buildCodeFrameError","isBooleanLiteral","toLowerCase","charAt","slice","handlers","once","has","add","remove","exit","tagDef","html","getAttribute","bound","type","modifier","modifierTranslate","modifiers","tagNode","attrNode","undefined","directiveTranslate","directives"],"mappings":"qJAAA;AACA;AACA;;AAEA,MAAMA,WAAW,GAAG,EAApB;AACA,MAAMC,SAAS,GAAG,uBAAlB;AACA,MAAMC,sBAAsB,GAAG,IAAIC,OAAJ,EAA/B,C;;AAEe;AACbC,EAAAA,KAAK,CAACC,IAAD,EAAO;AACV,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFF,IAAAA,IAFJ;AAGA,UAAMG,GAAG,GAAGH,IAAI,CAACI,UAAjB;AACA,UAAMC,KAAK,GAAGL,IAAI,CAACM,GAAL,CAAS,OAAT,CAAd;AACA,UAAM,EAAEC,IAAF,EAAQC,SAAS,EAAEC,IAAnB,KAA4BT,IAAI,CAACU,IAAvC;AACA,UAAMC,MAAM,GAAGT,IAAI,CAACU,SAAL,CAAeC,MAAf,KAA0B,MAAzC;;AAEA,QAAIC,0BAA0B,CAAC,OAAD,EAAUX,GAAV,EAAeH,IAAf,EAAqBK,KAArB,CAA9B,EAA2D;AACzD;AACD;;AAED;AACA,QAAI,GAAGU,SAAH,EAAcC,MAAd,EAAsBC,SAAtB,IAAmCrB,SAAS,CAACsB,IAAV,CAAeX,IAAf,KAAwBZ,WAA/D;;AAEA,QAAIoB,SAAS,IAAIN,IAAjB,EAAuB;AACrB,UAAI,CAACA,IAAI,CAACU,MAAV,EAAkB;AAChB,cAAMnB,IAAI,CAACoB,mBAAL,CAAyB,qCAAzB,CAAN;AACD;;AAED,UAAI,CAACf,KAAK,CAACgB,gBAAN,CAAuB,IAAvB,CAAL,EAAmC;AACjC,cAAMhB,KAAK,CAACe,mBAAN;AACH,YAAGb,IAAK,8CADL,CAAN;;AAGD;;AAED,UAAI,CAACS,MAAL,EAAa;AACX;;AAEA,YAAI,6BAAYb,GAAZ,CAAJ,EAAsB;AACpB;AACA;AACAc,UAAAA,SAAS,GAAGA,SAAS,CAACK,WAAV,EAAZ;AACD,SAJD,MAIO;AACL;AACA;AACAL,UAAAA,SAAS,GAAGA,SAAS,CAACM,MAAV,CAAiB,CAAjB,EAAoBD,WAApB,KAAoCL,SAAS,CAACO,KAAV,CAAgB,CAAhB,CAAhD;AACD;AACF;;AAED,YAAMC,QAAQ,GAAItB,GAAG,CAACO,IAAJ,CAASe,QAAT,GAAoBtB,GAAG,CAACO,IAAJ,CAASe,QAAT,IAAqB,EAA3D;AACA,UAAIA,QAAQ,CAACR,SAAD,CAAZ,EAAyB;AACvB,cAAMjB,IAAI,CAACoB,mBAAL;AACJ,qDADI,CAAN;;AAGD;;AAEDK,MAAAA,QAAQ,CAACR,SAAD,CAAR,GAAsB;AACpBT,QAAAA,SAAS,EAAEC,IADS;AAEpBiB,QAAAA,IAAI,EAAEX,SAAS,KAAK,MAFA,EAAtB;;;AAKA,UAAIJ,MAAJ,EAAY;AACV,YAAIM,SAAS,KAAK,QAAd,IAA0BA,SAAS,KAAK,QAA5C,EAAsD;AACpD,cAAI,CAACpB,sBAAsB,CAAC8B,GAAvB,CAA2BzB,IAA3B,CAAL,EAAuC;AACrC;AACAL,YAAAA,sBAAsB,CAAC+B,GAAvB,CAA2B1B,IAA3B;AACA;AACEA,YAAAA,IADF;AAEE,2DAFF;;AAID;AACF;AACF;;AAEDF,MAAAA,IAAI,CAAC6B,MAAL;AACA;AACD;AACF,GAtEY;AAuEbC,EAAAA,IAAI,CAAC9B,IAAD,EAAO;AACT,UAAMG,GAAG,GAAGH,IAAI,CAACI,UAAjB;AACA,UAAM,EAAEG,IAAF,EAAQC,SAAS,EAAEC,IAAnB,KAA4BT,IAAI,CAACU,IAAvC;AACA,UAAML,KAAK,GAAGL,IAAI,CAACM,GAAL,CAAS,OAAT,CAAd;;AAEA,QAAIQ,0BAA0B,CAAC,MAAD,EAASX,GAAT,EAAcH,IAAd,EAAoBK,KAApB,CAA9B,EAA0D;AACxD;AACD;;AAED,UAAM0B,MAAM,GAAG,2BAAU5B,GAAV,CAAf;;AAEA,QAAI4B,MAAJ,EAAY;AACV,UAAI,CAACA,MAAM,CAACC,IAAR,IAAgB,CAACD,MAAM,CAACE,YAAP,CAAoB1B,IAApB,CAArB,EAAgD;AAC9C,cAAMP,IAAI,CAACoB,mBAAL;AACH;AACCjB,QAAAA,GAAG,CAACG,GAAJ,CAAQ,YAAR,EAAsBI;AACvB,mCAA0BH,IAAK,cAH5B,CAAN;;AAKD;AACF;;AAED,QAAIE,IAAI,IAAIA,IAAI,CAACU,MAAjB,EAAyB;AACvB,YAAMnB,IAAI,CAACoB,mBAAL;AACH,uCAAgCb,IAAK,cADlC,CAAN;;AAGD;;AAED,QAAIP,IAAI,CAACU,IAAL,CAAUwB,KAAd,EAAqB;AACnB,YAAMlC,IAAI,CAACoB,mBAAL;AACH,4EADG,CAAN;;AAGD;AACF,GAvGY,E;;;AA0Gf,SAASN,0BAAT,CAAoCqB,IAApC,EAA0ChC,GAA1C,EAA+CH,IAA/C,EAAqDK,KAArD,EAA4D;AAC1D,QAAM,EAAEK,IAAF,KAAWV,IAAjB;AACA,QAAM,EAAEO,IAAF,EAAQ6B,QAAR,KAAqB1B,IAA3B;;AAEA,MAAI0B,QAAJ,EAAc;AACZ,UAAMC,iBAAiB,GAAGC,mBAAUF,QAAV,CAA1B;AACA,QAAIC,iBAAJ,EAAuB;AACrB,UAAIA,iBAAiB,CAACF,IAAD,CAArB,EAA6B;AAC3B,cAAMI,OAAO,GAAGpC,GAAG,CAACO,IAApB;AACA,cAAM8B,QAAQ,GAAGxC,IAAI,CAACU,IAAtB;AACA2B,QAAAA,iBAAiB,CAACF,IAAD,CAAjB,CAAwBhC,GAAxB,EAA6BH,IAA7B,EAAmCK,KAAnC;AACA,YAAIF,GAAG,CAACO,IAAJ,KAAa6B,OAAb,IAAwBvC,IAAI,CAACU,IAAL,KAAc8B,QAA1C,EAAoD,OAAO,IAAP;AACrD;AACF,KAPD,MAOO,IAAIjC,IAAI,KAAK,OAAT,IAAoB6B,QAAQ,KAAK,MAAjC,IAA2C,6BAAYjC,GAAZ,CAA/C,EAAiE;AACtEO,MAAAA,IAAI,CAACH,IAAL,IAAc,IAAG6B,QAAS,EAA1B;AACA1B,MAAAA,IAAI,CAAC0B,QAAL,GAAgBK,SAAhB;AACD,KAHM,MAGA;AACL,YAAMzC,IAAI,CAACoB,mBAAL,CAA0B,yBAAwBgB,QAAS,IAA3D,CAAN;AACD;AACF;;AAED,QAAMM,kBAAkB,GAAGC,oBAAWpC,IAAX,CAA3B;AACA,MAAImC,kBAAJ,EAAwB;AACtB,QAAIA,kBAAkB,CAACP,IAAD,CAAtB,EAA8B;AAC5B,YAAMI,OAAO,GAAGpC,GAAG,CAACO,IAApB;AACA,YAAM8B,QAAQ,GAAGxC,IAAI,CAACU,IAAtB;AACAgC,MAAAA,kBAAkB,CAACP,IAAD,CAAlB,CAAyBhC,GAAzB,EAA8BH,IAA9B,EAAoCK,KAApC;AACA,UAAIF,GAAG,CAACO,IAAJ,KAAa6B,OAAb,IAAwBvC,IAAI,CAACU,IAAL,KAAc8B,QAA1C,EAAoD,OAAO,IAAP;AACrD;AACF;AACF","sourcesContent":["import { isNativeTag, getTagDef, importDefault } from \"@marko/babel-utils\";\nimport directives from \"./directives\";\nimport modifiers from \"./modifiers\";\n\nconst EMPTY_ARRAY = [];\nconst EVENT_REG = /^(on(?:ce)?)(-)?(.*)$/;\nconst attachedDetachedLoaded = new WeakSet();\n\nexport default {\n enter(attr) {\n const {\n hub: { file }\n } = attr;\n const tag = attr.parentPath;\n const value = attr.get(\"value\");\n const { name, arguments: args } = attr.node;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (execModifiersAndDirectives(\"enter\", tag, attr, value)) {\n return;\n }\n\n // Event handlers.\n let [, eventType, isDash, eventName] = EVENT_REG.exec(name) || EMPTY_ARRAY;\n\n if (eventType && args) {\n if (!args.length) {\n throw attr.buildCodeFrameError(\"Event handler is missing arguments.\");\n }\n\n if (!value.isBooleanLiteral(true)) {\n throw value.buildCodeFrameError(\n `\"${name}(handler, ...args)\" does not accept a value.`\n );\n }\n\n if (!isDash) {\n // When the event is not in dash case we normalized differently for html tags and custom tags.\n\n if (isNativeTag(tag)) {\n // Lowercase the string\n // Example: onMouseOver → mouseover\n eventName = eventName.toLowerCase();\n } else {\n // Convert first character to lower case:\n // Example: onBeforeShow → beforeShow\n eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1);\n }\n }\n\n const handlers = (tag.node.handlers = tag.node.handlers || {});\n if (handlers[eventName]) {\n throw attr.buildCodeFrameError(\n \"Duplicate event handlers are not supported.\"\n );\n }\n\n handlers[eventName] = {\n arguments: args,\n once: eventType === \"once\"\n };\n\n if (isVDOM) {\n if (eventName === \"attach\" || eventName === \"detach\") {\n if (!attachedDetachedLoaded.has(file)) {\n // Pull in helper for element attach/detach;\n attachedDetachedLoaded.add(file);\n importDefault(\n file,\n \"marko/src/runtime/components/attach-detach.js\"\n );\n }\n }\n }\n\n attr.remove();\n return;\n }\n },\n exit(attr) {\n const tag = attr.parentPath;\n const { name, arguments: args } = attr.node;\n const value = attr.get(\"value\");\n\n if (execModifiersAndDirectives(\"exit\", tag, attr, value)) {\n return;\n }\n\n const tagDef = getTagDef(tag);\n\n if (tagDef) {\n if (!tagDef.html && !tagDef.getAttribute(name)) {\n throw attr.buildCodeFrameError(\n `<${\n tag.get(\"name.value\").node\n }> does not support the \"${name}\" attribute.`\n );\n }\n }\n\n if (args && args.length) {\n throw attr.buildCodeFrameError(\n `Unsupported arguments on the \"${name}\" attribute.`\n );\n }\n\n if (attr.node.bound) {\n throw attr.buildCodeFrameError(\n `The binding syntax (:=) is only supported when using the \"Tags API\".`\n );\n }\n }\n};\n\nfunction execModifiersAndDirectives(type, tag, attr, value) {\n const { node } = attr;\n const { name, modifier } = node;\n\n if (modifier) {\n const modifierTranslate = modifiers[modifier];\n if (modifierTranslate) {\n if (modifierTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n modifierTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n } else if (name === \"xlink\" && modifier === \"href\" && isNativeTag(tag)) {\n node.name += `:${modifier}`;\n node.modifier = undefined;\n } else {\n throw attr.buildCodeFrameError(`Unsupported modifier \"${modifier}\".`);\n }\n }\n\n const directiveTranslate = directives[name];\n if (directiveTranslate) {\n if (directiveTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n directiveTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n }\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/modifiers/index.js"],"names":["scoped","scopedPlugin","noUpdatePlugin"],"mappings":"qJAAA;AACA,+D;;AAEe;AACbA,EAAAA,MAAM,EAAEC,eADK;AAEb,eAAaC,iBAFA,E","sourcesContent":["import scopedPlugin from \"./scoped\";\nimport noUpdatePlugin from \"./no-update\";\n\nexport default {\n scoped: scopedPlugin,\n \"no-update\": noUpdatePlugin\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/modifiers/no-update.js"],"names":["hasMonkeyPatch","WeakSet","exit","tag","attr","node","hub","file","isVDOM","markoOpts","output","preserveAttrs","has","add","push","name"],"mappings":"gEAAA;;AAEA,MAAMA,cAAc,GAAG,IAAIC,OAAJ,EAAvB;;AAEA;AACA;AACA,G;AACe;AACbC,EAAAA,IAAI,CAACC,GAAD,EAAMC,IAAN,EAAY;AACd,UAAM;AACJC,MAAAA,IADI;AAEJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFJ,IAAAA,GAHJ;AAIA,UAAMK,MAAM,GAAGD,IAAI,CAACE,SAAL,CAAeC,MAAf,KAA0B,MAAzC;;AAEA,QAAI,CAACL,IAAI,CAACM,aAAV,EAAyB;AACvBN,MAAAA,IAAI,CAACM,aAAL,GAAqB,EAArB;;AAEA,UAAIH,MAAM,IAAI,CAACR,cAAc,CAACY,GAAf,CAAmBL,IAAnB,CAAf,EAAyC;AACvCP,QAAAA,cAAc,CAACa,GAAf,CAAmBN,IAAnB;AACA,uCAAcA,IAAd,EAAoB,0CAApB;AACD;AACF;;AAEDF,IAAAA,IAAI,CAACM,aAAL,CAAmBG,IAAnB,CAAwBV,IAAI,CAACC,IAAL,CAAUU,IAAlC;AACD,GAlBY,E","sourcesContent":["import { importDefault } from \"@marko/babel-utils\";\n\nconst hasMonkeyPatch = new WeakSet();\n\n/**\n * Does nothing in html mode.\n */\nexport default {\n exit(tag, attr) {\n const {\n node,\n hub: { file }\n } = tag;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (!node.preserveAttrs) {\n node.preserveAttrs = [];\n\n if (isVDOM && !hasMonkeyPatch.has(file)) {\n hasMonkeyPatch.add(file);\n importDefault(file, \"marko/src/runtime/vdom/preserve-attrs.js\");\n }\n }\n\n node.preserveAttrs.push(attr.node.name);\n }\n};\n"],"file":"no-update.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/modifiers/scoped.js"],"names":["exit","tag","_","value","hub","file","replaceWith","t","callExpression","memberExpression","_componentDefIdentifier","identifier","node"],"mappings":"qJAAA;AACA,oG;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,CAAN,EAASC,KAAT,EAAgB;AAClB,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFJ,IAAAA,GAFJ;AAGAE,IAAAA,KAAK,CAACG,WAAN;AACE;AACEC,oBAAEC,cAAF;AACED,oBAAEE,gBAAF;AACEJ,IAAAA,IAAI,CAACK,uBADP;AAEEH,oBAAEI,UAAF,CAAa,MAAb,CAFF,CADF;;AAKE,KAACR,KAAK,CAACS,IAAP,CALF,CADF;;AAQET,IAAAA,KAAK,CAACS,IARR,CADF;;;AAYD,GAjBY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport default {\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n value.replaceWith(\n withPreviousLocation(\n t.callExpression(\n t.memberExpression(\n file._componentDefIdentifier,\n t.identifier(\"elId\")\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};\n"],"file":"scoped.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tag/attribute-tag.js"],"names":["EMPTY_OBJECT","parentIdentifierLookup","WeakMap","path","node","namePath","get","tagName","value","parentPath","buildCodeFrameError","parentAttributes","tagDef","isRepeated","targetProperty","slice","isDynamic","exampleAttributeTag","hasDynamicAttrTags","body","i","length","child","isAttributeTagChild","insertAfter","t","stringLiteral","some","attr","attrs","isNullLiteral","objectExpression","pushContainer","markoAttribute","remove","identifiers","set","identifier","scope","generateUidIdentifier","unshiftContainer","variableDeclaration","variableDeclarator","arrayExpression","nullLiteral","replaceWith","expressionStatement","callExpression","memberExpression","assignmentExpression","tag"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n findParentTag,\n assertNoArgs,\n getTagDef,\n isTransparentTag,\n isAttributeTag\n} from \"@marko/babel-utils\";\nimport { getAttrs } from \"./util\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nconst EMPTY_OBJECT = {};\nconst parentIdentifierLookup = new WeakMap();\n\n// TODO: optimize inline repeated @tags.\n\nexport default function (path) {\n const { node } = path;\n const namePath = path.get(\"name\");\n const tagName = namePath.node.value;\n const parentPath = findParentTag(path);\n\n assertNoArgs(path);\n\n if (!parentPath) {\n throw namePath.buildCodeFrameError(\n \"@tags must be nested within another element.\"\n );\n }\n\n const parentAttributes = parentPath.get(\"attributes\");\n const tagDef = getTagDef(path);\n const { isRepeated, targetProperty = tagName.slice(1) } =\n tagDef || EMPTY_OBJECT;\n const isDynamic = isRepeated || parentPath !== path.parentPath.parentPath;\n parentPath.node.exampleAttributeTag = node;\n\n if (isDynamic) {\n if (!parentPath.node.hasDynamicAttrTags) {\n const body = parentPath.get(\"body\").get(\"body\");\n parentPath.node.hasDynamicAttrTags = true;\n\n for (let i = body.length; i--; ) {\n const child = body[i];\n if (isAttributeTagChild(child)) {\n child.insertAfter(t.stringLiteral(\"END_ATTRIBUTE_TAGS\"));\n break;\n }\n }\n }\n } else {\n if (\n parentAttributes.some(attr => attr.get(\"name\").node === targetProperty)\n ) {\n throw namePath.buildCodeFrameError(\n `Only one \"${tagName}\" tag is allowed here.`\n );\n }\n\n let attrs = getAttrs(path);\n\n if (t.isNullLiteral(attrs)) {\n // TODO: this could be left as a null literal, but would require changes in the\n // await tag runtime to handle `<@catch/>`. (this would be a breaking change though)\n attrs = t.objectExpression([]);\n }\n\n parentPath.pushContainer(\n \"attributes\",\n t.markoAttribute(targetProperty, attrs)\n );\n\n path.remove();\n return;\n }\n\n let identifiers = parentIdentifierLookup.get(parentPath);\n\n if (!identifiers) {\n parentIdentifierLookup.set(parentPath, (identifiers = {}));\n }\n\n let identifier = identifiers[targetProperty];\n\n if (!identifier) {\n identifier = identifiers[targetProperty] =\n path.scope.generateUidIdentifier(targetProperty);\n parentPath\n .get(\"body\")\n .unshiftContainer(\n \"body\",\n t.variableDeclaration(isRepeated ? \"const\" : \"let\", [\n t.variableDeclarator(\n identifier,\n isRepeated ? t.arrayExpression([]) : t.nullLiteral()\n )\n ])\n );\n parentPath.pushContainer(\n \"attributes\",\n t.markoAttribute(targetProperty, identifier)\n );\n }\n\n if (isRepeated) {\n path.replaceWith(\n withPreviousLocation(\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(identifier, t.identifier(\"push\")),\n [getAttrs(path)]\n )\n ),\n node\n )\n );\n } else {\n path.replaceWith(\n withPreviousLocation(\n t.expressionStatement(\n t.assignmentExpression(\"=\", identifier, getAttrs(path))\n ),\n node\n )\n );\n }\n}\n\nfunction isAttributeTagChild(tag) {\n if (isAttributeTag(tag)) {\n return true;\n }\n\n if (isTransparentTag(tag)) {\n const body = tag.get(\"body\").get(\"body\");\n return isAttributeTagChild(body[body.length - 1]);\n }\n\n return false;\n}\n"],"file":"attribute-tag.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tag/custom-tag.js"],"names":["path","isNullable","hub","file","node","markoOpts","name","key","tagIdentifier","t","isStringLiteral","tagName","value","relativePath","extra","tagDef","taglibId","renderer","binding","scope","getBinding","identifier","loc","set","ignoreUnrecognizedTags","get","buildCodeFrameError","foundAttrs","customTagRenderCall","expressionStatement","callExpression","isNullLiteral","objectExpression","_componentDefIdentifier","renderBodyIdentifier","renderBodyProp","isObjectExpression","properties","find","prop","generateUidIdentifier","insertBefore","variableDeclaration","variableDeclarator","replaceWith","ifStatement"],"mappings":"uJAAA;AACA;;;;;;AAMA;AACA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgBC,UAAhB,EAA4B;AACzC,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAFI;AAGFJ,EAAAA,IAHJ;AAIA,QAAM,EAAEK,SAAF,KAAgBF,IAAtB;AACA,QAAM,EAAEG,IAAF,EAAQC,GAAR,KAAgBH,IAAtB;;AAEA,gCAAaJ,IAAb;;AAEA,MAAIQ,aAAJ;;AAEA,MAAIC,gBAAEC,eAAF,CAAkBJ,IAAlB,CAAJ,EAA6B;AAC3B,UAAMK,OAAO,GAAGL,IAAI,CAACM,KAArB;AACA,QAAIC,YAAY,GAAGT,IAAI,CAACU,KAAL,IAAcV,IAAI,CAACU,KAAL,CAAWD,YAA5C;;AAEA,QAAI,CAACA,YAAL,EAAmB;AACjB,YAAME,MAAM,GAAG,2BAAUf,IAAV,CAAf;AACA;AACEe,MAAAA,MAAM;AACNA,MAAAA,MAAM,CAACC,QAAP,KAAoB,oBADpB;AAEAD,MAAAA,MAAM,CAACE,QAHT;AAIE;AACA;AACA;AACA;AACAJ,QAAAA,YAAY,GAAG,qCAAoBV,IAApB,EAA0BY,MAAM,CAACE,QAAjC,CAAf;AACD;AACF;;AAED,QAAIC,OAAO,GAAGlB,IAAI,CAACmB,KAAL,CAAWC,UAAX,CAAsBT,OAAtB,CAAd;AACA,QAAIO,OAAO,IAAI,CAACA,OAAO,CAACG,UAAR,CAAmBC,GAAnC,EAAwCJ,OAAO,GAAG,IAAV;;AAExC,QAAIL,YAAJ,EAAkB;AAChB,UAAIK,OAAJ,EAAa;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;AAEDV,MAAAA,aAAa,GAAG,+BAAcL,IAAd,EAAoBU,YAApB,EAAkCF,OAAlC,CAAhB;AACD,KAZD,MAYO,IAAIO,OAAJ,EAAa;AAClBlB,MAAAA,IAAI,CAACuB,GAAL,CAAS,MAAT,EAAiBd,gBAAEY,UAAF,CAAaV,OAAb,CAAjB;AACA,aAAO,yBAAWX,IAAX,CAAP;AACD,KAHM,MAGA,IAAIK,SAAS,CAACmB,sBAAd,EAAsC;AAC3C,aAAO,wBAAUxB,IAAV,CAAP;AACD,KAFM,MAEA;AACL,YAAMA,IAAI;AACPyB,MAAAA,GADG,CACC,MADD;AAEHC,MAAAA,mBAFG;AAGD,oDAA6Cf,OAAQ,IAHpD,CAAN;;AAKD;AACF,GA7CD,MA6CO;AACLH,IAAAA,aAAa,GAAGF,IAAhB;AACD;;AAED,QAAMqB,UAAU,GAAG,oBAAS3B,IAAT,CAAnB;AACA,QAAM4B,mBAAmB,GAAG;AAC1BnB,kBAAEoB,mBAAF;AACEpB,kBAAEqB,cAAF;AACE;AACE3B,EAAAA,IADF;AAEE,2CAFF;AAGE,aAHF,CADF;;AAME;AACEK,EAAAA,aADF;AAEE;AACAC,kBAAEsB,aAAF,CAAgBJ,UAAhB,IAA8BlB,gBAAEuB,gBAAF,CAAmB,EAAnB,CAA9B,GAAuDL,UAHzD;AAIElB,kBAAEY,UAAF,CAAa,KAAb,CAJF;AAKElB,EAAAA,IAAI,CAAC8B,uBALP;AAME1B,EAAAA,GANF;AAOE,KAAG,kCAAuBP,IAAvB,CAPL,CANF,CADF,CAD0B;;;;AAmB1BI,EAAAA,IAnB0B,CAA5B;;;AAsBA,MAAIH,UAAJ,EAAgB;AACd,QAAIiC,oBAAJ;AACA,UAAMC,cAAc;AAClB1B,oBAAE2B,kBAAF,CAAqBT,UAArB;AACAA,IAAAA,UAAU,CAACU,UAAX,CAAsBC,IAAtB;AACE,KAAAC,IAAI,KAAIA,IAAI,CAAChC,GAAL,IAAYgC,IAAI,CAAChC,GAAL,CAASK,KAAT,KAAmB,YADzC,CAFF;;;AAMA,QAAIuB,cAAJ,EAAoB;AAClBD,MAAAA,oBAAoB,GAAGlC,IAAI,CAACmB,KAAL,CAAWqB,qBAAX,CAAiC,YAAjC,CAAvB;AACAxC,MAAAA,IAAI,CAACyC,YAAL;AACEhC,sBAAEiC,mBAAF,CAAsB,OAAtB,EAA+B;AAC7BjC,sBAAEkC,kBAAF,CAAqBT,oBAArB,EAA2CC,cAAc,CAACvB,KAA1D,CAD6B,CAA/B,CADF;;;;AAMAuB,MAAAA,cAAc,CAACvB,KAAf,GAAuBsB,oBAAvB;AACD;;AAEDlC,IAAAA,IAAI,CAAC4C,WAAL;AACEnC,oBAAEoC,WAAF;AACEvC,IAAAA,IADF;AAEEsB,IAAAA,mBAFF;AAGEM,IAAAA,oBAAoB;AAClBzB,oBAAEoB,mBAAF;AACEpB,oBAAEqB,cAAF,CAAiBI,oBAAjB,EAAuC,CAACzB,gBAAEY,UAAF,CAAa,KAAb,CAAD,CAAvC,CADF,CAJJ,CADF;;;;AAUD,GA7BD,MA6BO;AACLrB,IAAAA,IAAI,CAAC4C,WAAL,CAAiBhB,mBAAjB;AACD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n assertNoArgs,\n getTagDef,\n importDefault,\n resolveRelativePath\n} from \"@marko/babel-utils\";\nimport { getAttrs, buildEventHandlerArray } from \"./util\";\nimport nativeTag from \"./native-tag\";\nimport dynamicTag from \"./dynamic-tag\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const { markoOpts } = file;\n const { name, key } = node;\n\n assertNoArgs(path);\n\n let tagIdentifier;\n\n if (t.isStringLiteral(name)) {\n const tagName = name.value;\n let relativePath = node.extra && node.extra.relativePath;\n\n if (!relativePath) {\n const tagDef = getTagDef(path);\n if (\n tagDef &&\n tagDef.taglibId === \"marko-default-core\" &&\n tagDef.renderer\n ) {\n // Normally new tags should not be added in the translate stage.\n // We make an exception here for core tags, init-components & _preserve being the primary culprits.\n // TODO: in the future refactor so this is not needed.\n relativePath = resolveRelativePath(file, tagDef.renderer);\n }\n }\n\n let binding = path.scope.getBinding(tagName);\n if (binding && !binding.identifier.loc) binding = null;\n\n if (relativePath) {\n if (binding) {\n // TODO: implement auto migration for conflicts here\n // and log below warning\n // console.warn(\n // path.buildCodeFrameError(\n // `The <${tagName}> tag has been resolved from the filesystem, however a local variable with the same name exists. In the next major version of Marko the local variable will tag precedence.`\n // )\n // );\n }\n\n tagIdentifier = importDefault(file, relativePath, tagName);\n } else if (binding) {\n path.set(\"name\", t.identifier(tagName));\n return dynamicTag(path);\n } else if (markoOpts.ignoreUnrecognizedTags) {\n return nativeTag(path);\n } else {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n `Unable to find entry point for custom tag <${tagName}>.`\n );\n }\n } else {\n tagIdentifier = name;\n }\n\n const foundAttrs = getAttrs(path);\n const customTagRenderCall = withPreviousLocation(\n t.expressionStatement(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/render-tag.js\",\n \"marko_tag\"\n ),\n [\n tagIdentifier,\n // TODO: this could be left as null if we froze input mutations and used a default object in the runtime.\n t.isNullLiteral(foundAttrs) ? t.objectExpression([]) : foundAttrs,\n t.identifier(\"out\"),\n file._componentDefIdentifier,\n key,\n ...buildEventHandlerArray(path)\n ]\n )\n ),\n node\n );\n\n if (isNullable) {\n let renderBodyIdentifier;\n const renderBodyProp =\n t.isObjectExpression(foundAttrs) &&\n foundAttrs.properties.find(\n prop => prop.key && prop.key.value === \"renderBody\"\n );\n\n if (renderBodyProp) {\n renderBodyIdentifier = path.scope.generateUidIdentifier(\"renderBody\");\n path.insertBefore(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(renderBodyIdentifier, renderBodyProp.value)\n ])\n );\n\n renderBodyProp.value = renderBodyIdentifier;\n }\n\n path.replaceWith(\n t.ifStatement(\n name,\n customTagRenderCall,\n renderBodyIdentifier &&\n t.expressionStatement(\n t.callExpression(renderBodyIdentifier, [t.identifier(\"out\")])\n )\n )\n );\n } else {\n path.replaceWith(customTagRenderCall);\n }\n}\n"],"file":"custom-tag.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tag/dynamic-tag.js"],"names":["path","node","hub","file","tagProperties","extra","properties","key","arguments","args","foundAttrs","renderBodyProp","attrsLen","t","isNullLiteral","preserveAttrs","push","objectProperty","identifier","arrayExpression","map","name","stringLiteral","isObjectExpression","renderBodyIndex","findIndex","prop","value","length","splice","dynamicTagRenderCall","expressionStatement","callExpression","arrowFunctionExpression","nullLiteral","objectExpression","_componentDefIdentifier","replaceWith"],"mappings":"uJAAA;AACA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAMI,aAAa,GAAIJ,IAAI,CAACC,IAAL,CAAUI,KAAV,IAAmBL,IAAI,CAACC,IAAL,CAAUI,KAAV,CAAgBC,UAApC,IAAmD,EAAzE;AACA,QAAM,EAAEC,GAAF,EAAOC,SAAS,EAAEC,IAAlB,KAA2BR,IAAjC;AACA,QAAMS,UAAU,GAAG,oBAASV,IAAT,EAAe,IAAf,CAAnB;AACA,MAAIW,cAAJ;AACA,MAAIC,QAAQ,GAAGC,gBAAEC,aAAF,CAAgBJ,UAAhB,IAA8B,CAA9B,GAAkC,CAAjD;;AAEA,MAAIT,IAAI,CAACc,aAAT,EAAwB;AACtBX,IAAAA,aAAa,CAACY,IAAd;AACEH,oBAAEI,cAAF;AACEJ,oBAAEK,UAAF,CAAa,IAAb,CADF;AAEEL,oBAAEM,eAAF,CAAkBlB,IAAI,CAACc,aAAL,CAAmBK,GAAnB,CAAuB,CAAAC,IAAI,KAAIR,gBAAES,aAAF,CAAgBD,IAAhB,CAA/B,CAAlB,CAFF,CADF;;;AAMD;;AAED,MAAIR,gBAAEU,kBAAF,CAAqBb,UAArB,CAAJ,EAAsC;AACpC,UAAMc,eAAe,GAAGd,UAAU,CAACJ,UAAX,CAAsBmB,SAAtB;AACtB,KAAAC,IAAI,KAAIA,IAAI,CAACnB,GAAL,IAAYmB,IAAI,CAACnB,GAAL,CAASoB,KAAT,KAAmB,YADjB,CAAxB;;;AAIAf,IAAAA,QAAQ,GAAGF,UAAU,CAACJ,UAAX,CAAsBsB,MAAjC;;AAEA,QAAIJ,eAAe,GAAG,CAAC,CAAvB,EAA0B;AACxBb,MAAAA,cAAc,GAAGD,UAAU,CAACJ,UAAX,CAAsBkB,eAAtB,CAAjB;AACAd,MAAAA,UAAU,CAACJ,UAAX,CAAsBuB,MAAtB,CAA6BL,eAA7B,EAA8C,CAA9C;AACAZ,MAAAA,QAAQ;AACT;AACF;;AAED,QAAMkB,oBAAoB,GAAGjB,gBAAEkB,mBAAF;AAC3BlB,kBAAEmB,cAAF;AACE;AACE7B,EAAAA,IADF;AAEG,4CAFH;AAGE,qBAHF,CADF;;AAME;AACEU,kBAAEK,UAAF,CAAa,KAAb,CADF;AAEEjB,EAAAA,IAAI,CAACoB,IAFP;AAGET,EAAAA,QAAQ,GAAGC,gBAAEoB,uBAAF,CAA0B,EAA1B,EAA8BvB,UAA9B,CAAH,GAA+CG,gBAAEqB,WAAF,EAHzD;AAIEvB,EAAAA,cAAc,GAAGA,cAAc,CAACgB,KAAlB,GAA0Bd,gBAAEqB,WAAF,EAJ1C;AAKEzB,EAAAA,IAAI,IAAIA,IAAI,CAACmB,MAAb,GAAsBf,gBAAEM,eAAF,CAAkBV,IAAlB,CAAtB,GAAgDI,gBAAEqB,WAAF,EALlD;AAME9B,EAAAA,aAAa,CAACwB,MAAd;AACIf,kBAAEsB,gBAAF,CAAmB/B,aAAnB,CADJ;AAEIS,kBAAEqB,WAAF,EARN;AASE/B,EAAAA,IAAI,CAACiC,uBATP;AAUE7B,EAAAA,GAVF;AAWE,KAAG,kCAAuBP,IAAvB,CAXL,CANF,CAD2B,CAA7B;;;;;AAuBAA,EAAAA,IAAI,CAACqC,WAAL,CAAiB,mCAAqBP,oBAArB,EAA2C7B,IAA3C,CAAjB;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { importDefault } from \"@marko/babel-utils\";\nimport { getAttrs, buildEventHandlerArray } from \"./util\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n const { key, arguments: args } = node;\n const foundAttrs = getAttrs(path, true);\n let renderBodyProp;\n let attrsLen = t.isNullLiteral(foundAttrs) ? 0 : 1;\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (t.isObjectExpression(foundAttrs)) {\n const renderBodyIndex = foundAttrs.properties.findIndex(\n prop => prop.key && prop.key.value === \"renderBody\"\n );\n\n attrsLen = foundAttrs.properties.length;\n\n if (renderBodyIndex > -1) {\n renderBodyProp = foundAttrs.properties[renderBodyIndex];\n foundAttrs.properties.splice(renderBodyIndex, 1);\n attrsLen--;\n }\n }\n\n const dynamicTagRenderCall = t.expressionStatement(\n t.callExpression(\n importDefault(\n file,\n `marko/src/runtime/helpers/dynamic-tag.js`,\n \"marko_dynamic_tag\"\n ),\n [\n t.identifier(\"out\"),\n node.name,\n attrsLen ? t.arrowFunctionExpression([], foundAttrs) : t.nullLiteral(),\n renderBodyProp ? renderBodyProp.value : t.nullLiteral(),\n args && args.length ? t.arrayExpression(args) : t.nullLiteral(),\n tagProperties.length\n ? t.objectExpression(tagProperties)\n : t.nullLiteral(),\n file._componentDefIdentifier,\n key,\n ...buildEventHandlerArray(path)\n ]\n )\n );\n\n path.replaceWith(withPreviousLocation(dynamicTagRenderCall, node));\n}\n"],"file":"dynamic-tag.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tag/index.js"],"names":["enter","path","tagDef","translator","node","hook","t","attr","get","isMarkoAttribute","attributeTranslators","hub","file","markoOpts","ignoreUnrecognizedTags","forEach","child","set","stringLiteral","slice","resolveKey","exit","isUnknownDynamic","isDynamicNullable","name","types","findDynamicTagTypes","string","component","isIdentifier","tagIdentifier","scope","generateUidIdentifier","insertBefore","variableDeclaration","variableDeclarator","replaceWith","empty","_isDynamicString","HANDLE_BINDINGS","root","pending","pop","type","push","binding","getBinding","includes","kind","importSourcePath","parentPath","isStringLiteral","isMarkoFile","initialValue","assignments","constantViolations","length","assignment","operator","request","nodePath","extname","test"],"mappings":"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","sourcesContent":["import nodePath from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n getTagDef,\n isDynamicTag,\n isAttributeTag,\n isMacroTag,\n isNativeTag,\n findAttributeTags,\n assertNoVar\n} from \"@marko/babel-utils\";\nimport nativeTag from \"./native-tag\";\nimport dynamicTag from \"./dynamic-tag\";\nimport attributeTag from \"./attribute-tag\";\nimport customTag from \"./custom-tag\";\nimport macroTag from \"./macro-tag\";\nimport attributeTranslators from \"./attribute\";\nimport { getKeyManager } from \"../util/key-manager\";\nimport { enter, exit } from \"../util/plugin-hooks\";\nimport { optimizeStaticVDOM } from \"../util/optimize-vdom-create\";\n\nexport default {\n enter(path) {\n const tagDef = getTagDef(path);\n\n if (tagDef && tagDef.translator) {\n const { node } = path;\n enter(tagDef.translator.hook, path, t);\n\n if (path.node !== node) {\n return;\n }\n }\n\n assertNoVar(path);\n\n for (const attr of path.get(\"attributes\")) {\n if (attr.isMarkoAttribute()) {\n const { node } = path;\n attributeTranslators.enter(attr);\n if (path.node !== node) {\n return;\n }\n }\n }\n\n if (path.hub.file.markoOpts.ignoreUnrecognizedTags && !tagDef) {\n findAttributeTags(path).forEach(child => {\n child.set(\n \"name\",\n t.stringLiteral(`at_${child.get(\"name.value\").node.slice(1)}`)\n );\n });\n }\n\n if (!isAttributeTag(path)) {\n getKeyManager(path).resolveKey(path);\n }\n\n optimizeStaticVDOM(path);\n },\n exit(path) {\n let isUnknownDynamic = false;\n let isDynamicNullable = false;\n\n if (isDynamicTag(path)) {\n const name = path.get(\"name\");\n const types = findDynamicTagTypes(name);\n if (types && !(types.string && types.component)) {\n if (!name.isIdentifier()) {\n const tagIdentifier = path.scope.generateUidIdentifier(`tagName`);\n path.insertBefore(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(tagIdentifier, name.node)\n ])\n );\n\n name.replaceWith(tagIdentifier);\n }\n\n isDynamicNullable = types.empty;\n path.node._isDynamicString = types.string;\n } else {\n isUnknownDynamic = true;\n }\n }\n\n for (const attr of path.get(\"attributes\")) {\n if (attr.isMarkoAttribute()) {\n const { node } = path;\n attributeTranslators.exit(attr);\n if (path.node !== node) {\n return;\n }\n }\n }\n\n if (isUnknownDynamic) {\n return dynamicTag(path);\n }\n\n if (isAttributeTag(path)) {\n return attributeTag(path);\n }\n\n if (isMacroTag(path)) {\n return macroTag(path);\n }\n\n const tagDef = getTagDef(path);\n\n if (tagDef && tagDef.translator) {\n const { node } = path;\n\n exit(tagDef.translator.hook, path, t);\n\n if (path.node !== node) {\n return;\n }\n }\n\n if (isNativeTag(path)) {\n return nativeTag(path, isDynamicNullable);\n } else {\n return customTag(path, isDynamicNullable);\n }\n }\n};\n\nconst HANDLE_BINDINGS = [\"module\", \"var\", \"let\", \"const\"];\nfunction findDynamicTagTypes(root) {\n const pending = [root];\n const types = {\n string: false,\n empty: false,\n component: false\n };\n\n let path;\n while ((path = pending.pop())) {\n switch (path.type) {\n case \"ConditionalExpression\":\n pending.push(path.get(\"consequent\"));\n\n if (path.get(\"alternate\").node) {\n pending.push(path.get(\"alternate\"));\n }\n break;\n\n case \"LogicalExpression\":\n if (path.get(\"operator\").node === \"||\") {\n pending.push(path.get(\"left\"));\n } else {\n types.empty = true;\n }\n\n pending.push(path.get(\"right\"));\n break;\n\n case \"AssignmentExpression\":\n pending.push(path.get(\"right\"));\n break;\n\n case \"BinaryExpression\":\n if (path.get(\"operator\").node !== \"+\") {\n return false;\n }\n\n types.string = true;\n break;\n\n case \"StringLiteral\":\n case \"TemplateLiteral\":\n types.string = true;\n break;\n\n case \"NullLiteral\":\n types.empty = true;\n break;\n\n case \"Identifier\":\n if (path.get(\"name\").node === \"undefined\") {\n types.empty = true;\n } else {\n const binding = path.scope.getBinding(path.node.name);\n\n if (!binding || !HANDLE_BINDINGS.includes(binding.kind)) {\n return false;\n }\n\n if (binding.kind === \"module\") {\n const importSourcePath = binding.path.parentPath.get(\"source\");\n if (\n importSourcePath.isStringLiteral() &&\n isMarkoFile(importSourcePath.get(\"value\").node)\n ) {\n types.component = true;\n } else {\n return false;\n }\n } else {\n const initialValue = binding.path.get(\"init\");\n if (initialValue.node) {\n pending.push(initialValue);\n } else {\n types.empty = true;\n }\n\n const assignments = binding.constantViolations;\n if (assignments && assignments.length) {\n for (const assignment of assignments) {\n const operator = assignment.get(\"operator\").node;\n if (operator === \"=\") {\n pending.push(assignment.get(\"right\"));\n } else if (operator === \"+=\") {\n types.string = true;\n } else {\n return false;\n }\n }\n }\n }\n }\n break;\n\n default:\n return false;\n }\n }\n\n return types;\n}\n\nfunction isMarkoFile(request) {\n return nodePath.extname(request) === \".marko\" || /^<.*>$/.test(request);\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tag/macro-tag.js"],"names":["path","node","name","_isMacroTagCall","requeue"],"mappings":"kEAAA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,gCAAaA,IAAb;AACAA,EAAAA,IAAI,CAACC,IAAL,CAAUC,IAAV,GAAiB,oCAAmBF,IAAnB,CAAjB;AACAA,EAAAA,IAAI,CAACC,IAAL,CAAUE,eAAV,GAA4B,IAA5B;AACAH,EAAAA,IAAI,CAACI,OAAL;AACD","sourcesContent":["import { assertNoArgs, getMacroIdentifier } from \"@marko/babel-utils\";\n\nexport default function (path) {\n assertNoArgs(path);\n path.node.name = getMacroIdentifier(path);\n path.node._isMacroTagCall = true;\n path.requeue();\n}\n"],"file":"macro-tag.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tag/native-tag.js"],"names":["path","isNullable","hub","file","markoOpts","ignoreUnrecognizedTags","output"],"mappings":"uJAAA;AACA;AACA;;;;;;AAMe,kBAAUA,IAAV,EAAgBC,UAAhB,EAA4B;AACzC,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFH,EAAAA,IAFJ;AAGA,QAAM,EAAEI,SAAF,KAAgBD,IAAtB;;AAEA,MAAI,CAACC,SAAS,CAACC,sBAAf,EAAuC;AACrC,kCAAaL,IAAb;AACA,oCAAeA,IAAf;AACA,2CAAsBA,IAAtB;AACD;;AAED,MAAII,SAAS,CAACE,MAAV,KAAqB,MAAzB,EAAiC;AAC/B,gCAAcN,IAAd,EAAoBC,UAApB;AACD,GAFD,MAEO;AACL,gCAAcD,IAAd,EAAoBC,UAApB;AACD;AACF","sourcesContent":["import nativeTagHtml from \"./native-tag[html]\";\nimport nativeTagVdom from \"./native-tag[vdom]\";\nimport {\n assertNoAttributeTags,\n assertNoParams,\n assertNoArgs\n} from \"@marko/babel-utils\";\n\nexport default function (path, isNullable) {\n const {\n hub: { file }\n } = path;\n const { markoOpts } = file;\n\n if (!markoOpts.ignoreUnrecognizedTags) {\n assertNoArgs(path);\n assertNoParams(path);\n assertNoAttributeTags(path);\n }\n\n if (markoOpts.output === \"html\") {\n nativeTagHtml(path, isNullable);\n } else {\n nativeTagVdom(path, isNullable);\n }\n}\n"],"file":"native-tag.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/tag/native-tag[html]/attributes.js"],"names":["path","attrs","length","t","stringLiteral","len","some","attr","node","name","attrsObject","objectExpression","i","value","properties","push","objectProperty","mergeSpread","callExpression","hub","file","isSpreadElement","argument","quasis","expressions","attrValues","Map","curString","has","confident","computed","set","reverse","join","isObjectExpression","prop","spreadElement"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { normalizeTemplateString, importDefault } from \"@marko/babel-utils\";\nimport attrHelper from \"marko/src/runtime/html/helpers/attr\";\nimport { evaluateAttr } from \"../util\";\n\nexport default function (path, attrs) {\n if (!attrs.length) return t.stringLiteral(\"\");\n\n const len = attrs.length;\n if (len === 0) return t.stringLiteral(\"\");\n\n if (attrs.some(attr => !attr.node.name)) {\n const attrsObject = t.objectExpression([]);\n for (let i = 0; i < len; i++) {\n const {\n node: { name, value }\n } = attrs[i];\n\n if (name) {\n attrsObject.properties.push(\n t.objectProperty(t.stringLiteral(name), value)\n );\n } else {\n mergeSpread(attrsObject.properties, value);\n }\n }\n\n return t.callExpression(\n importDefault(\n path.hub.file,\n \"marko/src/runtime/html/helpers/attrs.js\",\n \"marko_attrs\"\n ),\n [\n attrsObject.properties.length === 1 &&\n t.isSpreadElement(attrsObject.properties[0])\n ? attrsObject.properties[0].argument\n : attrsObject\n ]\n );\n } else {\n const file = path.hub.file;\n const quasis = [];\n const expressions = [];\n const attrValues = new Map();\n let curString = \"\";\n\n // Remove duplicate attrs so last one wins.\n for (let i = len; i--; ) {\n const attr = attrs[i];\n const { name, value } = attr.node;\n if (attrValues.has(name)) continue;\n const { confident, computed } = evaluateAttr(attr);\n attrValues.set(name, {\n confident,\n computed,\n value\n });\n }\n\n for (const [name, { confident, computed, value }] of [\n ...attrValues\n ].reverse()) {\n if (confident) {\n if (computed == null || computed === false) {\n continue;\n }\n\n curString += attrHelper(name, computed);\n } else {\n quasis.push(curString);\n curString = \"\";\n expressions.push(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/html/helpers/attr.js\",\n \"marko_attr\"\n ),\n [t.stringLiteral(name), value]\n )\n );\n }\n }\n\n quasis.push(curString);\n\n if (expressions.length) {\n return normalizeTemplateString(quasis, ...expressions);\n } else {\n return t.stringLiteral(quasis.join(\"\"));\n }\n }\n}\n\nfunction mergeSpread(properties, value) {\n if (t.isObjectExpression(value)) {\n for (const prop of value.properties) {\n if (t.isSpreadElement(prop)) {\n mergeSpread(properties, prop.argument);\n } else {\n properties.push(prop);\n }\n }\n } else {\n properties.push(t.spreadElement(value));\n }\n}\n"],"file":"attributes.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/tag/native-tag[html]/index.js"],"names":["EMPTY_OBJECT","path","isNullable","hub","file","node","key","name","body","handlers","tagProperties","extra","properties","tagDef","meta","metadata","marko","parseOptions","import","deps","push","dir","Object","entries","forEach","eventName","arguments","args","once","delegateArgs","t","stringLiteral","booleanLiteral","length","arrayExpression","slice","objectProperty","callExpression","memberExpression","_componentDefIdentifier","identifier","isHTML","markoOpts","output","dataMarko","preserveAttrs","map","hasStatefulTagParams","hasComponentBrowser","hasComponent","isPreserved","dataMarkoArgs","objectExpression","numericLiteral","translatedAttrs","get","isSelfClosing","openTagEnding","isStringLiteral","htmlType","SELF_CLOSING","voidElements","indexOf","value","isEmpty","writeStartNode","ifStatement","expressionStatement","_componentInstanceIdentifier","replaceWith","needsBlock","childNode","isVariableDeclaration","kind","writeEndNode","replaceWithMultiple","concat","blockStatement","parentTag","parentPath","isMarkoTag"],"mappings":"uJAAA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAG,EAArB;;AAEA;AACA;AACA;AACe,kBAAUC,IAAV,EAAgBC,UAAhB,EAA4B;AACzC,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAFI;AAGFJ,EAAAA,IAHJ;AAIA,QAAM;AACJK,IAAAA,GADI;AAEJC,IAAAA,IAFI;AAGJC,IAAAA,IAAI,EAAE,EAAEA,IAAF,EAHF;AAIJC,IAAAA,QAJI;AAKFJ,EAAAA,IALJ;AAMA,QAAMK,aAAa,GAAIT,IAAI,CAACI,IAAL,CAAUM,KAAV,IAAmBV,IAAI,CAACI,IAAL,CAAUM,KAAV,CAAgBC,UAApC,IAAmD,EAAzE;AACA,QAAMC,MAAM,GAAG,2BAAUZ,IAAV,CAAf;AACA,QAAMa,IAAI,GAAGV,IAAI,CAACW,QAAL,CAAcC,KAA3B;;AAEA,MAAIH,MAAJ,EAAY;AACV,UAAM,EAAEI,YAAY,GAAGjB,YAAjB,KAAkCa,MAAxC;AACA,QAAII,YAAY,CAACC,MAAjB,EAAyB;AACvB;AACAd,MAAAA,IAAI,CAACW,QAAL,CAAcC,KAAd,CAAoBG,IAApB,CAAyBC,IAAzB,CAA8B,mBAAQP,MAAM,CAACQ,GAAf,EAAoBJ,YAAY,CAACC,MAAjC,CAA9B;AACD;AACF;;AAED,MAAIT,QAAJ,EAAc;AACZa,IAAAA,MAAM,CAACC,OAAP,CAAed,QAAf,EAAyBe,OAAzB;AACE,KAAC,CAACC,SAAD,EAAY,EAAEC,SAAS,EAAEC,IAAb,EAAmBC,IAAnB,EAAZ,CAAD,KAA4C;AAC1C,YAAMC,YAAY,GAAG,CAACC,gBAAEC,aAAF,CAAgBN,SAAhB,CAAD,EAA6BE,IAAI,CAAC,CAAD,CAAjC,CAArB;;AAEA;AACAE,MAAAA,YAAY,CAACT,IAAb,CAAkBU,gBAAEE,cAAF,CAAiBJ,IAAjB,CAAlB;;AAEA,UAAID,IAAI,CAACM,MAAL,GAAc,CAAlB,EAAqB;AACnBJ,QAAAA,YAAY,CAACT,IAAb,CAAkBU,gBAAEI,eAAF,CAAkBP,IAAI,CAACQ,KAAL,CAAW,CAAX,CAAlB,CAAlB;AACD;;AAED;AACAzB,MAAAA,aAAa,CAACU,IAAd;AACEU,sBAAEM,cAAF;AACEN,sBAAEC,aAAF,CAAiB,KAAIN,SAAU,EAA/B,CADF;AAEEK,sBAAEO,cAAF;AACEP,sBAAEQ,gBAAF;AACElC,MAAAA,IAAI,CAACmC,uBADP;AAEET,sBAAEU,UAAF,CAAa,GAAb,CAFF,CADF;;AAKEX,MAAAA,YALF,CAFF,CADF;;;;AAYD,KAxBH;;AA0BD;;AAED,QAAMY,MAAM,GAAGrC,IAAI,CAACsC,SAAL,CAAeC,MAAf,KAA0B,MAAzC;AACA,MAAIC,SAAS,GAAGd,gBAAEC,aAAF,CAAgB,EAAhB,CAAhB;;AAEA,MAAI1B,IAAI,CAACwC,aAAT,EAAwB;AACtBnC,IAAAA,aAAa,CAACU,IAAd;AACEU,oBAAEM,cAAF;AACEN,oBAAEU,UAAF,CAAa,IAAb,CADF;AAEEV,oBAAEI,eAAF,CAAkB7B,IAAI,CAACwC,aAAL,CAAmBC,GAAnB,CAAuB,CAAAvC,IAAI,KAAIuB,gBAAEC,aAAF,CAAgBxB,IAAhB,CAA/B,CAAlB,CAFF,CADF;;;AAMD;;AAED,MAAIkC,MAAJ,EAAY;AACV;AACG,KAAC3B,IAAI,CAACiC,oBAAN;AACEjC,IAAAA,IAAI,CAACkC,mBAAL,IAA4B,CAAClC,IAAI,CAACmC,YADpC,CAAD;AAEAC,IAAAA,WAAW,CAACjD,IAAD,CAHb;AAIE;AACA,YAAMkD,aAAa,GAAG,CAACrB,gBAAEU,UAAF,CAAa,KAAb,CAAD,EAAsBpC,IAAI,CAACmC,uBAA3B,CAAtB;;AAEA,UAAI7B,aAAa,CAACuB,MAAlB,EAA0B;AACxB;AACAkB,QAAAA,aAAa,CAAC/B,IAAd,CAAmBU,gBAAEsB,gBAAF,CAAmB1C,aAAnB,CAAnB;AACD;;AAED,UAAI,4BAAWT,IAAX,CAAJ,EAAsB;AACpB,YAAIkD,aAAa,CAAClB,MAAd,KAAyB,CAA7B,EAAgC;AAC9BkB,UAAAA,aAAa,CAAC/B,IAAd,CAAmBU,gBAAEuB,cAAF,CAAiB,CAAjB,CAAnB;AACD;;AAEDF,QAAAA,aAAa,CAAC/B,IAAd,CAAmBd,GAAnB,EAAwBF,IAAI,CAACmC,uBAA7B;AACD;;AAED,UAAIY,aAAa,CAAClB,MAAd,GAAuB,CAA3B,EAA8B;AAC5BW,QAAAA,SAAS,GAAGd,gBAAEO,cAAF;AACV;AACEjC,QAAAA,IADF;AAEE,sDAFF;AAGE,qBAHF,CADU;;AAMV+C,QAAAA,aANU,CAAZ;;AAQD;AACF;AACF;;AAED,QAAMG,eAAe,GAAG,yBAAoBrD,IAApB,EAA0BA,IAAI,CAACsD,GAAL,CAAS,YAAT,CAA1B,CAAxB;AACA,MAAIC,aAAa,GAAG,KAApB;AACA,MAAIC,aAAa,GAAG,GAApB;;AAEA,MAAI3B,gBAAE4B,eAAF,CAAkBnD,IAAlB,CAAJ,EAA6B;AAC3B;AACEM,IAAAA,MAAM;AACNA,IAAAA,MAAM,CAAC8C,QADP;AAEC9C,IAAAA,MAAM,CAAC8C,QAAP,KAAoB,KAApB,IAA6B9C,MAAM,CAAC8C,QAAP,KAAoB,MAFlD,CADF;AAIE;AACA,UAAI,CAACnD,IAAI,CAACyB,MAAV,EAAkB;AAChBuB,QAAAA,aAAa,GAAG,IAAhB;AACAC,QAAAA,aAAa,GAAG,KAAhB;AACD;AACF,KATD,MASO,IAAIG,yBAAaC,YAAb,CAA0BC,OAA1B,CAAkCvD,IAAI,CAACwD,KAAvC,MAAkD,CAAC,CAAvD,EAA0D;AAC/DP,MAAAA,aAAa,GAAG,IAAhB;AACD;AACF;;AAED,QAAMQ,OAAO,GAAGR,aAAa,IAAI,CAAChD,IAAI,CAACyB,MAAvC;AACA,MAAIgC,cAAc,GAAG,wCAAwB,IAAG1D,IAAK,GAAEqC,SAAU,GAAEU,eAAgB,GAAEG,aAAc,EAAnG;;AAEAQ,EAAAA,cAAc,GAAG;AACfD,EAAAA,OAAO,IAAI,CAACR,aAAZ;AACI,4BAAM,GAAES,cAAe,KAAI1D,IAAK,GADpC;AAEI,4BAAM,GAAE0D,cAAe,EAHZ;AAIf1D,EAAAA,IAJe,CAAjB;;;AAOA,MAAIL,UAAJ,EAAgB;AACd+D,IAAAA,cAAc,GAAGnC,gBAAEoC,WAAF;AACf3D,IAAAA,IADe;AAEf0D,IAAAA,cAFe;AAGfnC,oBAAEqC,mBAAF;AACErC,oBAAEO,cAAF;AACEP,oBAAEQ,gBAAF,CAAmBR,gBAAEU,UAAF,CAAa,KAAb,CAAnB,EAAwCV,gBAAEU,UAAF,CAAa,IAAb,CAAxC,CADF;AAEE;AACE,4CAAwB,KAAIlC,GAAI,EADlC;AAEEF,IAAAA,IAAI,CAACgE,4BAFP;AAGEtC,oBAAEuB,cAAF,CAAiB,CAAjB,CAHF,CAFF,CADF,CAHe,CAAjB;;;;;AAcD;;AAED,MAAIW,OAAJ,EAAa;AACX/D,IAAAA,IAAI,CAACoE,WAAL,CAAiBJ,cAAjB;AACA;AACD;;AAED,MAAIK,UAAJ;AACA,OAAK,MAAMC,SAAX,IAAwB/D,IAAxB,EAA8B;AAC5B,QAAIsB,gBAAE0C,qBAAF,CAAwBD,SAAxB,CAAJ,EAAwC;AACtC,UAAIA,SAAS,CAACE,IAAV,KAAmB,OAAnB,IAA8BF,SAAS,CAACE,IAAV,KAAmB,KAArD,EAA4D;AAC1DH,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;AACF;AACF;;AAED,MAAII,YAAY,GAAG,0BAAM,KAAInE,IAAK,GAAlC;;AAEA,MAAIL,UAAJ,EAAgB;AACdwE,IAAAA,YAAY,GAAG5C,gBAAEoC,WAAF;AACb3D,IAAAA,IADa;AAEbmE,IAAAA,YAFa;AAGb5C,oBAAEqC,mBAAF;AACErC,oBAAEO,cAAF;AACEP,oBAAEQ,gBAAF,CAAmBR,gBAAEU,UAAF,CAAa,KAAb,CAAnB,EAAwCV,gBAAEU,UAAF,CAAa,IAAb,CAAxC,CADF;AAEE,MAFF,CADF,CAHa,CAAf;;;;AAUD;;AAEDvC,EAAAA,IAAI,CAAC0E,mBAAL;AACE,GAACV,cAAD;AACGW,EAAAA,MADH,CACUN,UAAU,GAAGxC,gBAAE+C,cAAF,CAAiBrE,IAAjB,CAAH,GAA4BA,IADhD;AAEGoE,EAAAA,MAFH,CAEUF,YAFV,CADF;;AAKD;;AAED,SAASxB,WAAT,CAAqBjD,IAArB,EAA2B;AACzB,MAAI6E,SAAS,GAAG7E,IAAhB;AACA,KAAG;AACD6E,IAAAA,SAAS,GAAGA,SAAS,CAACC,UAAV,CAAqBA,UAAjC;AACA,QAAID,SAAS,CAACvB,GAAV,CAAc,aAAd,EAA6BlD,IAA7B,KAAsC,IAA1C,EAAgD;AAC9C,aAAO,IAAP;AACD;AACF,GALD,QAKSyB,gBAAEkD,UAAF,CAAaF,SAAb,CALT;;AAOA,SAAO,KAAP;AACD","sourcesContent":["import { resolve } from \"path\";\nimport SELF_CLOSING from \"self-closing-tags\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n getTagDef,\n normalizeTemplateString,\n importDefault\n} from \"@marko/babel-utils\";\nimport write from \"../../util/html-out-write\";\nimport { hasUserKey } from \"../../util/key-manager\";\nimport translateAttributes from \"./attributes\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nconst EMPTY_OBJECT = {};\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nexport default function (path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const {\n key,\n name,\n body: { body },\n handlers\n } = node;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n const tagDef = getTagDef(path);\n const meta = file.metadata.marko;\n\n if (tagDef) {\n const { parseOptions = EMPTY_OBJECT } = tagDef;\n if (parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n file.metadata.marko.deps.push(resolve(tagDef.dir, parseOptions.import));\n }\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [t.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(t.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(t.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n t.objectProperty(\n t.stringLiteral(`on${eventName}`),\n t.callExpression(\n t.memberExpression(\n file._componentDefIdentifier,\n t.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n const isHTML = file.markoOpts.output === \"html\";\n let dataMarko = t.stringLiteral(\"\");\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (isHTML) {\n if (\n (!meta.hasStatefulTagParams &&\n (meta.hasComponentBrowser || !meta.hasComponent)) ||\n isPreserved(path)\n ) {\n const dataMarkoArgs = [t.identifier(\"out\"), file._componentDefIdentifier];\n\n if (tagProperties.length) {\n // TODO we should pre evaluate this if it is static.\n dataMarkoArgs.push(t.objectExpression(tagProperties));\n }\n\n if (hasUserKey(path)) {\n if (dataMarkoArgs.length === 2) {\n dataMarkoArgs.push(t.numericLiteral(0));\n }\n\n dataMarkoArgs.push(key, file._componentDefIdentifier);\n }\n\n if (dataMarkoArgs.length > 2) {\n dataMarko = t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/html/helpers/data-marko.js\",\n \"marko_props\"\n ),\n dataMarkoArgs\n );\n }\n }\n }\n\n const translatedAttrs = translateAttributes(path, path.get(\"attributes\"));\n let isSelfClosing = false;\n let openTagEnding = \">\";\n\n if (t.isStringLiteral(name)) {\n if (\n tagDef &&\n tagDef.htmlType &&\n (tagDef.htmlType === \"svg\" || tagDef.htmlType === \"math\")\n ) {\n if (!body.length) {\n isSelfClosing = true;\n openTagEnding = \" />\";\n }\n } else if (SELF_CLOSING.voidElements.indexOf(name.value) !== -1) {\n isSelfClosing = true;\n }\n }\n\n const isEmpty = isSelfClosing || !body.length;\n let writeStartNode = normalizeTemplateString`<${name}${dataMarko}${translatedAttrs}${openTagEnding}`;\n\n writeStartNode = withPreviousLocation(\n isEmpty && !isSelfClosing\n ? write`${writeStartNode}</${name}>`\n : write`${writeStartNode}`,\n name\n );\n\n if (isNullable) {\n writeStartNode = t.ifStatement(\n name,\n writeStartNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"bf\")),\n [\n normalizeTemplateString`f_${key}`,\n file._componentInstanceIdentifier,\n t.numericLiteral(1)\n ]\n )\n )\n );\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (t.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n let writeEndNode = write`</${name}>`;\n\n if (isNullable) {\n writeEndNode = t.ifStatement(\n name,\n writeEndNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n path.replaceWithMultiple(\n [writeStartNode]\n .concat(needsBlock ? t.blockStatement(body) : body)\n .concat(writeEndNode)\n );\n}\n\nfunction isPreserved(path) {\n let parentTag = path;\n do {\n parentTag = parentTag.parentPath.parentPath;\n if (parentTag.get(\"isPreserved\").node === true) {\n return true;\n }\n } while (t.isMarkoTag(parentTag));\n\n return false;\n}\n"],"file":"index.js"}