@marko/translator-default 5.20.8 → 5.21.1

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 +1 -2
  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 +11 -26
  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 +2 -3
  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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tag/util.js"],"names":["getAttrs","path","preserveNames","skipRenderBody","node","attributes","body","params","hasDynamicAttrTags","attrsLen","length","childLen","properties","targetObjects","tagDef","foundProperties","i","name","value","attrDef","getAttribute","targetProperties","targetProperty","preserveName","key","removeDashes","dynamicAttribute","targetObject","push","t","objectProperty","stringLiteral","objectExpression","camelCase","mergeSpread","endDynamicAttrTagsIndex","findLastIndex","insertBefore","slice","map","child","skip","arrowFunctionExpression","identifier","blockStatement","forEachAttribute","attr","defaultValue","undefined","required","get","buildCodeFrameError","nullLiteral","isSpreadElement","argument","buildEventHandlerArray","handlers","arrayExpression","Object","entries","eventName","arguments","args","once","parts","booleanLiteral","evaluateAttr","confident","computed","isRegExpLiteral","evaluated","evaluate","string","replace","_","letter","toUpperCase","arr","check","isObjectExpression","prop","spreadElement"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { getTagDef } from \"@marko/babel-utils\";\n\nexport function getAttrs(path, preserveNames, skipRenderBody) {\n const { node } = path;\n const {\n attributes,\n body: { body, params },\n hasDynamicAttrTags\n } = node;\n const attrsLen = attributes.length;\n const childLen = body.length;\n const properties = [];\n const targetObjects = {};\n const tagDef = getTagDef(path);\n const foundProperties = {};\n\n for (let i = 0; i < attrsLen; i++) {\n const { name, value } = attributes[i];\n\n if (name) {\n const attrDef = tagDef && tagDef.getAttribute(name);\n let targetProperties = properties;\n let targetProperty = name;\n let preserveName = preserveNames;\n\n if (attrDef) {\n if (attrDef.targetProperty) {\n const key = attrDef.targetProperty;\n preserveName =\n attrDef.preserveName !== false && attrDef.removeDashes !== true;\n\n if (attrDef.dynamicAttribute) {\n let targetObject = targetObjects[key];\n\n if (!targetObject) {\n properties.push(\n t.objectProperty(\n t.stringLiteral(key),\n (targetObject = targetObjects[key] = t.objectExpression([]))\n )\n );\n }\n\n targetProperties = targetObject.properties;\n } else {\n targetProperty = key;\n }\n } else if (\n !preserveName &&\n (attrDef.preserveName === true || attrDef.removeDashes === false)\n ) {\n preserveName = true;\n }\n }\n\n if (!preserveName) {\n targetProperty = camelCase(targetProperty);\n }\n\n foundProperties[targetProperty] = true;\n targetProperties.push(\n t.objectProperty(t.stringLiteral(targetProperty), value)\n );\n } else {\n mergeSpread(properties, value);\n }\n }\n\n if (!skipRenderBody && childLen) {\n let endDynamicAttrTagsIndex = -1;\n\n if (hasDynamicAttrTags) {\n endDynamicAttrTagsIndex = findLastIndex(\n body,\n ({ value }) => value === \"END_ATTRIBUTE_TAGS\"\n );\n path\n .insertBefore(body.slice(0, endDynamicAttrTagsIndex))\n .map(child => child.skip());\n }\n\n if (!hasDynamicAttrTags || endDynamicAttrTagsIndex !== childLen - 1) {\n properties.push(\n t.objectProperty(\n t.stringLiteral(\"renderBody\"),\n t.arrowFunctionExpression(\n [t.identifier(\"out\"), ...params],\n t.blockStatement(\n hasDynamicAttrTags\n ? body.slice(endDynamicAttrTagsIndex + 1)\n : body\n )\n )\n )\n );\n }\n }\n\n // Default parameters\n tagDef &&\n tagDef.forEachAttribute &&\n tagDef.forEachAttribute(attr => {\n if (foundProperties[attr.name] || attr.dynamicAttribute) {\n return;\n }\n\n if (attr.defaultValue !== undefined) {\n properties.push(\n t.objectProperty(\n t.stringLiteral(attr.name),\n t.stringLiteral(attr.defaultValue + \"\")\n )\n );\n } else if (attr.required) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(`The \"${attr.name}\" attribute is required.`);\n }\n });\n\n if (properties.length === 0) {\n return t.nullLiteral();\n }\n\n if (properties.length === 1 && t.isSpreadElement(properties[0])) {\n return properties[0].argument;\n }\n\n return t.objectExpression(properties);\n}\n\nexport function buildEventHandlerArray(path) {\n const { handlers } = path.node;\n if (!handlers) {\n return [];\n }\n\n return [\n t.arrayExpression(\n Object.entries(handlers).map(([eventName, { arguments: args, once }]) => {\n const parts = [\n t.stringLiteral(eventName),\n args[0],\n t.booleanLiteral(once)\n ];\n\n if (args.length > 1) {\n parts.push(t.arrayExpression(args.slice(1)));\n }\n\n return t.arrayExpression(parts);\n })\n )\n ];\n}\n\nexport function evaluateAttr(attr) {\n const name = attr.get(\"name\").node;\n const value = attr.get(\"value\");\n let confident = false;\n let computed = undefined;\n\n if (name) {\n if (value.isRegExpLiteral()) {\n confident = true;\n computed = value.get(\"pattern\").node;\n } else {\n const evaluated = value.evaluate();\n ({ confident, value: computed } = evaluated);\n\n if (computed === true) {\n computed = \"\";\n } else if (computed != null && computed !== false) {\n computed = computed + \"\";\n }\n }\n }\n\n return {\n confident,\n computed\n };\n}\n\nfunction camelCase(string) {\n return string.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\nfunction findLastIndex(arr, check) {\n for (let i = arr.length; i--; ) {\n if (check(arr[i])) {\n return i;\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":"util.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/taglib/core/conditional/translate-else-if.js"],"names":["exit","path","ifStatement","arguments","args","node","get","buildCodeFrameError","alternate","remove"],"mappings":"2DAAA;AACA;;AAEO,SAASA,IAAT,CAAcC,IAAd,EAAoB;AACzB,sCAAmBA,IAAnB;;AAEA,QAAM,EAAEC,WAAF,EAAeC,SAAS,EAAEC,IAA1B,KAAmCH,IAAI,CAACI,IAA9C;;AAEA,MAAI,CAACH,WAAL,EAAkB;AAChB,UAAMD,IAAI;AACPK,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,sEAHE,CAAN;;AAKD;;AAEDL,EAAAA,WAAW,CAACM,SAAZ,GAAwB,4BAAiBP,IAAjB,EAAuBG,IAAvB,CAAxB;AACAH,EAAAA,IAAI,CAACQ,MAAL;AACD","sourcesContent":["import { assertNoAttributes } from \"@marko/babel-utils\";\nimport { buildIfStatement } from \"./util\";\n\nexport function exit(path) {\n assertNoAttributes(path);\n\n const { ifStatement, arguments: args } = path.node;\n\n if (!ifStatement) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n \"Invalid 'else-if' tag, expected preceding 'if' or 'else-if' tag.\"\n );\n }\n\n ifStatement.alternate = buildIfStatement(path, args);\n path.remove();\n}\n"],"file":"translate-else-if.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/taglib/core/conditional/translate-else.js"],"names":["exit","path","ifStatement","body","node","get","buildCodeFrameError","alternate","t","blockStatement","remove"],"mappings":"2DAAA;AACA;;AAEO,SAASA,IAAT,CAAcC,IAAd,EAAoB;AACzB,gCAAaA,IAAb;AACA,sCAAmBA,IAAnB;;AAEA,QAAM;AACJC,IAAAA,WADI;AAEJC,IAAAA,IAAI,EAAE,EAAEA,IAAF,EAFF;AAGFF,EAAAA,IAAI,CAACG,IAHT;;AAKA,MAAI,CAACF,WAAL,EAAkB;AAChB,UAAMD,IAAI;AACPI,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,mEAHE,CAAN;;AAKD;;AAEDJ,EAAAA,WAAW,CAACK,SAAZ,GAAwBC,gBAAEC,cAAF,CAAiBN,IAAjB,CAAxB;AACAF,EAAAA,IAAI,CAACS,MAAL;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { assertNoArgs, assertNoAttributes } from \"@marko/babel-utils\";\n\nexport function exit(path) {\n assertNoArgs(path);\n assertNoAttributes(path);\n\n const {\n ifStatement,\n body: { body }\n } = path.node;\n\n if (!ifStatement) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n \"Invalid 'else' tag, expected preceding 'if' or 'else-if' tag.\"\n );\n }\n\n ifStatement.alternate = t.blockStatement(body);\n path.remove();\n}\n"],"file":"translate-else.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/taglib/core/conditional/translate-if.js"],"names":["exit","path","replaceWith","node","arguments"],"mappings":"2DAAA;AACA;;AAEO,SAASA,IAAT,CAAcC,IAAd,EAAoB;AACzB,sCAAmBA,IAAnB;AACAA,EAAAA,IAAI,CAACC,WAAL,CAAiB,4BAAiBD,IAAjB,EAAuBA,IAAI,CAACE,IAAL,CAAUC,SAAjC,CAAjB;AACD","sourcesContent":["import { assertNoAttributes } from \"@marko/babel-utils\";\nimport { buildIfStatement } from \"./util\";\n\nexport function exit(path) {\n assertNoAttributes(path);\n path.replaceWith(buildIfStatement(path, path.node.arguments));\n}\n"],"file":"translate-if.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/taglib/core/conditional/util.js"],"names":["buildIfStatement","path","args","length","name","get","buildCodeFrameError","node","value","ifStatement","t","sequenceExpression","blockStatement","body","nextPath","getNextSibling","isMarkoTag","nextTagName","isStringLiteral"],"mappings":"wKAAA;AACA;;AAEO,SAASA,gBAAT,CAA0BC,IAA1B,EAAgCC,IAAhC,EAAsC;AAC3C,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACC,MAAnB,EAA2B;AACzB,UAAMC,IAAI,GAAGH,IAAI,CAACI,GAAL,CAAS,MAAT,CAAb;AACA,UAAMD,IAAI,CAACE,mBAAL;AACH,iBAAYF,IAAI,CAACG,IAAL,CAAUC,KAAM,qCAAoCJ,IAAI,CAACG,IAAL,CAAUC,KAAM,WAD7E,CAAN;;AAGD;;AAED,QAAMC,WAAW,GAAGC,gBAAED,WAAF;AAClBP,EAAAA,IAAI,CAACC,MAAL,KAAgB,CAAhB,GAAoBD,IAAI,CAAC,CAAD,CAAxB,GAA8BQ,gBAAEC,kBAAF,CAAqBT,IAArB,CADZ;AAElBQ,kBAAEE,cAAF,CAAiBX,IAAI,CAACM,IAAL,CAAUM,IAAV,CAAeA,IAAhC,CAFkB,CAApB;;;AAKA,MAAIC,QAAQ,GAAGb,IAAI,CAACc,cAAL,EAAf;;AAEA;AACA,MAAID,QAAQ,CAACE,UAAT,EAAJ,EAA2B;AACzB,UAAMC,WAAW,GAAGH,QAAQ,CAACT,GAAT,CAAa,MAAb,CAApB;AACA;AACEY,IAAAA,WAAW,CAACC,eAAZ,CAA4B,EAAEV,KAAK,EAAE,MAAT,EAA5B;AACAS,IAAAA,WAAW,CAACC,eAAZ,CAA4B,EAAEV,KAAK,EAAE,SAAT,EAA5B,CAFF;AAGE;AACAM,MAAAA,QAAQ,CAACP,IAAT,CAAcE,WAAd,GAA4BA,WAA5B;AACD;AACF;;AAED,SAAO,mCAAqBA,WAArB,EAAkCR,IAAI,CAACM,IAAvC,CAAP;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport function buildIfStatement(path, args) {\n if (!args || !args.length) {\n const name = path.get(\"name\");\n throw name.buildCodeFrameError(\n `Invalid '<${name.node.value}>' tag, expected arguments like '<${name.node.value}(test)>'.`\n );\n }\n\n const ifStatement = t.ifStatement(\n args.length === 1 ? args[0] : t.sequenceExpression(args),\n t.blockStatement(path.node.body.body)\n );\n\n let nextPath = path.getNextSibling();\n\n // Provide the if statement to the next part of the if chain.\n if (nextPath.isMarkoTag()) {\n const nextTagName = nextPath.get(\"name\");\n if (\n nextTagName.isStringLiteral({ value: \"else\" }) ||\n nextTagName.isStringLiteral({ value: \"else-if\" })\n ) {\n nextPath.node.ifStatement = ifStatement;\n }\n }\n\n return withPreviousLocation(ifStatement, path.node);\n}\n"],"file":"util.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/index.js"],"names":["parseImport","rootOnly","rawOpenTag","openTagOnly","ignoreAttributes","relaxRequireCommas","autocomplete","displayText","description","snippet","descriptionMoreURL","parseExport","parseClass","parseStatic","parseStyle","transformer","transformStyle","parseMacro","translateMacro","type","translateIncludeContent","attributes","translateIf","translateElseIf","translateElse","translateFor","translateWhile","translateHTMLComment","state","renderer","translateServerOnly","translateBody","translateAwait","parseModuleCode","pattern"],"mappings":"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","sourcesContent":["import * as parseImport from \"./parse-import\";\nimport * as parseExport from \"./parse-export\";\nimport * as parseClass from \"./parse-class\";\nimport * as parseStatic from \"./parse-static\";\nimport * as parseStyle from \"./parse-style\";\nimport * as transformStyle from \"./transform-style\";\nimport * as parseMacro from \"./macro/parse\";\nimport * as translateMacro from \"./macro/translate\";\nimport * as translateIncludeContent from \"./translate-include-content\";\nimport * as translateIf from \"./conditional/translate-if\";\nimport * as translateElseIf from \"./conditional/translate-else-if\";\nimport * as translateElse from \"./conditional/translate-else\";\nimport * as translateFor from \"./translate-for\";\nimport * as translateWhile from \"./translate-while\";\nimport * as translateHTMLComment from \"./translate-html-comment\";\nimport * as translateServerOnly from \"./translate-server-only\";\nimport * as translateBody from \"./translate-body\";\nimport * as translateAwait from \"./translate-await\";\nimport * as parseModuleCode from \"./parse-module-code\";\n\nexport default {\n \"taglib-id\": \"marko-default-core\",\n \"<import>\": {\n \"node-factory\": parseImport,\n \"parse-options\": {\n rootOnly: true,\n rawOpenTag: true,\n openTagOnly: true,\n ignoreAttributes: true,\n relaxRequireCommas: true\n },\n autocomplete: [\n {\n displayText: 'import <scope> from \"<path>\"',\n description:\n \"Use to import external modules, follows the same syntax as JavaScript imports.\",\n snippet: 'import ${2} from \"${1:path}\"',\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#importing-external-files\"\n }\n ]\n },\n \"<export>\": {\n \"node-factory\": parseExport,\n \"parse-options\": {\n rootOnly: true,\n rawOpenTag: true,\n openTagOnly: true,\n ignoreAttributes: true,\n relaxRequireCommas: true\n },\n autocomplete: [\n {\n displayText: \"export <scope>\",\n description:\n \"Use export additional data with the template, follows the same syntax as JavaScript exports.\",\n snippet: \"export ${1}\",\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#importing-external-files\"\n }\n ]\n },\n \"<class>\": {\n \"node-factory\": parseClass,\n \"parse-options\": {\n rootOnly: true,\n rawOpenTag: true,\n openTagOnly: true,\n ignoreAttributes: true\n },\n autocomplete: [\n {\n displayText: \"class { /** lifecycle methods **/ }\",\n snippet: \"class {\\n\\t$0\\n}\",\n description:\n \"A class containing the lifecycle methods, event handlers, and other properties for this component.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/class-components/#single-file-components\"\n }\n ]\n },\n \"<static>\": {\n \"node-factory\": parseStatic,\n \"parse-options\": {\n rootOnly: true,\n rawOpenTag: true,\n openTagOnly: true,\n ignoreAttributes: true\n },\n autocomplete: [\n {\n displayText: \"static <statement>\",\n description:\n \"A JavaScript statement which is only evaluated once your template is loaded.\",\n descriptionMoreURL: \"https://markojs.com/docs/syntax/#static-javascript\"\n }\n ]\n },\n \"<style>\": {\n \"node-factory\": parseStyle,\n transformer: transformStyle,\n \"parse-options\": {\n rawOpenTag: true\n }\n },\n \"<macro>\": {\n \"node-factory\": parseMacro,\n \"code-generator\": translateMacro,\n \"@name\": {\n type: \"string\",\n autocomplete: [\n {\n description: \"The name which can be used as a tag within a template.\"\n }\n ]\n },\n autocomplete: [\n {\n displayText: 'macro|<params>| name=\"<name>\"',\n description: \"Creates a reusable fragment within the template.\",\n snippet: 'macro|${2:param1, param2}| name=\"${1:name}\"',\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#macro\"\n }\n ]\n },\n \"<include-text>\": {\n \"code-generator\": translateIncludeContent,\n attributes: {},\n autocomplete: [\n {\n displayText: 'include-text(\"<path>\")',\n description: \"Allows you to inline the contents of a text file.\",\n snippet: 'include-text(${1:\"./foo.txt\"})',\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#include-text\"\n }\n ]\n },\n \"<include-html>\": {\n \"code-generator\": translateIncludeContent,\n attributes: {},\n autocomplete: [\n {\n displayText: 'include-html(\"<path>\")',\n snippet: 'include-html(${1:\"./foo.html\"})',\n description: \"Allows you to inline the contents of an html file.\",\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#include-html\"\n }\n ]\n },\n \"<if>\": {\n \"code-generator\": translateIf,\n attributes: {},\n autocomplete: [\n {\n snippet: \"if(${1:condition})\",\n description: \"Use to display content only if the condition is meant.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/core-tags/#if-else-if-else\"\n }\n ]\n },\n \"<else-if>\": {\n \"code-generator\": translateElseIf,\n attributes: {},\n autocomplete: [\n {\n snippet: \"else-if(${1:condition})\",\n description:\n \"Use after an <if> or <else-if> tag to display content if those conditions do not match and this one does.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/core-tags/#if-else-if-else\"\n }\n ]\n },\n \"<else>\": {\n \"code-generator\": translateElse,\n attributes: {},\n autocomplete: [\n {\n description:\n \"Use after an <if> or <else-if> tag to display content if those conditions do not match.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/core-tags/#if-else-if-else\"\n }\n ]\n },\n \"<for>\": {\n \"code-generator\": translateFor,\n \"@of\": {\n type: \"expression\",\n autocomplete: [\n {\n description: \"Iterates over a list of items.\"\n }\n ]\n },\n \"@in\": {\n type: \"expression\",\n autocomplete: [\n {\n description: \"Iterates over the keys and values of an object.\"\n }\n ]\n },\n \"@to\": {\n type: \"number\",\n autocomplete: [\n {\n description: \"Iterates up to the provided number (inclusive)\"\n }\n ]\n },\n \"@from\": {\n type: \"number\",\n autocomplete: [\n {\n description: \"Iterates starting from the provided number (inclusive)\"\n }\n ]\n },\n \"@step\": {\n type: \"number\",\n autocomplete: [\n {\n description:\n \"The amount to increment during each interation (with from/to)\"\n }\n ]\n },\n autocomplete: [\n {\n snippet: \"for|${1:value, index}| of=${3:array}\",\n description:\n \"Use to iterate over lists, object properties, or between ranges.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/core-tags/#iterating-over-a-list\"\n },\n {\n snippet: \"for|${1:name, value}| in=${3:object}\",\n descriptionMoreURL:\n \"https://markojs.com/docs/core-tags/#iterating-over-an-objects-properties\"\n },\n {\n snippet:\n \"for|${1:index}| from=${2:number} to=${3:number} step=${4:number}\",\n descriptionMoreURL:\n \"https://markojs.com/docs/core-tags/#iterating-between-a-range-of-numbers\"\n }\n ]\n },\n \"<while>\": {\n \"code-generator\": translateWhile,\n autocomplete: [\n {\n snippet: \"while(${1:condition})\",\n description:\n \"Renders the content multiple times until the condition is no longer met.\",\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#while\"\n }\n ]\n },\n \"<html-comment>\": {\n \"code-generator\": translateHTMLComment,\n \"parse-options\": {\n state: \"parsed-text\"\n },\n attributes: {},\n autocomplete: [\n {\n description:\n \"Use to create an html comment that is not stripped from the output.\",\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#html-comment\"\n }\n ]\n },\n \"<_preserve>\": {\n renderer: \"marko/src/core-tags/components/preserve-tag\",\n \"@n\": \"boolean\",\n \"@i\": \"boolean\",\n \"@b\": \"boolean\",\n autocomplete: []\n },\n \"<init-components>\": {\n \"code-generator\": translateServerOnly,\n renderer: \"marko/src/core-tags/components/init-components-tag.js\",\n \"@immediate\": \"boolean\"\n },\n \"<_preferred-script-location>\": {\n \"code-generator\": translateServerOnly,\n renderer: \"marko/src/core-tags/components/preferred-script-location-tag.js\"\n },\n \"<body>\": {\n \"code-generator\": translateBody\n },\n \"<await>\": {\n renderer: \"marko/src/core-tags/core/await/renderer.js\",\n \"code-generator\": translateAwait,\n \"@_provider\": \"expression\",\n \"@_name\": \"string\",\n \"@name\": {\n type: \"string\",\n autocomplete: [\n {\n description:\n \"Used to improve debugging and also to ensure promise ordering with the show-after attribute.\",\n snippet: 'name=\"${1:name}\"'\n }\n ]\n },\n \"@timeout\": {\n type: \"number\",\n autocomplete: [\n {\n description:\n \"An optional timeout that when reached will cause the promise to reject with a TimeoutError.\"\n }\n ]\n },\n \"@client-reorder\": {\n type: \"boolean\",\n autocomplete: [\n {\n description:\n \"If set anything after this promise will be sent out immediately, and reordered using JS in the browser.\"\n }\n ]\n },\n \"@show-after\": {\n type: \"string\",\n autocomplete: [\n {\n description:\n \"This attribute will ensure that (with client-reorder) this await tag will always show after another await tag with the provided name.\"\n }\n ]\n },\n \"<then>\": {\n autocomplete: [\n {\n displayText: \"then|<result>|\",\n description: \"Executed with the result of the resolved promise.\",\n snippet: \"then|${1:result}|\",\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#await\"\n }\n ]\n },\n \"<catch>\": {\n autocomplete: [\n {\n displayText: \"catch|<err>|\",\n description: \"Executed with the err of the rejected promise.\",\n snippet: \"catch|${1:err}|\",\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#await\"\n }\n ]\n },\n \"<placeholder>\": {\n autocomplete: [\n {\n description: \"A placeholder to display while the promise is pending.\",\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#await\"\n }\n ]\n },\n autocomplete: [\n {\n displayText: \"await(<promise>)\",\n description:\n \"Used to render a template asynchronously with the results of a Promise\",\n snippet: \"await(${1:promise})\",\n descriptionMoreURL: \"https://markojs.com/docs/core-tags/#await\"\n }\n ]\n },\n \"<await-reorderer>\": {\n \"code-generator\": translateServerOnly,\n renderer: \"marko/src/core-tags/core/await/reorderer-renderer.js\",\n autocomplete: [\n {\n snippet: \"await-reorderer\",\n descriptionMoreURL:\n \"http://markojs.com/docs/marko/async-taglib/#<code>&ltawait-reorderer><code>\"\n }\n ]\n },\n \"<__flush_here_and_after__>\": {\n \"code-generator\": translateServerOnly,\n renderer: \"marko/src/core-tags/core/__flush_here_and_after__.js\"\n },\n \"<module-code>\": {\n \"node-factory\": parseModuleCode,\n \"parse-options\": {\n rootOnly: true,\n rawOpenTag: true,\n openTagOnly: true,\n ignoreAttributes: true,\n relaxRequireCommas: true\n }\n },\n \"<*>\": {\n \"@key\": {\n type: \"string\",\n \"preserve-name\": true,\n autocomplete: [\n {\n displayText: 'key=\"<method>\"',\n snippet: 'key=\"${1:method}\"',\n descriptionMoreURL:\n \"http://markojs.com/docs/marko-components/get-started/#referencing-nested-components\"\n },\n {\n descriptionMoreURL:\n \"http://markojs.com/docs/marko-components/get-started/#referencing-nested-components\"\n }\n ]\n },\n \"@on*\": {\n pattern: true,\n type: \"statement\",\n \"allow-expressions\": true,\n \"preserve-name\": true,\n \"set-flag\": \"hasComponentEvents\",\n autocomplete: [\n {\n displayText: 'on<event>(\"<method>\")',\n snippet: 'on${1:Click}(\"handle${2:Button}${1:Click}\")',\n descriptionMoreURL:\n \"https://markojs.com/docs/components/#attaching-dom-event-listeners\"\n }\n ]\n },\n \"@once*\": {\n pattern: true,\n type: \"statement\",\n \"allow-expressions\": true,\n \"preserve-name\": true,\n \"set-flag\": \"hasComponentEvents\",\n autocomplete: {\n displayText: 'once<event>(\"<method>\")',\n snippet: 'once${1:Click}(\"handle${2:Button}${1:Click}\")',\n descriptionMoreURL:\n \"https://markojs.com/docs/components/#attaching-dom-event-listeners\"\n }\n },\n \"@no-update\": {\n type: \"flag\",\n \"preserve-name\": true,\n autocomplete: [\n {\n descriptionMoreURL:\n \"http://markojs.com/docs/marko-components/#preserving-dom-nodes-during-re-render\"\n }\n ]\n },\n \"@no-update-body\": {\n type: \"flag\",\n \"preserve-name\": true,\n autocomplete: [\n {\n descriptionMoreURL:\n \"http://markojs.com/docs/marko-components/#preserving-dom-nodes-during-re-render\"\n }\n ]\n },\n \"@no-update-if\": {\n \"preserve-name\": true,\n autocomplete: [\n {\n snippet: \"no-update-if(${1:condition})\",\n descriptionMoreURL:\n \"http://markojs.com/docs/marko-components/#preserving-dom-nodes-during-re-render\"\n }\n ]\n },\n \"@no-update-body-if\": {\n \"preserve-name\": true,\n autocomplete: [\n {\n snippet: \"no-update-body-if(${1:condition})\",\n descriptionMoreURL:\n \"http://markojs.com/docs/marko-components/#preserving-dom-nodes-during-re-render\"\n }\n ]\n }\n }\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/taglib/core/macro/parse.js"],"names":["path","attributes","get","nameAttr","find","attr","node","buildCodeFrameError","length","nameAttrValue","isStringLiteral","name","value","file","hub","metadata","marko","macros","scope","generateUid"],"mappings":"kEAAe,kBAAUA,IAAV,EAAgB;AAC7B,QAAMC,UAAU,GAAGD,IAAI,CAACE,GAAL,CAAS,YAAT,CAAnB;AACA,QAAMC,QAAQ,GAAGF,UAAU,CAACG,IAAX,CAAgB,CAAAC,IAAI,KAAIA,IAAI,CAACH,GAAL,CAAS,MAAT,EAAiBI,IAAjB,KAA0B,MAAlD,CAAjB;;AAEA,MAAI,CAACH,QAAL,EAAe;AACb,UAAMH,IAAI;AACPE,IAAAA,GADG,CACC,MADD;AAEHK,IAAAA,mBAFG,CAEiB,mDAFjB,CAAN;AAGD;;AAED,MAAIN,UAAU,CAACO,MAAX,GAAoB,CAAxB,EAA2B;AACzB,UAAMP,UAAU,CAACA,UAAU,CAAC,CAAD,CAAV,KAAkBE,QAAlB,GAA6B,CAA7B,GAAiC,CAAlC,CAAV,CAA+CI,mBAA/C;AACJ,uDADI,CAAN;;AAGD;;AAED,QAAME,aAAa,GAAGN,QAAQ,CAACD,GAAT,CAAa,OAAb,CAAtB;;AAEA,MAAI,CAACO,aAAa,CAACC,eAAd,EAAL,EAAsC;AACpC,UAAMD,aAAa,CAACF,mBAAd;AACJ,qEADI,CAAN;;AAGD;;AAED,QAAMI,IAAI,GAAGF,aAAa,CAACH,IAAd,CAAmBM,KAAhC;AACA,QAAM,EAAEC,IAAF,KAAWb,IAAI,CAACc,GAAtB;;AAEA,MAAID,IAAI,CAACE,QAAL,CAAcC,KAAd,CAAoBC,MAApB,CAA2BN,IAA3B,CAAJ,EAAsC;AACpC,UAAMR,QAAQ,CAACI,mBAAT;AACH,8BAAyBI,IAAK,mBAD3B,CAAN;;AAGD;;AAEDE,EAAAA,IAAI,CAACE,QAAL,CAAcC,KAAd,CAAoBC,MAApB,CAA2BN,IAA3B,IAAmCE,IAAI,CAACK,KAAL,CAAWC,WAAX,CAAuBR,IAAvB,CAAnC;AACD","sourcesContent":["export default function (path) {\n const attributes = path.get(\"attributes\");\n const nameAttr = attributes.find(attr => attr.get(\"name\").node === \"name\");\n\n if (!nameAttr) {\n throw path\n .get(\"name\")\n .buildCodeFrameError('The \"name\" attribute is required on \"macro\" tags.');\n }\n\n if (attributes.length > 1) {\n throw attributes[attributes[0] === nameAttr ? 1 : 0].buildCodeFrameError(\n 'The \"macro\" tag can only have a \"name\" attribute.'\n );\n }\n\n const nameAttrValue = nameAttr.get(\"value\");\n\n if (!nameAttrValue.isStringLiteral()) {\n throw nameAttrValue.buildCodeFrameError(\n 'The \"name\" attribute for \"macro\" tags must be a string literal.'\n );\n }\n\n const name = nameAttrValue.node.value;\n const { file } = path.hub;\n\n if (file.metadata.marko.macros[name]) {\n throw nameAttr.buildCodeFrameError(\n `A macro with the name \"${name}\" already exists.`\n );\n }\n\n file.metadata.marko.macros[name] = file.scope.generateUid(name);\n}\n"],"file":"parse.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/taglib/core/macro/translate.js"],"names":["exit","path","node","body","name","attributes","find","attr","replaceWith","t","functionDeclaration","identifier","hub","file","metadata","marko","macros","value","params","blockStatement"],"mappings":"gJAAA;AACA;;AAEO,SAASA,IAAT,CAAcC,IAAd,EAAoB;AACzB,QAAM,EAAEC,IAAF,KAAWD,IAAjB;AACA,QAAM,EAAEE,IAAF,KAAWD,IAAjB;AACA,QAAME,IAAI,GAAGF,IAAI,CAACG,UAAL,CAAgBC,IAAhB,CAAqB,CAAAC,IAAI,KAAIA,IAAI,CAACH,IAAL,KAAc,MAA3C,CAAb;;AAEAH,EAAAA,IAAI,CAACO,WAAL;AACE;AACEC,kBAAEC,mBAAF;AACED,kBAAEE,UAAF,CAAaV,IAAI,CAACW,GAAL,CAASC,IAAT,CAAcC,QAAd,CAAuBC,KAAvB,CAA6BC,MAA7B,CAAoCZ,IAAI,CAACa,KAAL,CAAWA,KAA/C,CAAb,CADF;AAEE,GAACR,gBAAEE,UAAF,CAAa,KAAb,CAAD,EAAsB,GAAGR,IAAI,CAACe,MAA9B,CAFF;AAGET,kBAAEU,cAAF,CAAiBhB,IAAI,CAACA,IAAtB,CAHF,CADF;;AAMED,EAAAA,IANF,CADF;;;AAUD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport function exit(path) {\n const { node } = path;\n const { body } = node;\n const name = node.attributes.find(attr => attr.name === \"name\");\n\n path.replaceWith(\n withPreviousLocation(\n t.functionDeclaration(\n t.identifier(path.hub.file.metadata.marko.macros[name.value.value]),\n [t.identifier(\"out\"), ...body.params],\n t.blockStatement(body.body)\n ),\n node\n )\n );\n}\n"],"file":"translate.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/parse-class.js"],"names":["path","node","hub","file","rawValue","code","name","start","meta","metadata","marko","componentFile","get","buildCodeFrameError","hasComponent","parsed","id","superClass","constructorProp","body","find","prop","t","isClassMethod","kind","key","replaceWith","markoClass"],"mappings":"uJAAA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAM;AACJI,IAAAA,QAAQ,EAAEC,IADN;AAEJC,IAAAA,IAAI,EAAE,EAAEC,KAAF,EAFF;AAGFN,EAAAA,IAHJ;AAIA,QAAMO,IAAI,GAAGL,IAAI,CAACM,QAAL,CAAcC,KAA3B;;AAEA,MAAI,gCAAkBV,IAAlB,EAAwBW,aAA5B,EAA2C;AACzC,UAAMX,IAAI;AACPY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,gGAHE,CAAN;;AAKD;;AAED,MAAIL,IAAI,CAACM,YAAT,EAAuB;AACrB,UAAMd,IAAI;AACPY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,0DAHE,CAAN;;AAKD;;AAED,QAAME,MAAM,GAAG,iCAAgBZ,IAAhB,EAAsBE,IAAtB,EAA4BE,KAA5B,CAAf;;AAEA,MAAIQ,MAAM,CAACC,EAAX,EAAe;AACb,UAAMb,IAAI,CAACU,mBAAL;AACJE,IAAAA,MAAM,CAACC,EADH;AAEJ,yCAFI,CAAN;;AAID;;AAED,MAAID,MAAM,CAACE,UAAX,EAAuB;AACrB,UAAMd,IAAI,CAACU,mBAAL;AACJE,IAAAA,MAAM,CAACE,UADH;AAEJ,gDAFI,CAAN;;AAID;;AAED,QAAMC,eAAe,GAAGH,MAAM,CAACI,IAAP,CAAYA,IAAZ,CAAiBC,IAAjB;AACtB,GAAAC,IAAI,KAAIC,gBAAEC,aAAF,CAAgBF,IAAhB,KAAyBA,IAAI,CAACG,IAAL,KAAc,aADzB,CAAxB;;AAGA,MAAIN,eAAJ,EAAqB;AACnB,UAAMf,IAAI,CAACU,mBAAL;AACJK,IAAAA,eAAe,CAACO,GADZ;AAEJ,sFAFI,CAAN;;AAID;;AAEDjB,EAAAA,IAAI,CAACM,YAAL,GAAoB,IAApB;AACAd,EAAAA,IAAI,CAAC0B,WAAL,CAAiBJ,gBAAEK,UAAF,CAAaZ,MAAM,CAACI,IAApB,CAAjB;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { parseExpression } from \"@marko/babel-utils\";\nimport getComponentFiles from \"../../util/get-component-files\";\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const {\n rawValue: code,\n name: { start }\n } = node;\n const meta = file.metadata.marko;\n\n if (getComponentFiles(path).componentFile) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n 'A Marko file can either have an inline class, or an external \"component.js\", but not both.'\n );\n }\n\n if (meta.hasComponent) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n \"A Marko component can only have one top level class.\"\n );\n }\n\n const parsed = parseExpression(file, code, start);\n\n if (parsed.id) {\n throw file.buildCodeFrameError(\n parsed.id,\n \"Component class cannot have a name.\"\n );\n }\n\n if (parsed.superClass) {\n throw file.buildCodeFrameError(\n parsed.superClass,\n \"Component class cannot have a super class.\"\n );\n }\n\n const constructorProp = parsed.body.body.find(\n prop => t.isClassMethod(prop) && prop.kind === \"constructor\"\n );\n if (constructorProp) {\n throw file.buildCodeFrameError(\n constructorProp.key,\n \"The constructor method should not be used for a component, use onCreate instead.\"\n );\n }\n\n meta.hasComponent = true;\n path.replaceWith(t.markoClass(parsed.body));\n}\n"],"file":"parse-class.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/parse-export.js"],"names":["path","node","hub","file","rawValue","name","start","exportNode","body","replaceWith"],"mappings":"kEAAA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAM;AACJI,IAAAA,QADI;AAEJC,IAAAA,IAAI,EAAE,EAAEC,KAAF,EAFF;AAGFL,EAAAA,IAHJ;AAIA,QAAM,CAACM,UAAD,IAAe,6BAAYJ,IAAZ,EAAkBC,QAAlB,EAA4BE,KAA5B,EAAmCE,IAAxD;AACAR,EAAAA,IAAI,CAACS,WAAL,CAAiBF,UAAjB;AACD","sourcesContent":["import { parseScript } from \"@marko/babel-utils\";\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const {\n rawValue,\n name: { start }\n } = node;\n const [exportNode] = parseScript(file, rawValue, start).body;\n path.replaceWith(exportNode);\n}\n"],"file":"parse-export.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/parse-import.js"],"names":["path","node","hub","file","rawValue","name","start","importNode","body","replaceWith"],"mappings":"kEAAA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAM;AACJI,IAAAA,QADI;AAEJC,IAAAA,IAAI,EAAE,EAAEC,KAAF,EAFF;AAGFL,EAAAA,IAHJ;AAIA,QAAM,CAACM,UAAD,IAAe,6BAAYJ,IAAZ,EAAkBC,QAAlB,EAA4BE,KAA5B,EAAmCE,IAAxD;AACAR,EAAAA,IAAI,CAACS,WAAL,CAAiBF,UAAjB;AACD","sourcesContent":["import { parseScript } from \"@marko/babel-utils\";\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const {\n rawValue,\n name: { start }\n } = node;\n const [importNode] = parseScript(file, rawValue, start).body;\n path.replaceWith(importNode);\n}\n"],"file":"parse-import.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/parse-module-code.js"],"names":["startOffset","length","tag","hub","file","node","rawValue","dirname","path","opts","filename","relativeRequire","entry","markoModules","require","fn","eval","slice","source","markoOpts","metadata","marko","moduleCode"],"mappings":"uJAAA;AACA;AACA;;AAEA,MAAMA,WAAW,GAAG,cAAcC,MAAlC;;AAEe,kBAAUC,GAAV,EAAe;AAC5B,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAAI,EAAE,EAAEC,QAAF,EAFF;AAGFJ,EAAAA,GAHJ;AAIA,QAAMK,OAAO,GAAGC,cAAKD,OAAL,CAAaH,IAAI,CAACK,IAAL,CAAUC,QAAvB,CAAhB;AACA,QAAMC,eAAe,GAAG,CAAAC,KAAK;AAC3BC,mBAAaC,OAAb,CAAqB,0BAAYP,OAAZ,EAAqBK,KAArB,CAArB,CADF;AAEA,QAAMG,EAAE,GAAGC,IAAI,CAACV,QAAQ,CAACW,KAAT,CAAejB,WAAf,CAAD,CAAf;AACA,QAAMkB,MAAM,GAAGH,EAAE,CAACJ,eAAD,EAAkBP,IAAI,CAACe,SAAvB,CAAjB;AACAf,EAAAA,IAAI,CAACgB,QAAL,CAAcC,KAAd,CAAoBC,UAApB,GAAiCJ,MAAjC;AACD","sourcesContent":["import path from \"path\";\nimport resolveFrom from \"resolve-from\";\nimport markoModules from \"@marko/compiler/modules\";\n\nconst startOffset = \"module-code\".length;\n\nexport default function (tag) {\n const {\n hub: { file },\n node: { rawValue }\n } = tag;\n const dirname = path.dirname(file.opts.filename);\n const relativeRequire = entry =>\n markoModules.require(resolveFrom(dirname, entry));\n const fn = eval(rawValue.slice(startOffset));\n const source = fn(relativeRequire, file.markoOpts);\n file.metadata.marko.moduleCode = source;\n}\n"],"file":"parse-module-code.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/parse-static.js"],"names":["path","node","hub","file","rawValue","code","replace","trim","start","name","length","body","t","isBlockStatement","replaceWith","MarkoScriptlet"],"mappings":"kEAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAM,EAAEI,QAAF,KAAeH,IAArB;AACA,QAAMI,IAAI,GAAGD,QAAQ,CAACE,OAAT,CAAiB,YAAjB,EAA+B,EAA/B,EAAmCC,IAAnC,EAAb;AACA,QAAMC,KAAK,GAAGP,IAAI,CAACQ,IAAL,CAAUD,KAAV,IAAmBJ,QAAQ,CAACM,MAAT,GAAkBL,IAAI,CAACK,MAA1C,CAAd;AACA,MAAI,EAAEC,IAAF,KAAW,6BAAYR,IAAZ,EAAkBE,IAAlB,EAAwBG,KAAxB,CAAf;AACA,MAAIG,IAAI,CAACD,MAAL,KAAgB,CAAhB,IAAqBE,gBAAEC,gBAAF,CAAmBF,IAAI,CAAC,CAAD,CAAvB,CAAzB,EAAsD;AACpDA,IAAAA,IAAI,GAAGA,IAAI,CAAC,CAAD,CAAJ,CAAQA,IAAf;AACD;;AAEDX,EAAAA,IAAI,CAACc,WAAL,CAAiBF,gBAAEG,cAAF,CAAiBJ,IAAjB,EAAuB,IAAvB,CAAjB;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { parseScript } from \"@marko/babel-utils\";\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const { rawValue } = node;\n const code = rawValue.replace(/^static\\s*/, \"\").trim();\n const start = node.name.start + (rawValue.length - code.length);\n let { body } = parseScript(file, code, start);\n if (body.length === 1 && t.isBlockStatement(body[0])) {\n body = body[0].body;\n }\n\n path.replaceWith(t.MarkoScriptlet(body, true));\n}\n"],"file":"parse-static.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/parse-style.js"],"names":["path","node","extra","nameStart","name","start"],"mappings":"kEAAe,kBAAUA,IAAV,EAAgB;AAC7B;AACA,QAAM,EAAEC,IAAF,KAAWD,IAAjB;AACA,QAAME,KAAK,GAAID,IAAI,CAACC,KAAL,GAAaD,IAAI,CAACC,KAAL,IAAc,EAA1C;AACAA,EAAAA,KAAK,CAACC,SAAN,GAAkBF,IAAI,CAACG,IAAL,CAAUC,KAA5B;AACD","sourcesContent":["export default function (path) {\n // Tracks parser positions for use in the translator.\n const { node } = path;\n const extra = (node.extra = node.extra || {});\n extra.nameStart = node.name.start;\n}\n"],"file":"parse-style.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/transform-style.js"],"names":["STYLE_REG","tag","hub","node","deps","file","metadata","marko","rawValue","matchedBlock","exec","parentPath","isProgram","get","buildCodeFrameError","some","dep","style","styleFile","startContent","type","codeSartOffset","length","codeEndOffset","lastIndexOf","code","slice","base","path","basename","opts","filename","start","extra","nameStart","push","startPos","endPos","virtualPath","remove"],"mappings":"uJAAA;AACA;;AAEA,MAAMA,SAAS,GAAG,yCAAlB;;AAEe,kBAAUC,GAAV,EAAe;AAC5B,QAAM,EAAEC,GAAF,EAAOC,IAAP,KAAgBF,GAAtB;AACA,QAAM,EAAEG,IAAF,KAAWF,GAAG,CAACG,IAAJ,CAASC,QAAT,CAAkBC,KAAnC;AACA,QAAM,EAAEC,QAAF,KAAeL,IAArB;AACA,QAAMM,YAAY,GAAGT,SAAS,CAACU,IAAV,CAAeF,QAAf,CAArB;AACA,MAAI,CAACC,YAAL,EAAmB;AACjB;AACD;;AAED,MAAI,CAACR,GAAG,CAACU,UAAJ,CAAeC,SAAf,EAAL,EAAiC;AAC/B,UAAMX,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,8DAHE,CAAN;;AAKD;;AAED,MAAIV,IAAI,CAACW,IAAL,CAAU,CAAAC,GAAG,KAAIA,GAAG,CAACC,KAArB,CAAJ,EAAiC;AAC/B,UAAMhB,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,gEAHE,CAAN;;AAKD;;AAED,MAAI,gCAAkBb,GAAlB,EAAuBiB,SAA3B,EAAsC;AACpC,UAAMjB,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,wGAHE,CAAN;;AAKD;;AAED,QAAM,CAACK,YAAD,EAAeC,IAAI,GAAG,MAAtB,IAAgCX,YAAtC;AACA,QAAMY,cAAc,GAAGF,YAAY,CAACG,MAApC;AACA,QAAMC,aAAa,GAAGf,QAAQ,CAACgB,WAAT,CAAqB,GAArB,CAAtB;AACA,QAAMC,IAAI,GAAGjB,QAAQ,CAACkB,KAAT,CAAeL,cAAf,EAA+BE,aAA/B,CAAb;AACA,QAAMI,IAAI,GAAGC,cAAKC,QAAL,CAAc3B,GAAG,CAACG,IAAJ,CAASyB,IAAT,CAAcC,QAA5B,CAAb;AACA,QAAMC,KAAK,GAAG7B,IAAI,CAAC8B,KAAL,IAAc9B,IAAI,CAAC8B,KAAL,CAAWC,SAAvC;;AAEA9B,EAAAA,IAAI,CAAC+B,IAAL,CAAU;AACRf,IAAAA,IAAI,EAAEA,IAAI,CAACM,KAAL,CAAW,CAAX,CADE;AAERD,IAAAA,IAFQ;AAGRR,IAAAA,KAAK,EAAE,IAHC;AAIRmB,IAAAA,QAAQ,EAAEJ,KAAK,GAAGX,cAJV;AAKRgB,IAAAA,MAAM,EAAEL,KAAK,GAAGT,aALR;AAMRK,IAAAA,IAAI,EAAG,KAAID,IAAK,EANR;AAORW,IAAAA,WAAW,EAAG,KAAIX,IAAI,GAAGP,IAAK,EAPtB,EAAV;;;AAUAnB,EAAAA,GAAG,CAACsC,MAAJ;AACD","sourcesContent":["import path from \"path\";\nimport getComponentFiles from \"../../util/get-component-files\";\n\nconst STYLE_REG = /^style((?:\\.[^\\s\\\\/:*?\"<>|({]+)+)?\\s*\\{/;\n\nexport default function (tag) {\n const { hub, node } = tag;\n const { deps } = hub.file.metadata.marko;\n const { rawValue } = node;\n const matchedBlock = STYLE_REG.exec(rawValue);\n if (!matchedBlock) {\n return;\n }\n\n if (!tag.parentPath.isProgram()) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n \"Style blocks must be at the root of your Marko template.\"\n );\n }\n\n if (deps.some(dep => dep.style)) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n \"A Marko file can only contain a single inline style block.\"\n );\n }\n\n if (getComponentFiles(tag).styleFile) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n 'A Marko file can either have an inline style block, or an external \"style.ext\" file, but not both.'\n );\n }\n\n const [startContent, type = \".css\"] = matchedBlock;\n const codeSartOffset = startContent.length;\n const codeEndOffset = rawValue.lastIndexOf(\"}\");\n const code = rawValue.slice(codeSartOffset, codeEndOffset);\n const base = path.basename(hub.file.opts.filename);\n const start = node.extra && node.extra.nameStart;\n\n deps.push({\n type: type.slice(1),\n code,\n style: true,\n startPos: start + codeSartOffset,\n endPos: start + codeEndOffset,\n path: `./${base}`,\n virtualPath: `./${base + type}`\n });\n\n tag.remove();\n}\n"],"file":"transform-style.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-await.js"],"names":["enter","path","args","get","length","buildCodeFrameError","loc","start","node","end","hub","file","provider","pushContainer","t","markoAttribute","some","attr","stringLiteral","toString","set","undefined"],"mappings":"6DAAA;;AAEO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,QAAMC,IAAI,GAAGD,IAAI,CAACE,GAAL,CAAS,WAAT,CAAb;;AAEA,MAAI,CAACD,IAAI,CAACE,MAAV,EAAkB;AAChB,UAAMH,IAAI;AACPE,IAAAA,GADG,CACC,MADD;AAEHE,IAAAA,mBAFG;AAGF,uFAHE,CAAN;;AAKD,GAND,MAMO,IAAIH,IAAI,CAACE,MAAL,GAAc,CAAlB,EAAqB;AAC1B,UAAM;AACJE,MAAAA,GAAG,EAAE,EAAEC,KAAF,EADD;AAEFL,IAAAA,IAAI,CAAC,CAAD,CAAJ,CAAQM,IAFZ;AAGA,UAAM;AACJF,MAAAA,GAAG,EAAE,EAAEG,GAAF,EADD;AAEFP,IAAAA,IAAI,CAACA,IAAI,CAACE,MAAL,GAAc,CAAf,CAAJ,CAAsBI,IAF1B;AAGA,UAAMP,IAAI,CAACS,GAAL,CAASC,IAAT,CAAcN,mBAAd;AACJ,MAAEC,GAAG,EAAE,EAAEC,KAAF,EAASE,GAAT,EAAP,EADI;AAEJ,0DAFI,CAAN;;AAID;;AAED,QAAM,CAACG,QAAD,IAAaV,IAAnB;AACAD,EAAAA,IAAI,CAACY,aAAL;AACE,cADF;AAEEC,kBAAEC,cAAF,CAAiB,WAAjB,EAA8BH,QAAQ,CAACJ,IAAvC,CAFF;;;AAKA,MAAI,CAACP,IAAI,CAACE,GAAL,CAAS,YAAT,EAAuBa,IAAvB,CAA4B,CAAAC,IAAI,KAAIA,IAAI,CAACd,GAAL,CAAS,MAAT,EAAiBK,IAAjB,KAA0B,MAA9D,CAAL,EAA4E;AAC1EP,IAAAA,IAAI,CAACY,aAAL;AACE,gBADF;AAEEC,oBAAEC,cAAF,CAAiB,OAAjB,EAA0BD,gBAAEI,aAAF,CAAgBN,QAAQ,CAACO,QAAT,EAAhB,CAA1B,CAFF;;AAID;;AAEDlB,EAAAA,IAAI,CAACmB,GAAL,CAAS,WAAT,EAAsBC,SAAtB;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\n\nexport function enter(path) {\n const args = path.get(\"arguments\");\n\n if (!args.length) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n 'You must provide a promise argument to the \"<await>\" tag, eg: \"<await(promise)>\".'\n );\n } else if (args.length > 1) {\n const {\n loc: { start }\n } = args[1].node;\n const {\n loc: { end }\n } = args[args.length - 1].node;\n throw path.hub.file.buildCodeFrameError(\n { loc: { start, end } },\n 'You can only pass one argument to the \"<await>\" tag.'\n );\n }\n\n const [provider] = args;\n path.pushContainer(\n \"attributes\",\n t.markoAttribute(\"_provider\", provider.node)\n );\n\n if (!path.get(\"attributes\").some(attr => attr.get(\"name\").node === \"name\")) {\n path.pushContainer(\n \"attributes\",\n t.markoAttribute(\"_name\", t.stringLiteral(provider.toString()))\n );\n }\n\n path.set(\"arguments\", undefined);\n}\n"],"file":"translate-await.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-body.js"],"names":["enter","path","hub","file","markoOpts","output","body","get","pushContainer","t","markoTag","stringLiteral","markoTagBody"],"mappings":"6DAAA;;AAEO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7C,UAAMC,IAAI,GAAGL,IAAI,CAACM,GAAL,CAAS,MAAT,CAAb;;AAEAD,IAAAA,IAAI,CAACE,aAAL,CAAmB,MAAnB,EAA2B;AACzBC,oBAAEC,QAAF,CAAWD,gBAAEE,aAAF,CAAgB,iBAAhB,CAAX,EAA+C,EAA/C,EAAmDF,gBAAEG,YAAF,EAAnD,CADyB;AAEzBH,oBAAEC,QAAF,CAAWD,gBAAEE,aAAF,CAAgB,iBAAhB,CAAX,EAA+C,EAA/C,EAAmDF,gBAAEG,YAAF,EAAnD,CAFyB;AAGzBH,oBAAEC,QAAF;AACED,oBAAEE,aAAF,CAAgB,4BAAhB,CADF;AAEE,MAFF;AAGEF,oBAAEG,YAAF,EAHF,CAHyB,CAA3B;;;AASD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\n\nexport function enter(path) {\n if (path.hub.file.markoOpts.output === \"html\") {\n const body = path.get(\"body\");\n\n body.pushContainer(\"body\", [\n t.markoTag(t.stringLiteral(\"init-components\"), [], t.markoTagBody()),\n t.markoTag(t.stringLiteral(\"await-reorderer\"), [], t.markoTagBody()),\n t.markoTag(\n t.stringLiteral(\"_preferred-script-location\"),\n [],\n t.markoTagBody()\n )\n ]);\n }\n}\n"],"file":"translate-body.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-for.js"],"names":["exit","path","node","attributes","body","params","namePath","get","ofAttr","findName","inAttr","fromAttr","toAttr","block","t","blockStatement","forNode","allowedAttributes","push","keyParam","valParam","buildCodeFrameError","unshift","variableDeclaration","variableDeclarator","memberExpression","value","forInStatement","ofAttrValue","loopParam","indexName","scope","generateUidIdentifier","name","numericLiteral","updateExpression","forOfStatement","stepAttr","stepValue","indexParam","stepsName","stepName","binaryExpression","forStatement","replaceWithMultiple","concat","arr","find","obj"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { assertAllowedAttributes } from \"@marko/babel-utils\";\n\nexport function exit(path) {\n const { node } = path;\n const {\n attributes,\n body: { body, params }\n } = node;\n const namePath = path.get(\"name\");\n const ofAttr = findName(attributes, \"of\");\n const inAttr = findName(attributes, \"in\");\n const fromAttr = findName(attributes, \"from\");\n const toAttr = findName(attributes, \"to\");\n const block = t.blockStatement(body);\n let forNode;\n let allowedAttributes = [\"by\"];\n\n if (inAttr) {\n allowedAttributes.push(\"in\");\n\n const [keyParam, valParam] = params;\n\n if (!keyParam) {\n throw namePath.buildCodeFrameError(\n \"Invalid 'for in' tag, missing |key, value| params.\"\n );\n }\n\n if (valParam) {\n block.body.unshift(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n valParam,\n t.memberExpression(inAttr.value, keyParam, true)\n )\n ])\n );\n }\n\n forNode = t.forInStatement(\n t.variableDeclaration(\"const\", [t.variableDeclarator(keyParam)]),\n inAttr.value,\n block\n );\n } else if (ofAttr) {\n let ofAttrValue = ofAttr.value;\n allowedAttributes.push(\"of\");\n\n const [valParam, keyParam, loopParam] = params;\n\n if (!valParam) {\n throw namePath.buildCodeFrameError(\n \"Invalid 'for of' tag, missing |value, index| params.\"\n );\n }\n\n forNode = [];\n\n if (keyParam) {\n const indexName = path.scope.generateUidIdentifier(keyParam.name);\n forNode.push(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(indexName, t.numericLiteral(0))\n ])\n );\n\n block.body.unshift(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(keyParam, t.updateExpression(\"++\", indexName))\n ])\n );\n }\n\n if (loopParam) {\n ofAttrValue = loopParam;\n forNode.push(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(loopParam, ofAttr.value)\n ])\n );\n }\n\n forNode.push(\n t.forOfStatement(\n t.variableDeclaration(\"const\", [t.variableDeclarator(valParam)]),\n ofAttrValue,\n block\n )\n );\n } else if (fromAttr && toAttr) {\n allowedAttributes.push(\"from\", \"to\", \"step\");\n\n const stepAttr = findName(attributes, \"step\") || {\n value: t.numericLiteral(1)\n };\n const stepValue = stepAttr ? stepAttr.value : t.numericLiteral(1);\n const [indexParam] = params;\n const stepsName = path.scope.generateUidIdentifier(\"steps\");\n const stepName = path.scope.generateUidIdentifier(\"step\");\n\n if (indexParam) {\n block.body.unshift(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n indexParam,\n t.binaryExpression(\n \"+\",\n fromAttr.value,\n t.binaryExpression(\"*\", stepName, stepValue)\n )\n )\n ])\n );\n }\n\n forNode = t.forStatement(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(\n stepsName,\n t.binaryExpression(\n \"/\",\n t.binaryExpression(\"-\", toAttr.value, fromAttr.value),\n stepValue\n )\n ),\n t.variableDeclarator(stepName, t.numericLiteral(0))\n ]),\n t.binaryExpression(\"<=\", stepName, stepsName),\n t.updateExpression(\"++\", stepName),\n block\n );\n } else {\n throw namePath.buildCodeFrameError(\n \"Invalid 'for' tag, missing an 'of', 'in' or 'to' attribute.\"\n );\n }\n\n assertAllowedAttributes(path, allowedAttributes);\n path.replaceWithMultiple([].concat(forNode));\n}\n\nfunction findName(arr, value) {\n return arr.find(obj => obj.name === value);\n}\n"],"file":"translate-for.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-html-comment.js"],"names":["enter","path","hub","file","markoOpts","output","replaceWithMultiple","node","body","remove"],"mappings":"kJAAA;;;;;AAKA;;AAEO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,gCAAaA,IAAb;AACA,kCAAeA,IAAf;AACA,sCAAmBA,IAAnB;;AAEA,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7CJ,IAAAA,IAAI,CAACK,mBAAL,CAAyB,CAAC,0BAAM,MAAP,EAAc,GAAGL,IAAI,CAACM,IAAL,CAAUC,IAAV,CAAeA,IAAhC,EAAsC,0BAAM,KAA5C,CAAzB;AACD,GAFD,MAEO;AACLP,IAAAA,IAAI,CAACQ,MAAL;AACD;AACF","sourcesContent":["import {\n assertNoArgs,\n assertNoParams,\n assertNoAttributes\n} from \"@marko/babel-utils\";\nimport write from \"../../util/html-out-write\";\n\nexport function enter(path) {\n assertNoArgs(path);\n assertNoParams(path);\n assertNoAttributes(path);\n\n if (path.hub.file.markoOpts.output === \"html\") {\n path.replaceWithMultiple([write`<!--`, ...path.node.body.body, write`-->`]);\n } else {\n path.remove();\n }\n}\n"],"file":"translate-html-comment.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-include-content.js"],"names":["enter","tag","hub","file","fs","markoOpts","fileSystem","tagName","get","node","value","tagExample","args","length","buildCodeFrameError","content","isStringLiteral","dir","path","dirname","opts","filename","fullPath","resolve","stat","statSync","isFile","Error","replaceWith","t","markoPlaceholder","stringLiteral","readFileSync","toString"],"mappings":"kJAAA;AACA;AACA;;AAEO,SAASA,KAAT,CAAeC,GAAf,EAAoB;AACzB,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFF,EAAAA,GAFJ;AAGA,kCAAeA,GAAf;AACA,sCAAmBA,GAAnB;;AAEA,QAAMG,EAAE,GAAGD,IAAI,CAACE,SAAL,CAAeC,UAA1B;AACA,QAAMC,OAAO,GAAGN,GAAG,CAACO,GAAJ,CAAQ,MAAR,EAAgBC,IAAhB,CAAqBC,KAArC;AACA,QAAMC,UAAU,GAAI,IAAGJ,OAAQ,yBAA/B;AACA,QAAMK,IAAI,GAAGX,GAAG,CAACO,GAAJ,CAAQ,WAAR,CAAb;;AAEA,MAAII,IAAI,CAACC,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAMZ,GAAG,CAACa,mBAAJ;AACH,8CAAyCH,UAAW,GADjD,CAAN;;AAGD;;AAED,QAAM,CAACI,OAAD,IAAYH,IAAlB;;AAEA,MAAI,CAACG,OAAO,CAACC,eAAR,EAAL,EAAgC;AAC9B,UAAMD,OAAO,CAACD,mBAAR;AACH,uBAAkBH,UAAW,2BAD1B,CAAN;;AAGD;;AAED,QAAMM,GAAG,GAAGC,cAAKC,OAAL,CAAahB,IAAI,CAACiB,IAAL,CAAUC,QAAvB,CAAZ;AACA,QAAMC,QAAQ,GAAGJ,cAAKK,OAAL,CAAaN,GAAb,EAAkBF,OAAO,CAACN,IAAR,CAAaC,KAA/B,CAAjB;;AAEA,MAAI;AACF,UAAMc,IAAI,GAAGpB,EAAE,CAACqB,QAAH,CAAYH,QAAZ,CAAb;;AAEA,QAAI,CAACE,IAAI,CAACE,MAAL,EAAL,EAAoB;AAClB,YAAM,IAAIC,KAAJ,EAAN;AACD;AACF,GAND,CAME,MAAM;AACN,UAAMZ,OAAO,CAACD,mBAAR,CAA6B,4BAA2BP,OAAQ,IAAhE,CAAN;AACD;;AAEDN,EAAAA,GAAG,CAAC2B,WAAJ;AACEC,kBAAEC,gBAAF;AACED,kBAAEE,aAAF,CAAgB3B,EAAE,CAAC4B,YAAH,CAAgBV,QAAhB,EAA0BW,QAA1B,CAAmC,OAAnC,CAAhB,CADF;AAEE1B,EAAAA,OAAO,KAAK,cAFd,CADF;;;AAMD","sourcesContent":["import path from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport { assertNoParams, assertNoAttributes } from \"@marko/babel-utils\";\n\nexport function enter(tag) {\n const {\n hub: { file }\n } = tag;\n assertNoParams(tag);\n assertNoAttributes(tag);\n\n const fs = file.markoOpts.fileSystem;\n const tagName = tag.get(\"name\").node.value;\n const tagExample = `<${tagName}(\"./path-to-file.ext\")>`;\n const args = tag.get(\"arguments\");\n\n if (args.length !== 1) {\n throw tag.buildCodeFrameError(\n `A single path argument is required for ${tagExample}.`\n );\n }\n\n const [content] = args;\n\n if (!content.isStringLiteral()) {\n throw content.buildCodeFrameError(\n `The argument to ${tagExample} must be a static string.`\n );\n }\n\n const dir = path.dirname(file.opts.filename);\n const fullPath = path.resolve(dir, content.node.value);\n\n try {\n const stat = fs.statSync(fullPath);\n\n if (!stat.isFile()) {\n throw new Error();\n }\n } catch {\n throw content.buildCodeFrameError(`Unable to find file for <${tagName}>.`);\n }\n\n tag.replaceWith(\n t.markoPlaceholder(\n t.stringLiteral(fs.readFileSync(fullPath).toString(\"utf-8\")),\n tagName === \"include-text\"\n )\n );\n}\n"],"file":"translate-include-content.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-server-only.js"],"names":["enter","path","hub","file","markoOpts","output","remove"],"mappings":"6DAAO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7CJ,IAAAA,IAAI,CAACK,MAAL;AACD;AACF","sourcesContent":["export function enter(path) {\n if (path.hub.file.markoOpts.output !== \"html\") {\n path.remove();\n }\n}\n"],"file":"translate-server-only.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-while.js"],"names":["exit","path","arg","get","buildCodeFrameError","replaceWith","t","whileStatement","blockStatement","node","body"],"mappings":"gJAAA;AACA;;;;;AAKA;;AAEO,SAASA,IAAT,CAAcC,IAAd,EAAoB;AACzB,kCAAeA,IAAf;AACA,sCAAmBA,IAAnB;AACA,QAAMC,GAAG,GAAG,kCAAiBD,IAAjB,CAAZ;;AAEA,MAAI,CAACC,GAAL,EAAU;AACR,UAAMD,IAAI;AACPE,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,6DAHE,CAAN;;AAKD;;AAEDH,EAAAA,IAAI,CAACI,WAAL;AACE;AACEC,kBAAEC,cAAF;AACE,oCAAiBN,IAAjB,CADF;AAEEK,kBAAEE,cAAF,CAAiBP,IAAI,CAACQ,IAAL,CAAUC,IAAV,CAAeA,IAAhC,CAFF,CADF;;AAKET,EAAAA,IAAI,CAACQ,IALP,CADF;;;AASD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n getArgOrSequence,\n assertNoAttributes,\n assertNoParams\n} from \"@marko/babel-utils\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nexport function exit(path) {\n assertNoParams(path);\n assertNoAttributes(path);\n const arg = getArgOrSequence(path);\n\n if (!arg) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n \"A condition is required for the <while(condition)> tag.\"\n );\n }\n\n path.replaceWith(\n withPreviousLocation(\n t.whileStatement(\n getArgOrSequence(path),\n t.blockStatement(path.node.body.body)\n ),\n path.node\n )\n );\n}\n"],"file":"translate-while.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/taglib/index.js"],"names":["coreTaglib","migrateTaglib"],"mappings":"qJAAA;AACA,4D;AACe;AACb,CAAC,YAAD,EAAeA,aAAf,CADa;AAEb,CAAC,eAAD,EAAkBC,gBAAlB,CAFa,C","sourcesContent":["import coreTaglib from \"./core\";\nimport migrateTaglib from \"./migrate\";\nexport default [\n [\"marko/core\", coreTaglib],\n [\"marko/migrate\", migrateTaglib]\n];\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/migrate/all-templates.js"],"names":["ReferencedIdentifier","path","node","name","scope","hasBinding","replaceWith","t","identifier"],"mappings":"qJAAA;AACA,iG;;AAEe;AACbA,EAAAA,oBAAoB,CAACC,IAAD,EAAO;AACzB,QAAIA,IAAI,CAACC,IAAL,CAAUC,IAAV,KAAmB,MAAnB,IAA6B,CAACF,IAAI,CAACG,KAAL,CAAWC,UAAX,CAAsB,MAAtB,CAAlC,EAAiE;AAC/DJ,MAAAA,IAAI,CAACK,WAAL,CAAiB,mCAAqBC,gBAAEC,UAAF,CAAa,OAAb,CAArB,EAA4CP,IAAI,CAACC,IAAjD,CAAjB;AACD;AACF,GALY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nexport default {\n ReferencedIdentifier(path) {\n if (path.node.name === \"data\" && !path.scope.hasBinding(\"data\")) {\n path.replaceWith(withPreviousLocation(t.identifier(\"input\"), path.node));\n }\n }\n};\n"],"file":"all-templates.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/migrate/index.js"],"names":["migrator","migrateAllTemplates"],"mappings":"gEAAA,8E;AACe;AACb,eAAa,uBADA;AAEbA,EAAAA,QAAQ,EAAEC,mBAFG,E","sourcesContent":["import * as migrateAllTemplates from \"./all-templates\";\nexport default {\n \"taglib-id\": \"marko-default-migrate\",\n migrator: migrateAllTemplates\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/text/index.js"],"names":["path","hub","file","markoOpts","output"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7C,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 if (path.hub.file.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/text/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,GAAEC,gBAAEC,aAAF,CAAgBH,IAAI,CAACI,KAArB,CAA4B,EAAzD,EAA4DJ,IAA5D,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/text/index[vdom].js"],"names":["path","node","replaceWith","t","stringLiteral","value","hub","file","_componentInstanceIdentifier"],"mappings":"uJAAA;AACA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEAA,EAAAA,IAAI,CAACE,WAAL;AACE;AACE;AACE,KADF;AAEEC,kBAAEC,aAAF,CAAgB,gBAAOH,IAAI,CAACI,KAAZ,CAAhB,CAFF;AAGEL,EAAAA,IAAI,CAACM,GAAL,CAASC,IAAT,CAAcC,4BAHhB,CADF;;AAMEP,EAAAA,IANF,CADF;;;AAUD","sourcesContent":["import { decode } from \"he\";\nimport { 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(\n write(\n \"t\",\n t.stringLiteral(decode(node.value)),\n path.hub.file._componentInstanceIdentifier\n ),\n node\n )\n );\n}\n"],"file":"index[vdom].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/add-dependencies.js"],"names":["entryFile","isHydrate","modules","resolveVirtualDependency","hydrateIncludeImports","markoOpts","hydratedFiles","Set","program","path","shouldIncludeImport","toTestFn","addBrowserDeps","registerId","t","identifier","watchFiles","hasComponents","splitComponentIndex","set","skip","addHydrateDeps","metadata","marko","Array","from","initId","markoComponentsImport","importPath","resolvePath","specifiers","push","importSpecifier","unshiftContainer","pushContainer","expressionStatement","callExpression","runtimeId","stringLiteral","file","meta","resolved","opts","filename","has","add","component","basename","watchFile","imported","imports","tag","tags","endsWith","splitComponentId","splitComponentImport","importDefaultSpecifier","id","sourceMaps","s","dep","deps","virtualPath","code","map","startPos","undefined","MagicString","source","snip","endPos","generateMap","includeContent","style","toUrl","startsWith","req","join","importDeclaration","val","test","bind"],"mappings":"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","sourcesContent":["import path from \"path\";\nimport MagicString from \"magic-string\";\nimport { types as t } from \"@marko/compiler\";\nimport { loadFileForImport, resolveRelativePath } from \"@marko/babel-utils\";\n\nexport default (entryFile, isHydrate) => {\n const { modules, resolveVirtualDependency, hydrateIncludeImports } =\n entryFile.markoOpts;\n const hydratedFiles = new Set();\n const program = entryFile.path;\n const shouldIncludeImport = toTestFn(hydrateIncludeImports);\n\n if (!isHydrate) {\n addBrowserDeps(entryFile);\n return;\n }\n\n const registerId = t.identifier(\"register\");\n const watchFiles = new Set();\n let hasComponents = false;\n let splitComponentIndex = 0;\n program.set(\"body\", []);\n program.skip();\n\n addHydrateDeps(entryFile);\n entryFile.metadata.marko.watchFiles = Array.from(watchFiles);\n\n if (hasComponents) {\n const initId = t.identifier(\"init\");\n const markoComponentsImport = importPath(\n resolvePath(entryFile, \"marko/src/runtime/components/index.js\")\n );\n if (splitComponentIndex) {\n markoComponentsImport.specifiers.push(\n t.importSpecifier(registerId, registerId)\n );\n }\n markoComponentsImport.specifiers.push(t.importSpecifier(initId, initId));\n program.unshiftContainer(\"body\", markoComponentsImport);\n program.pushContainer(\n \"body\",\n t.expressionStatement(\n t.callExpression(\n initId,\n entryFile.markoOpts.runtimeId\n ? [t.stringLiteral(entryFile.markoOpts.runtimeId)]\n : []\n )\n )\n );\n }\n\n function addHydrateDeps(file) {\n const meta = file.metadata.marko;\n const resolved = resolveRelativePath(entryFile, file.opts.filename);\n if (hydratedFiles.has(resolved)) return;\n\n hydratedFiles.add(resolved);\n\n if (meta.component) {\n hasComponents = true;\n\n if (path.basename(meta.component) === path.basename(file.opts.filename)) {\n // Stateful component.\n program.pushContainer(\"body\", importPath(resolved));\n return;\n }\n }\n\n watchFiles.add(file.opts.filename);\n\n for (const watchFile of meta.watchFiles) {\n watchFiles.add(watchFile);\n }\n\n addBrowserDeps(file);\n\n for (const imported of meta.imports) {\n if (shouldIncludeImport(imported)) {\n program.pushContainer(\"body\", importPath(resolvePath(file, imported)));\n }\n }\n\n for (const tag of meta.tags) {\n if (tag.endsWith(\".marko\")) {\n if (!hydratedFiles.has(resolvePath(file, tag))) {\n addHydrateDeps(loadFileForImport(file, tag));\n }\n }\n }\n\n if (meta.component) {\n // Split component\n const splitComponentId = t.identifier(\n `component_${splitComponentIndex++}`\n );\n const splitComponentImport = importPath(\n resolvePath(file, meta.component)\n );\n splitComponentImport.specifiers.push(\n t.importDefaultSpecifier(splitComponentId)\n );\n program.pushContainer(\"body\", splitComponentImport);\n program.pushContainer(\n \"body\",\n t.expressionStatement(\n t.callExpression(registerId, [\n t.stringLiteral(meta.id),\n splitComponentId\n ])\n )\n );\n }\n }\n\n function addBrowserDeps(file) {\n const { filename, sourceMaps } = file.opts;\n let s;\n\n for (let dep of file.metadata.marko.deps) {\n if (typeof dep !== \"string\") {\n const { virtualPath } = dep;\n let { code } = dep;\n let map;\n\n if (sourceMaps && dep.startPos !== undefined) {\n s = s || new MagicString(file.code, { source: filename });\n map = s.snip(dep.startPos, dep.endPos).generateMap({\n source: filename,\n includeContent: true\n });\n\n if (sourceMaps === \"inline\" || sourceMaps === \"both\") {\n code += dep.style\n ? `\\n/*# sourceMappingURL=${map.toUrl()}*/`\n : `\\n//# sourceMappingURL=${map.toUrl()}`;\n\n if (sourceMaps === \"inline\") {\n map = undefined;\n }\n }\n }\n\n dep = resolveVirtualDependency(filename, {\n map,\n code,\n virtualPath\n });\n } else if (dep.startsWith(\"package:\")) {\n continue;\n }\n\n program.pushContainer(\"body\", importPath(resolvePath(file, dep)));\n }\n }\n\n function resolvePath(file, req) {\n return file === entryFile\n ? resolveRelativePath(file, req)\n : resolveRelativePath(\n entryFile,\n path.join(file.opts.filename, \"..\", req)\n );\n }\n\n function importPath(path) {\n if (modules === \"cjs\") {\n return t.expressionStatement(\n t.callExpression(t.identifier(\"require\"), [t.stringLiteral(path)])\n );\n }\n\n return t.importDeclaration([], t.stringLiteral(path));\n }\n};\n\nfunction toTestFn(val) {\n if (typeof val === \"function\") {\n return val;\n }\n\n return val.test.bind(val);\n}\n"],"file":"add-dependencies.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/get-component-files.js"],"names":["COMPONENT_FILES_KEY","Symbol","getComponentFiles","hub","file","meta","metadata","marko","filename","opts","fs","markoOpts","fileSystem","ext","path","extname","dirname","dirFiles","readdirSync","sort","nameNoExt","basename","isEntry","fileMatch","styleMatch","RegExp","componentMatch","splitComponentMatch","packageMatch","styleFile","packageFile","componentFile","componentBrowserFile","test","hasComponent","hasComponentBrowser"],"mappings":"gKAAA;AACA;;AAEA,MAAMA,mBAAmB,GAAGC,MAAM,EAAlC;;AAEe,SAASC,iBAAT,CAA2B,EAAEC,GAAG,EAAE,EAAEC,IAAF,EAAP,EAA3B,EAA8C;AAC3D,QAAMC,IAAI,GAAGD,IAAI,CAACE,QAAL,CAAcC,KAA3B;;AAEA,MAAIF,IAAI,CAACL,mBAAD,CAAR,EAA+B;AAC7B,WAAOK,IAAI,CAACL,mBAAD,CAAX;AACD;;AAED,QAAM,EAAEQ,QAAF,KAAeJ,IAAI,CAACK,IAA1B;AACA,QAAMC,EAAE,GAAGN,IAAI,CAACO,SAAL,CAAeC,UAA1B;AACA,QAAMC,GAAG,GAAGC,cAAKC,OAAL,CAAaP,QAAb,CAAZ;AACA,QAAMQ,OAAO,GAAGF,cAAKE,OAAL,CAAaR,QAAb,CAAhB;AACA,QAAMS,QAAQ,GAAGP,EAAE,CAACQ,WAAH,CAAeF,OAAf,EAAwBG,IAAxB,EAAjB;AACA,QAAMC,SAAS,GAAGN,cAAKO,QAAL,CAAcb,QAAd,EAAwBK,GAAxB,CAAlB;AACA,QAAMS,OAAO,GAAG,YAAYF,SAA5B;AACA,QAAMG,SAAS,GAAI,IAAG,iCAAaH,SAAb,CAAwB,MAAKE,OAAO,GAAG,GAAH,GAAS,EAAG,GAAtE;AACA,QAAME,UAAU,GAAG,IAAIC,MAAJ,CAAY,IAAGF,SAAU,eAAzB,CAAnB;AACA,QAAMG,cAAc,GAAG,IAAID,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAAvB;AACA,QAAMI,mBAAmB,GAAG,IAAIF,MAAJ;AACzB,MAAGF,SAAU,2BADY,CAA5B;;AAGA,QAAMK,YAAY,GAAG,IAAIH,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAArB;AACA,MAAIM,SAAJ;AACA,MAAIC,WAAJ;AACA,MAAIC,aAAJ;AACA,MAAIC,oBAAJ;;AAEA,OAAK,MAAM5B,IAAX,IAAmBa,QAAnB,EAA6B;AAC3B,QAAI,CAACY,SAAD,IAAcL,UAAU,CAACS,IAAX,CAAgB7B,IAAhB,CAAlB,EAAyC;AACvCyB,MAAAA,SAAS,GAAI,KAAIzB,IAAK,EAAtB;AACD,KAFD,MAEO,IAAI,CAAC0B,WAAD,IAAgBF,YAAY,CAACK,IAAb,CAAkB7B,IAAlB,CAApB,EAA6C;AAClD0B,MAAAA,WAAW,GAAI,KAAI1B,IAAK,EAAxB;AACD,KAFM,MAEA,IAAI,CAAC2B,aAAD,IAAkBL,cAAc,CAACO,IAAf,CAAoB7B,IAApB,CAAtB,EAAiD;AACtD2B,MAAAA,aAAa,GAAI,KAAI3B,IAAK,EAA1B;AACAC,MAAAA,IAAI,CAAC6B,YAAL,GAAoB,IAApB;AACD,KAHM,MAGA,IAAI,CAACF,oBAAD,IAAyBL,mBAAmB,CAACM,IAApB,CAAyB7B,IAAzB,CAA7B,EAA6D;AAClE4B,MAAAA,oBAAoB,GAAI,KAAI5B,IAAK,EAAjC;AACAC,MAAAA,IAAI,CAAC8B,mBAAL,GAA2B,IAA3B;AACD;AACF;;AAED,SAAQ9B,IAAI,CAACL,mBAAD,CAAJ,GAA4B;AAClC6B,IAAAA,SADkC;AAElCC,IAAAA,WAFkC;AAGlCC,IAAAA,aAHkC;AAIlCC,IAAAA,oBAJkC,EAApC;;AAMD","sourcesContent":["import path from \"path\";\nimport escapeRegExp from \"escape-string-regexp\";\n\nconst COMPONENT_FILES_KEY = Symbol();\n\nexport default function getComponentFiles({ hub: { file } }) {\n const meta = file.metadata.marko;\n\n if (meta[COMPONENT_FILES_KEY]) {\n return meta[COMPONENT_FILES_KEY];\n }\n\n const { filename } = file.opts;\n const fs = file.markoOpts.fileSystem;\n const ext = path.extname(filename);\n const dirname = path.dirname(filename);\n const dirFiles = fs.readdirSync(dirname).sort();\n const nameNoExt = path.basename(filename, ext);\n const isEntry = \"index\" === nameNoExt;\n const fileMatch = `(${escapeRegExp(nameNoExt)}\\\\.${isEntry ? \"|\" : \"\"})`;\n const styleMatch = new RegExp(`^${fileMatch}style\\\\.\\\\w+$`);\n const componentMatch = new RegExp(`^${fileMatch}component\\\\.\\\\w+$`);\n const splitComponentMatch = new RegExp(\n `^${fileMatch}component-browser\\\\.\\\\w+$`\n );\n const packageMatch = new RegExp(`^${fileMatch}browser\\\\.\\\\json$`);\n let styleFile;\n let packageFile;\n let componentFile;\n let componentBrowserFile;\n\n for (const file of dirFiles) {\n if (!styleFile && styleMatch.test(file)) {\n styleFile = `./${file}`;\n } else if (!packageFile && packageMatch.test(file)) {\n packageFile = `./${file}`;\n } else if (!componentFile && componentMatch.test(file)) {\n componentFile = `./${file}`;\n meta.hasComponent = true;\n } else if (!componentBrowserFile && splitComponentMatch.test(file)) {\n componentBrowserFile = `./${file}`;\n meta.hasComponentBrowser = true;\n }\n }\n\n return (meta[COMPONENT_FILES_KEY] = {\n styleFile,\n packageFile,\n componentFile,\n componentBrowserFile\n });\n}\n"],"file":"get-component-files.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/html-out-write.js"],"names":["write","strings","expressions","template","t","expressionStatement","callExpression","memberExpression","identifier"],"mappings":"+DAAA;AACA;;AAEe,SAASA,KAAT,CAAeC,OAAf,EAAwB,GAAGC,WAA3B,EAAwC;AACrD,QAAMC,QAAQ,GAAG,yCAAwBF,OAAxB,EAAiC,GAAGC,WAApC,CAAjB;;AAEA,MAAIC,QAAJ,EAAc;AACZ,WAAOC,gBAAEC,mBAAF;AACLD,oBAAEE,cAAF;AACEF,oBAAEG,gBAAF,CAAmBH,gBAAEI,UAAF,CAAa,KAAb,CAAnB,EAAwCJ,gBAAEI,UAAF,CAAa,GAAb,CAAxC,CADF;AAEE,KAACL,QAAD,CAFF,CADK,CAAP;;;AAMD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { normalizeTemplateString } from \"@marko/babel-utils\";\n\nexport default function write(strings, ...expressions) {\n const template = normalizeTemplateString(strings, ...expressions);\n\n if (template) {\n return t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"w\")),\n [template]\n )\n );\n }\n}\n"],"file":"html-out-write.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/key-manager.js"],"names":["KeyManagerLookup","WeakMap","getKeyManager","path","hub","get","set","KeyManager","hasAutoKey","key","node","Boolean","_isAutoKey","hasUserKey","_hasUserKey","constructor","_nextKey","nextKey","Object","assign","t","stringLiteral","String","resolveKey","firstChildTag","find","child","isMarkoTag","firstChildKey","getUserKey","keyValueIdentifier","scope","generateUidIdentifier","insertBefore","variableDeclaration","variableDeclarator","crawl","parentKeyScope","getParentKeyScope","autoKey","binaryExpression","parentLoopTag","findParent","isLoopTag","getKeyScope","existingKeyScope","keyScopeIdentifier","firstChildKeyValue","valuePath","getOwnBinding","name","declarationPath","parentPath","pushContainer","keyValue","attributes","some","attr","body","params","numericLiteral","updateExpression","unshiftContainer","undefined","keyAttr","remove"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n normalizeTemplateString,\n isTransparentTag,\n isLoopTag\n} from \"@marko/babel-utils\";\nconst KeyManagerLookup = new WeakMap();\n\n/**\n * @returns {KeyManager}\n */\nexport function getKeyManager(path) {\n const { hub } = path;\n return (\n KeyManagerLookup.get(hub) ||\n KeyManagerLookup.set(hub, new KeyManager()).get(hub)\n );\n}\n\nexport function hasAutoKey(path) {\n const key = path.get(\"key\").node;\n return Boolean(key && key._isAutoKey);\n}\n\nexport function hasUserKey(path) {\n return path.node._hasUserKey;\n}\n\nclass KeyManager {\n constructor() {\n this._nextKey = 0;\n }\n\n nextKey() {\n return Object.assign(t.stringLiteral(String(this._nextKey++)), {\n _isAutoKey: true\n });\n }\n\n resolveKey(path) {\n if (isLoopTag(path)) {\n // Record the first child key if found under a loop.\n const firstChildTag = path\n .get(\"body.body\")\n .find(child => child.isMarkoTag());\n const firstChildKey = firstChildTag && getUserKey(firstChildTag);\n\n if (firstChildKey) {\n const keyValueIdentifier = path.scope.generateUidIdentifier(\"keyValue\");\n firstChildTag.set(\"key\", keyValueIdentifier);\n firstChildTag.insertBefore(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(keyValueIdentifier, firstChildKey)\n ])\n );\n\n path.set(\"keyValue\", keyValueIdentifier);\n path.get(\"body\").scope.crawl();\n }\n return;\n }\n\n if (isTransparentTag(path)) {\n return;\n }\n\n if (getUserKey(path)) {\n return;\n }\n\n const parentKeyScope = getParentKeyScope(path);\n const autoKey = path.get(\"key\").node || this.nextKey();\n path.set(\n \"key\",\n parentKeyScope\n ? t.binaryExpression(\"+\", autoKey, parentKeyScope)\n : autoKey\n );\n }\n}\n\nfunction getParentKeyScope(path) {\n const parentLoopTag = path.findParent(isLoopTag);\n return parentLoopTag && getKeyScope(parentLoopTag);\n}\n\nfunction getKeyScope(path) {\n const existingKeyScope = path.get(\"keyScope\").node;\n if (existingKeyScope) {\n return existingKeyScope;\n }\n\n const keyScopeIdentifier = path.scope.generateUidIdentifier(\"keyScope\");\n const firstChildKeyValue = path.get(\"keyValue\").node;\n\n if (firstChildKeyValue) {\n const valuePath = path\n .get(\"body\")\n .scope.getOwnBinding(firstChildKeyValue.name).path;\n const declarationPath = valuePath.parentPath;\n declarationPath.pushContainer(\n \"declarations\",\n t.variableDeclarator(\n keyScopeIdentifier,\n normalizeTemplateString`[${firstChildKeyValue}]`\n )\n );\n } else {\n let keyValue;\n\n if (path.get(\"name.value\").node === \"for\") {\n if (path.node.attributes.some(attr => attr.name === \"of\")) {\n keyValue = path.node.body.params[1];\n } else {\n keyValue = path.node.body.params[0];\n }\n }\n\n if (!keyValue) {\n const keyValueIdentifier = path.scope.generateUidIdentifier(\"keyValue\");\n path.insertBefore(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(keyValueIdentifier, t.numericLiteral(0))\n ])\n );\n\n keyValue = t.updateExpression(\"++\", keyValueIdentifier);\n }\n\n const parentKeyScope = getParentKeyScope(path);\n if (parentKeyScope) {\n keyValue = t.binaryExpression(\"+\", keyValue, parentKeyScope);\n }\n\n path\n .get(\"body\")\n .unshiftContainer(\n \"body\",\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n keyScopeIdentifier,\n normalizeTemplateString`[${keyValue}]`\n )\n ])\n );\n }\n\n path.set(\"keyScope\", keyScopeIdentifier);\n return keyScopeIdentifier;\n}\n\nfunction getUserKey(path) {\n if (hasAutoKey(path)) {\n return undefined;\n }\n\n let key = path.get(\"key\").node;\n if (key === undefined) {\n const keyAttr = path\n .get(\"attributes\")\n .find(attr => attr.get(\"name\").node === \"key\");\n\n if (keyAttr) {\n key = normalizeTemplateString`@${keyAttr.get(\"value\").node}`;\n path.node._hasUserKey = true;\n keyAttr.remove();\n } else {\n key = null;\n }\n\n path.set(\"key\", key);\n }\n\n return key;\n}\n"],"file":"key-manager.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/optimize-html-writes.js"],"names":["mergeWriteCallsVisitor","ExpressionStatement","path","curPath","quasis","expressions","removals","content","getOutContent","push","getNextSibling","forEach","removal","remove","length","get","replaceWith","optimizeHTMLWrites","hub","file","markoOpts","optimize","output","traverse","isExpressionStatement","isCallExpression","isMemberExpression","node"],"mappings":"uFAAA;;AAEA,MAAMA,sBAAsB,GAAG;AAC7BC,EAAAA,mBAAmB,CAACC,IAAD,EAAO;AACxB,QAAIC,OAAO,GAAGD,IAAd;AACA,UAAME,MAAM,GAAG,CAAC,EAAD,CAAf;AACA,UAAMC,WAAW,GAAG,EAApB;AACA,UAAMC,QAAQ,GAAG,EAAjB;;AAEA,OAAG;AACD,YAAMC,OAAO,GAAGC,aAAa,CAACL,OAAD,CAA7B;AACA,UAAI,CAACI,OAAL,EAAc;AACd,UAAIJ,OAAO,KAAKD,IAAhB,EAAsBI,QAAQ,CAACG,IAAT,CAAcN,OAAd;AACtBC,MAAAA,MAAM,CAACK,IAAP,CAAY,EAAZ;AACAJ,MAAAA,WAAW,CAACI,IAAZ,CAAiBF,OAAjB;AACD,KAND,QAMUJ,OAAO,GAAGA,OAAO,CAACO,cAAR,EANpB;;AAQAJ,IAAAA,QAAQ,CAACK,OAAT,CAAiB,CAAAC,OAAO,KAAIA,OAAO,CAACC,MAAR,EAA5B;;AAEA,QAAIR,WAAW,CAACS,MAAZ,GAAqB,CAAzB,EAA4B;AAC1BZ,MAAAA,IAAI;AACDa,MAAAA,GADH,CACO,wBADP;AAEGC,MAAAA,WAFH,CAEe,yCAAwBZ,MAAxB,EAAgC,GAAGC,WAAnC,CAFf;AAGD;AACF,GAtB4B,EAA/B;;;AAyBO,SAASY,kBAAT,CAA4Bf,IAA5B,EAAkC;AACvC,QAAM;AACJgB,IAAAA,GAAG,EAAE;AACHC,MAAAA,IAAI,EAAE,EAAEC,SAAF,EADH,EADD;;AAIFlB,EAAAA,IAJJ;;AAMA,MAAIkB,SAAS,CAACC,QAAV,IAAsBD,SAAS,CAACE,MAAV,KAAqB,MAA/C,EAAuD;AACrDpB,IAAAA,IAAI,CAACqB,QAAL,CAAcvB,sBAAd;AACD;AACF;;AAED,SAASQ,aAAT,CAAuBN,IAAvB,EAA6B;AAC3B,MAAIA,IAAI,CAACsB,qBAAL,EAAJ,EAAkC;AAChC,WAAOhB,aAAa,CAACN,IAAI,CAACa,GAAL,CAAS,YAAT,CAAD,CAApB;AACD;;AAED;AACEb,IAAAA,IAAI,CAACuB,gBAAL;AACAvB,IAAAA,IAAI,CAACa,GAAL,CAAS,QAAT,EAAmBW,kBAAnB,EADA;AAEAxB,IAAAA,IAAI,CAACa,GAAL,CAAS,oBAAT,EAA+BY,IAA/B,KAAwC,KAFxC;AAGAzB,IAAAA,IAAI,CAACa,GAAL,CAAS,sBAAT,EAAiCY,IAAjC,KAA0C,GAH1C;AAIAzB,IAAAA,IAAI,CAACa,GAAL,CAAS,aAAT,EAAwBY,IAL1B;;AAOD","sourcesContent":["import { normalizeTemplateString } from \"@marko/babel-utils\";\n\nconst mergeWriteCallsVisitor = {\n ExpressionStatement(path) {\n let curPath = path;\n const quasis = [\"\"];\n const expressions = [];\n const removals = [];\n\n do {\n const content = getOutContent(curPath);\n if (!content) break;\n if (curPath !== path) removals.push(curPath);\n quasis.push(\"\");\n expressions.push(content);\n } while ((curPath = curPath.getNextSibling()));\n\n removals.forEach(removal => removal.remove());\n\n if (expressions.length > 1) {\n path\n .get(\"expression.arguments.0\")\n .replaceWith(normalizeTemplateString(quasis, ...expressions));\n }\n }\n};\n\nexport function optimizeHTMLWrites(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n\n if (markoOpts.optimize && markoOpts.output === \"html\") {\n path.traverse(mergeWriteCallsVisitor);\n }\n}\n\nfunction getOutContent(path) {\n if (path.isExpressionStatement()) {\n return getOutContent(path.get(\"expression\"));\n }\n\n return (\n path.isCallExpression() &&\n path.get(\"callee\").isMemberExpression() &&\n path.get(\"callee.object.name\").node === \"out\" &&\n path.get(\"callee.property.name\").node === \"w\" &&\n path.get(\"arguments.0\").node\n );\n}\n"],"file":"optimize-html-writes.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/optimize-vdom-create.js"],"names":["staticNodes","WeakSet","mergeStaticCreateVisitor","MarkoText","path","state","node","currentRoot","t","callExpression","memberExpression","identifier","stringLiteral","value","MarkoPlaceholder","get","evaluate","toString","MarkoTag","attributes","find","a","name","resolveKey","writeArgs","analyzeStaticVisitor","add","escape","confident","enter","skip","exit","isStatic","body","params","length","arguments","tagDef","translator","every","attr","isMarkoAttribute","modifier","directives","attrValue","exclude","isObjectExpression","isArrayExpression","isRegExpLiteral","has","optimizeStaticVDOM","hub","file","shouldRun","markoOpts","parentPath","scope","generateUidIdentifier","traverse","d","variableDeclaration","variableDeclarator","push","replaceWith","_componentInstanceIdentifier","analyzeStaticVDOM","optimize","output"],"mappings":"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","sourcesContent":["import { decode } from \"he\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n importDefault,\n isNativeTag,\n isLoopTag,\n getTagDef\n} from \"@marko/babel-utils\";\nimport { getKeyManager } from \"./key-manager\";\nimport write from \"./vdom-out-write\";\nimport { tagArguments } from \"../tag/native-tag[vdom]\";\nimport directives from \"../tag/attribute/directives\";\n\nconst staticNodes = new WeakSet();\n\nconst mergeStaticCreateVisitor = {\n MarkoText(path, state) {\n const { node } = path;\n state.currentRoot = t.callExpression(\n t.memberExpression(state.currentRoot, t.identifier(\"t\")),\n [t.stringLiteral(decode(node.value))]\n );\n },\n MarkoPlaceholder(path, state) {\n const { value } = path.get(\"value\").evaluate();\n state.currentRoot = t.callExpression(\n t.memberExpression(state.currentRoot, t.identifier(\"t\")),\n [t.stringLiteral(value != null ? value.toString() : \"\")]\n );\n },\n MarkoTag(path, state) {\n if (path.node.attributes.find(a => a.name === \"key\"))\n getKeyManager(path).resolveKey(path);\n const writeArgs = tagArguments(path, true);\n state.currentRoot = t.callExpression(\n t.memberExpression(state.currentRoot, t.identifier(\"e\")),\n writeArgs\n );\n }\n};\n\nconst analyzeStaticVisitor = {\n MarkoText(path) {\n staticNodes.add(path.node);\n },\n MarkoPlaceholder(path) {\n if (path.node.escape) {\n const { confident } = path.get(\"value\").evaluate();\n if (confident) {\n staticNodes.add(path.node);\n }\n }\n },\n MarkoTag: {\n enter(path) {\n // needed to handle global keys on elements that don't have specific key attributes\n if (isLoopTag(path)) path.skip();\n },\n exit(path) {\n // check name\n let isStatic =\n isNativeTag(path) &&\n !path.node.body.params.length &&\n !path.node.arguments;\n\n const tagDef = getTagDef(path);\n isStatic = isStatic && !tagDef.translator;\n\n // check attributes\n isStatic =\n isStatic &&\n path.get(\"attributes\").every(attr => {\n if (\n !t.isMarkoAttribute(attr) ||\n attr.node.arguments ||\n attr.node.modifier ||\n directives[attr.node.name]\n )\n return false;\n\n const attrValue = attr.get(\"value\");\n const exclude =\n t.isObjectExpression(attrValue) ||\n t.isArrayExpression(attrValue) ||\n t.isRegExpLiteral(attrValue);\n if (exclude) return false;\n const { confident } = attrValue.evaluate();\n return confident;\n });\n\n // check children\n isStatic =\n isStatic &&\n path\n .get(\"body\")\n .get(\"body\")\n .every(t => staticNodes.has(t.node));\n\n if (isStatic) staticNodes.add(path.node);\n }\n }\n};\n\nexport function optimizeStaticVDOM(path) {\n const {\n hub: { file }\n } = path;\n\n if (\n !shouldRun(file.markoOpts) ||\n !staticNodes.has(path.node) ||\n staticNodes.has(path.parentPath.parentPath.node)\n ) {\n return;\n }\n\n const identifier = path.scope.generateUidIdentifier(\"marko_node\");\n const writeArgs = tagArguments(path, true);\n const state = {\n currentRoot: t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/vdom/helpers/v-element.js\",\n \"marko_createElement\"\n ),\n writeArgs\n )\n };\n\n path.traverse(mergeStaticCreateVisitor, state);\n\n const d = t.variableDeclaration(\"const\", [\n t.variableDeclarator(identifier, state.currentRoot)\n ]);\n file.path.node.body.push(d);\n path.replaceWith(write(\"n\", identifier, file._componentInstanceIdentifier));\n path.skip();\n}\n\nexport function analyzeStaticVDOM(path) {\n if (shouldRun(path.hub.file.markoOpts)) {\n path.traverse(analyzeStaticVisitor);\n }\n}\n\nfunction shouldRun(markoOpts) {\n return markoOpts.optimize && markoOpts.output !== \"html\";\n}\n"],"file":"optimize-vdom-create.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/plugin-hooks.js"],"names":["enter","plugin","args","fn","default","exit","undefined"],"mappings":"kFAAA;;AAEO,SAASA,KAAT,CAAeC,MAAf,EAAuB,GAAGC,IAA1B,EAAgC;AACrC,QAAMC,EAAE;AACLF,EAAAA,MAAM;AACJA,EAAAA,MAAM,CAACD,KAAP;AACEC,EAAAA,MAAM,CAACG,OAAP,IAAkBH,MAAM,CAACG,OAAP,CAAeJ,KADnC;AAECC,EAAAA,MAAM,CAACG,OAHJ,CAAP;AAIAH,EAAAA,MALF;AAMA,MAAI,OAAOE,EAAP,KAAc,UAAlB,EAA8B;AAC5BA,IAAAA,EAAE,CAAC,GAAGD,IAAJ,CAAF;AACD;AACF;;AAEM,SAASG,IAAT,CAAcJ,MAAd,EAAsB,GAAGC,IAAzB,EAA+B;AACpC,QAAMC,EAAE;AACNF,EAAAA,MAAM;AACLA,EAAAA,MAAM,CAACI,IAAP,KAAgBJ,MAAM,CAACG,OAAP,GAAiBH,MAAM,CAACG,OAAP,CAAeC,IAAhC,GAAuCC,SAAvD,CADK,CADR;AAGA,MAAI,OAAOH,EAAP,KAAc,UAAlB,EAA8B;AAC5BA,IAAAA,EAAE,CAAC,GAAGD,IAAJ,CAAF;AACD;AACF","sourcesContent":["// Utilities for executing multi step compiler hooks (code generators in this package).\n\nexport function enter(plugin, ...args) {\n const fn =\n (plugin &&\n (plugin.enter ||\n (plugin.default && plugin.default.enter) ||\n plugin.default)) ||\n plugin;\n if (typeof fn === \"function\") {\n fn(...args);\n }\n}\n\nexport function exit(plugin, ...args) {\n const fn =\n plugin &&\n (plugin.exit || (plugin.default ? plugin.default.exit : undefined));\n if (typeof fn === \"function\") {\n fn(...args);\n }\n}\n"],"file":"plugin-hooks.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/runtime-flags.js"],"names":["HAS_SIMPLE_ATTRS","IS_CUSTOM_ELEMENT","SPREAD_ATTRS"],"mappings":"4HAAO,MAAMA,gBAAgB,GAAG,CAAzB,C;AACA,MAAMC,iBAAiB,GAAG,CAA1B,C,CAA6B;8CAC7B,MAAMC,YAAY,GAAG,CAArB,C,CAAwB","sourcesContent":["export const HAS_SIMPLE_ATTRS = 1;\nexport const IS_CUSTOM_ELEMENT = 2; // TODO: impl custom elements.\nexport const SPREAD_ATTRS = 4; // TODO: impl custom elements.\n"],"file":"runtime-flags.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/vdom-out-write.js"],"names":["write","method","args","t","expressionStatement","callExpression","memberExpression","identifier"],"mappings":"+DAAA;;AAEe,SAASA,KAAT,CAAeC,MAAf,EAAuB,GAAGC,IAA1B,EAAgC;AAC7C,SAAOC,gBAAEC,mBAAF;AACLD,kBAAEE,cAAF;AACEF,kBAAEG,gBAAF,CAAmBH,gBAAEI,UAAF,CAAa,KAAb,CAAnB,EAAwCJ,gBAAEI,UAAF,CAAaN,MAAb,CAAxC,CADF;AAEEC,EAAAA,IAFF,CADK,CAAP;;;AAMD","sourcesContent":["import { types as t } from \"@marko/compiler\";\n\nexport default function write(method, ...args) {\n return t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(method)),\n args\n )\n );\n}\n"],"file":"vdom-out-write.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/with-previous-location.js"],"names":["withPreviousLocation","newNode","originalNode","start","loc","end"],"mappings":"8EAAe,SAASA,oBAAT,CAA8BC,OAA9B,EAAuCC,YAAvC,EAAqD;AAClED,EAAAA,OAAO,CAACE,KAAR,GAAgBD,YAAY,CAACC,KAA7B;AACAF,EAAAA,OAAO,CAACG,GAAR,GAAcF,YAAY,CAACE,GAA3B;AACAH,EAAAA,OAAO,CAACI,GAAR,GAAcH,YAAY,CAACG,GAA3B;AACA,SAAOJ,OAAP;AACD","sourcesContent":["export default function withPreviousLocation(newNode, originalNode) {\n newNode.start = originalNode.start;\n newNode.loc = originalNode.loc;\n newNode.end = originalNode.end;\n return newNode;\n}\n"],"file":"with-previous-location.js"}