@marko/translator-default 5.17.3 → 5.17.7

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -250,7 +250,7 @@ const translate = {
250
250
  path.scope.generateUidIdentifier("marko_template");
251
251
  const rendererIdentifier = (0, _babelUtils.importDefault)(
252
252
  file,
253
- "marko/src/runtime/components/renderer",
253
+ "marko/src/runtime/components/renderer.js",
254
254
  "marko_renderer");
255
255
 
256
256
  const templateRendererMember = _compiler.types.memberExpression(
@@ -280,7 +280,7 @@ const translate = {
280
280
  _compiler.types.stringLiteral(
281
281
  `marko/${markoOpts.optimize ? "dist" : "src"}/runtime/${
282
282
  isHTML ? "html" : "vdom"
283
- }${markoOpts.hot ? "/hot-reload" : ""}`)),
283
+ }/${markoOpts.hot ? "hot-reload.js" : "index.js"}`)),
284
284
 
285
285
 
286
286
  _compiler.types.variableDeclaration("const", [
@@ -398,7 +398,7 @@ const translate = {
398
398
  _compiler.types.callExpression(
399
399
  (0, _babelUtils.importDefault)(
400
400
  file,
401
- "marko/src/runtime/components/defineComponent",
401
+ "marko/src/runtime/components/defineComponent.js",
402
402
  "marko_defineComponent"),
403
403
 
404
404
  [componentIdentifier, templateRendererMember]))));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["analyze","Program","enter","program","meta","hub","file","metadata","marko","hasComponent","hasComponentBrowser","get","some","child","isMarkoClass","exit","styleFile","packageFile","componentBrowserFile","deps","unshift","component","hasStatefulTagParams","opts","filename","map","imports","node","body","filter","t","isImportDeclaration","source","value","MarkoTag","tag","tagDef","html","template","renderer","htmlType","parseOptions","import","push","dir","isStringLiteral","relativePath","resolveRelativeTagEntry","extra","tags","includes","translator","path","watchFiles","length","curTag","tagFile","childMeta","ImportDeclaration","tagEntry","translate","MarkoDocumentType","MarkoDeclaration","MarkoCDATA","MarkoText","MarkoPlaceholder","MarkoScriptlet","MarkoClass","MarkoComment","ReferencedIdentifier","name","scope","hasBinding","replaceWith","_componentInstanceIdentifier","markoOpts","output","resolveVirtualDependency","moduleCode","skip","_componentDefIdentifier","generateUidIdentifier","renderBlock","pushContainer","blockStatement","isRenderContent","forEach","childPath","remove","_renderBlock","crawl","_inlineComponentClass","includeMetaInSource","componentFile","isHTML","componentClass","objectExpression","componentIdentifier","componentTypeIdentifier","templateIdentifier","rendererIdentifier","templateRendererMember","memberExpression","identifier","templateMetaMember","writeVersionComment","addComment","version","runtimeTemplateIdentifier","unshiftContainer","importDeclaration","importSpecifier","stringLiteral","optimize","hot","variableDeclaration","variableDeclarator","id","callExpression","expressionStatement","assignmentExpression","exportDefaultDeclaration","Boolean","arrowFunctionExpression","templateRenderOptionsProps","objectProperty","booleanLiteral","functionExpression","metaObject","properties","JSON","stringify","code","arrayExpression","getRuntimeEntryFiles","base","MARKO_TYPES","type","static","entry"],"mappings":"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","sourcesContent":["import { resolve } from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n parseExpression,\n resolveTagImport,\n resolveRelativePath,\n importNamed,\n importDefault,\n parseScript,\n isNativeTag,\n isMacroTag,\n isDynamicTag,\n isAttributeTag,\n loadFileForTag,\n findParentTag,\n getTagDef\n} from \"@marko/babel-utils\";\nimport { version } from \"marko/package.json\";\nimport MarkoDocumentType from \"./document-type\";\nimport MarkoDeclaration from \"./declaration\";\nimport MarkoCDATA from \"./cdata\";\nimport MarkoTag from \"./tag\";\nimport MarkoText from \"./text\";\nimport MarkoPlaceholder from \"./placeholder\";\nimport MarkoComment from \"./comment\";\nimport MarkoScriptlet from \"./scriptlet\";\nimport MarkoClass from \"./class\";\nimport { analyzeStaticVDOM } from \"./util/optimize-vdom-create\";\nimport { optimizeHTMLWrites } from \"./util/optimize-html-writes\";\nimport getComponentFiles from \"./util/get-component-files\";\nimport addDependencies from \"./util/add-dependencies\";\n\nexport { default as taglibs } from \"./taglib\";\n\nexport const analyze = {\n Program: {\n enter(program) {\n // Pre populate metadata for component files.\n const meta = program.hub.file.metadata.marko;\n getComponentFiles(program);\n\n if (!meta.hasComponent && !meta.hasComponentBrowser) {\n meta.hasComponent = program\n .get(\"body\")\n .some(child => child.isMarkoClass());\n }\n },\n exit(program) {\n const { file } = program.hub;\n const meta = file.metadata.marko;\n const { styleFile, packageFile, componentBrowserFile } =\n getComponentFiles(program);\n\n if (packageFile) {\n meta.deps.unshift(`package: ${packageFile}`);\n }\n\n if (styleFile) {\n meta.deps.unshift(styleFile);\n }\n\n if (meta.hasComponentBrowser) {\n meta.component = componentBrowserFile;\n } else if (meta.hasComponent || meta.hasStatefulTagParams) {\n meta.component = file.opts.filename;\n }\n\n meta.component =\n meta.component && resolveRelativePath(file, meta.component);\n meta.deps = meta.deps.map(filename =>\n typeof filename === \"string\"\n ? resolveRelativePath(file, filename)\n : filename\n );\n\n meta.imports = program.node.body\n .filter(child => t.isImportDeclaration(child))\n .map(child => child.source.value);\n }\n },\n MarkoTag(tag) {\n const { file } = tag.hub;\n const tagDef = getTagDef(tag);\n // Check if tag uses stateful tag params.\n const meta = tag.hub.file.metadata.marko;\n\n if (tagDef) {\n if (tagDef.html && !tagDef.template && !tagDef.renderer) {\n if (tagDef.htmlType === \"custom-element\") {\n if (tagDef.parseOptions && tagDef.parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n meta.deps.push(\n resolve(\n tagDef.dir,\n resolve(tagDef.dir, tagDef.parseOptions.import)\n )\n );\n }\n }\n } else if (tag.get(\"name\").isStringLiteral()) {\n const relativePath = resolveRelativeTagEntry(file, tagDef);\n\n if (relativePath) {\n tag.node.extra = tag.node.extra || {};\n tag.node.extra.relativePath = relativePath;\n\n if (!meta.tags.includes(relativePath)) {\n meta.tags.push(relativePath);\n }\n }\n }\n\n if (tagDef.translator && tagDef.translator.path) {\n if (!meta.watchFiles.includes(tagDef.translator.path)) {\n meta.watchFiles.push(tagDef.translator.path);\n }\n }\n }\n\n if (\n meta.hasStatefulTagParams ||\n isNativeTag(tag) ||\n isMacroTag(tag) ||\n !tag.get(\"body\").get(\"params\").length\n ) {\n return;\n }\n\n if (isDynamicTag(tag)) {\n meta.hasStatefulTagParams = true;\n return;\n }\n\n let curTag = tag;\n while (isAttributeTag(curTag)) {\n curTag = findParentTag(curTag);\n }\n\n const tagFile = loadFileForTag(curTag);\n const childMeta = tagFile && tagFile.metadata.marko;\n meta.hasStatefulTagParams =\n childMeta &&\n (childMeta.hasStatefulTagParams ||\n (childMeta.hasComponent && !childMeta.hasComponentBrowser));\n },\n ImportDeclaration: {\n exit(path) {\n const source = path.get(\"source\");\n const tagEntry = resolveTagImport(source, source.node.value);\n\n if (tagEntry) {\n const meta = path.hub.file.metadata.marko;\n source.node.value = tagEntry;\n\n if (!meta.tags.includes(tagEntry)) {\n meta.tags.push(tagEntry);\n }\n }\n }\n }\n};\n\nexport const translate = {\n MarkoDocumentType,\n MarkoDeclaration,\n MarkoCDATA,\n MarkoTag,\n MarkoText,\n MarkoPlaceholder,\n MarkoScriptlet,\n MarkoClass,\n MarkoComment,\n ReferencedIdentifier(path) {\n if (path.node.name === \"component\" && !path.scope.hasBinding(\"component\")) {\n path.replaceWith(path.hub.file._componentInstanceIdentifier);\n }\n },\n Program: {\n enter(path) {\n const {\n hub: { file }\n } = path;\n\n if (file.markoOpts.output === \"hydrate\") {\n addDependencies(file, true);\n return;\n } else if (\n file.markoOpts.resolveVirtualDependency &&\n file.markoOpts.output !== \"html\"\n ) {\n addDependencies(file, false);\n }\n\n if (file.metadata.marko.moduleCode) {\n path\n .replaceWith(parseScript(file, file.metadata.marko.moduleCode))[0]\n .skip();\n return;\n }\n\n file._componentDefIdentifier =\n path.scope.generateUidIdentifier(\"componentDef\");\n\n file._componentInstanceIdentifier =\n path.scope.generateUidIdentifier(\"component\");\n\n // Pre-Analyze tree\n analyzeStaticVDOM(path);\n\n // Move non static content into the renderBody.\n const [renderBlock] = path.pushContainer(\"body\", t.blockStatement([]));\n path\n .get(\"body\")\n .filter(isRenderContent)\n .forEach(childPath => {\n renderBlock.pushContainer(\"body\", childPath.node);\n childPath.remove();\n });\n\n file._renderBlock = renderBlock;\n path.scope.crawl();\n },\n exit(path) {\n const {\n hub: { file }\n } = path;\n const { markoOpts, _inlineComponentClass } = file;\n const includeMetaInSource = markoOpts.meta !== false;\n const meta = file.metadata.marko;\n const { componentFile, componentBrowserFile } = getComponentFiles(path);\n const isHTML = markoOpts.output === \"html\";\n\n const renderBlock = file._renderBlock;\n const componentClass =\n (componentFile &&\n importDefault(\n file,\n resolveRelativePath(file, componentFile),\n \"marko_component\"\n )) ||\n _inlineComponentClass ||\n t.objectExpression([]);\n\n const componentIdentifier =\n path.scope.generateUidIdentifier(\"marko_component\");\n const componentTypeIdentifier = path.scope.generateUidIdentifier(\n \"marko_componentType\"\n );\n const templateIdentifier =\n path.scope.generateUidIdentifier(\"marko_template\");\n const rendererIdentifier = importDefault(\n file,\n \"marko/src/runtime/components/renderer\",\n \"marko_renderer\"\n );\n const templateRendererMember = t.memberExpression(\n templateIdentifier,\n t.identifier(\"_\")\n );\n const templateMetaMember = t.memberExpression(\n templateIdentifier,\n t.identifier(\"meta\")\n );\n\n if (markoOpts.writeVersionComment) {\n path.addComment(\n \"leading\",\n ` Compiled using marko@${version} - DO NOT EDIT`,\n true\n );\n }\n\n const runtimeTemplateIdentifier = path.scope.generateUidIdentifier(\"t\");\n\n path.unshiftContainer(\n \"body\",\n [\n t.importDeclaration(\n [t.importSpecifier(runtimeTemplateIdentifier, t.identifier(\"t\"))],\n t.stringLiteral(\n `marko/${markoOpts.optimize ? \"dist\" : \"src\"}/runtime/${\n isHTML ? \"html\" : \"vdom\"\n }${markoOpts.hot ? \"/hot-reload\" : \"\"}`\n )\n ),\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n componentTypeIdentifier,\n t.stringLiteral(meta.id)\n ),\n t.variableDeclarator(\n templateIdentifier,\n t.callExpression(runtimeTemplateIdentifier, [\n componentTypeIdentifier\n ])\n )\n ]),\n includeMetaInSource &&\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(templateIdentifier, t.identifier(\"path\")),\n t.identifier(\"__filename\")\n )\n ),\n t.exportDefaultDeclaration(templateIdentifier)\n ].filter(Boolean)\n );\n\n path.pushContainer(\n \"body\",\n [\n !isHTML &&\n t.expressionStatement(\n t.callExpression(\n importNamed(\n file,\n \"marko/src/runtime/components/registry\",\n \"r\",\n \"marko_registerComponent\"\n ),\n [\n componentTypeIdentifier,\n t.arrowFunctionExpression(\n [],\n componentBrowserFile\n ? importDefault(\n file,\n resolveRelativePath(file, componentBrowserFile),\n \"marko_split_component\"\n )\n : templateIdentifier\n )\n ]\n )\n ),\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(componentIdentifier, componentClass)\n ])\n ].filter(Boolean)\n );\n\n const templateRenderOptionsProps = [\n t.objectProperty(t.identifier(\"t\"), componentTypeIdentifier)\n ];\n\n if (!meta.component) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"i\"), t.booleanLiteral(true))\n );\n }\n\n if (componentBrowserFile) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"s\"), t.booleanLiteral(true))\n );\n }\n\n if (!markoOpts.optimize) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"d\"), t.booleanLiteral(true))\n );\n }\n\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n templateRendererMember,\n t.callExpression(rendererIdentifier, [\n t.functionExpression(\n null,\n [\n t.identifier(\"input\"),\n t.identifier(\"out\"),\n file._componentDefIdentifier,\n file._componentInstanceIdentifier,\n t.identifier(\"state\")\n ],\n renderBlock.node\n ),\n t.objectExpression(templateRenderOptionsProps),\n componentIdentifier\n ])\n )\n )\n );\n renderBlock.remove();\n\n if (!isHTML) {\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(templateIdentifier, t.identifier(\"Component\")),\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/components/defineComponent\",\n \"marko_defineComponent\"\n ),\n [componentIdentifier, templateRendererMember]\n )\n )\n )\n );\n }\n\n if (includeMetaInSource) {\n const metaObject = t.objectExpression([\n t.objectProperty(t.identifier(\"id\"), componentTypeIdentifier)\n ]);\n\n if (meta.component) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"component\"),\n t.stringLiteral(meta.component)\n )\n );\n }\n\n if (meta.deps.length) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"deps\"),\n parseExpression(file, JSON.stringify(meta.deps), file.code.length)\n )\n );\n }\n\n if (meta.tags.length) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"tags\"),\n t.arrayExpression(meta.tags.map(tag => t.stringLiteral(tag)))\n )\n );\n }\n\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\"=\", templateMetaMember, metaObject)\n )\n );\n }\n\n optimizeHTMLWrites(path);\n }\n }\n};\n\nexport function getRuntimeEntryFiles(output, optimize) {\n const base = `marko/${optimize ? \"dist\" : \"src\"}/`;\n\n return [\n `${base}runtime/components`,\n `${base}runtime/components/defineComponent`,\n `${base}runtime/components/renderer`,\n `${base}runtime/components/registry`,\n `${base}runtime/components/attach-detach`,\n `${base}runtime/helpers/assign`,\n `${base}runtime/helpers/class-value`,\n `${base}runtime/helpers/dynamic-tag`,\n `${base}runtime/helpers/load-nested-tag`,\n `${base}runtime/helpers/merge`,\n `${base}runtime/helpers/render-tag`,\n `${base}runtime/helpers/style-value`,\n `${base}runtime/helpers/to-string`,\n `${base}core-tags/components/preserve-tag`,\n `${base}core-tags/components/init-components-tag`,\n `${base}core-tags/components/preferred-script-location-tag`,\n `${base}core-tags/core/__flush_here_and_after__`,\n `${base}core-tags/core/await/renderer`,\n `${base}core-tags/core/await/reorderer-renderer`,\n ...(output === \"html\"\n ? [\n `${base}runtime/html`,\n `${base}runtime/html/hot-reload`,\n `${base}runtime/html/helpers/attr`,\n `${base}runtime/html/helpers/attrs`,\n `${base}runtime/html/helpers/class-attr`,\n `${base}runtime/html/helpers/data-marko`,\n `${base}runtime/html/helpers/escape-quotes`,\n `${base}runtime/html/helpers/escape-script-placeholder`,\n `${base}runtime/html/helpers/escape-style-placeholder`,\n `${base}runtime/html/helpers/escape-xml`,\n `${base}runtime/html/helpers/merge-attrs`,\n `${base}runtime/html/helpers/props-script`,\n `${base}runtime/html/helpers/style-attr`\n ]\n : [\n `${base}runtime/vdom`,\n `${base}runtime/vdom/hot-reload`,\n `${base}runtime/vdom/helpers/attrs`,\n `${base}runtime/vdom/helpers/const`,\n `${base}runtime/vdom/helpers/v-element`,\n `${base}runtime/vdom/helpers/v-text`,\n `${base}runtime/vdom/preserve-attrs`\n ])\n ];\n}\n\nfunction isRenderContent(path) {\n const { node } = path;\n return t.MARKO_TYPES.includes(node.type) && !node.static;\n}\n\nfunction resolveRelativeTagEntry(file, tagDef) {\n // TODO: support transform and other entries.\n const entry = tagDef.template || tagDef.renderer;\n return entry && resolveRelativePath(file, entry);\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["analyze","Program","enter","program","meta","hub","file","metadata","marko","hasComponent","hasComponentBrowser","get","some","child","isMarkoClass","exit","styleFile","packageFile","componentBrowserFile","deps","unshift","component","hasStatefulTagParams","opts","filename","map","imports","node","body","filter","t","isImportDeclaration","source","value","MarkoTag","tag","tagDef","html","template","renderer","htmlType","parseOptions","import","push","dir","isStringLiteral","relativePath","resolveRelativeTagEntry","extra","tags","includes","translator","path","watchFiles","length","curTag","tagFile","childMeta","ImportDeclaration","tagEntry","translate","MarkoDocumentType","MarkoDeclaration","MarkoCDATA","MarkoText","MarkoPlaceholder","MarkoScriptlet","MarkoClass","MarkoComment","ReferencedIdentifier","name","scope","hasBinding","replaceWith","_componentInstanceIdentifier","markoOpts","output","resolveVirtualDependency","moduleCode","skip","_componentDefIdentifier","generateUidIdentifier","renderBlock","pushContainer","blockStatement","isRenderContent","forEach","childPath","remove","_renderBlock","crawl","_inlineComponentClass","includeMetaInSource","componentFile","isHTML","componentClass","objectExpression","componentIdentifier","componentTypeIdentifier","templateIdentifier","rendererIdentifier","templateRendererMember","memberExpression","identifier","templateMetaMember","writeVersionComment","addComment","version","runtimeTemplateIdentifier","unshiftContainer","importDeclaration","importSpecifier","stringLiteral","optimize","hot","variableDeclaration","variableDeclarator","id","callExpression","expressionStatement","assignmentExpression","exportDefaultDeclaration","Boolean","arrowFunctionExpression","templateRenderOptionsProps","objectProperty","booleanLiteral","functionExpression","metaObject","properties","JSON","stringify","code","arrayExpression","getRuntimeEntryFiles","base","MARKO_TYPES","type","static","entry"],"mappings":"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","sourcesContent":["import { resolve } from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n parseExpression,\n resolveTagImport,\n resolveRelativePath,\n importNamed,\n importDefault,\n parseScript,\n isNativeTag,\n isMacroTag,\n isDynamicTag,\n isAttributeTag,\n loadFileForTag,\n findParentTag,\n getTagDef\n} from \"@marko/babel-utils\";\nimport { version } from \"marko/package.json\";\nimport MarkoDocumentType from \"./document-type\";\nimport MarkoDeclaration from \"./declaration\";\nimport MarkoCDATA from \"./cdata\";\nimport MarkoTag from \"./tag\";\nimport MarkoText from \"./text\";\nimport MarkoPlaceholder from \"./placeholder\";\nimport MarkoComment from \"./comment\";\nimport MarkoScriptlet from \"./scriptlet\";\nimport MarkoClass from \"./class\";\nimport { analyzeStaticVDOM } from \"./util/optimize-vdom-create\";\nimport { optimizeHTMLWrites } from \"./util/optimize-html-writes\";\nimport getComponentFiles from \"./util/get-component-files\";\nimport addDependencies from \"./util/add-dependencies\";\n\nexport { default as taglibs } from \"./taglib\";\n\nexport const analyze = {\n Program: {\n enter(program) {\n // Pre populate metadata for component files.\n const meta = program.hub.file.metadata.marko;\n getComponentFiles(program);\n\n if (!meta.hasComponent && !meta.hasComponentBrowser) {\n meta.hasComponent = program\n .get(\"body\")\n .some(child => child.isMarkoClass());\n }\n },\n exit(program) {\n const { file } = program.hub;\n const meta = file.metadata.marko;\n const { styleFile, packageFile, componentBrowserFile } =\n getComponentFiles(program);\n\n if (packageFile) {\n meta.deps.unshift(`package: ${packageFile}`);\n }\n\n if (styleFile) {\n meta.deps.unshift(styleFile);\n }\n\n if (meta.hasComponentBrowser) {\n meta.component = componentBrowserFile;\n } else if (meta.hasComponent || meta.hasStatefulTagParams) {\n meta.component = file.opts.filename;\n }\n\n meta.component =\n meta.component && resolveRelativePath(file, meta.component);\n meta.deps = meta.deps.map(filename =>\n typeof filename === \"string\"\n ? resolveRelativePath(file, filename)\n : filename\n );\n\n meta.imports = program.node.body\n .filter(child => t.isImportDeclaration(child))\n .map(child => child.source.value);\n }\n },\n MarkoTag(tag) {\n const { file } = tag.hub;\n const tagDef = getTagDef(tag);\n // Check if tag uses stateful tag params.\n const meta = tag.hub.file.metadata.marko;\n\n if (tagDef) {\n if (tagDef.html && !tagDef.template && !tagDef.renderer) {\n if (tagDef.htmlType === \"custom-element\") {\n if (tagDef.parseOptions && tagDef.parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n meta.deps.push(\n resolve(\n tagDef.dir,\n resolve(tagDef.dir, tagDef.parseOptions.import)\n )\n );\n }\n }\n } else if (tag.get(\"name\").isStringLiteral()) {\n const relativePath = resolveRelativeTagEntry(file, tagDef);\n\n if (relativePath) {\n tag.node.extra = tag.node.extra || {};\n tag.node.extra.relativePath = relativePath;\n\n if (!meta.tags.includes(relativePath)) {\n meta.tags.push(relativePath);\n }\n }\n }\n\n if (tagDef.translator && tagDef.translator.path) {\n if (!meta.watchFiles.includes(tagDef.translator.path)) {\n meta.watchFiles.push(tagDef.translator.path);\n }\n }\n }\n\n if (\n meta.hasStatefulTagParams ||\n isNativeTag(tag) ||\n isMacroTag(tag) ||\n !tag.get(\"body\").get(\"params\").length\n ) {\n return;\n }\n\n if (isDynamicTag(tag)) {\n meta.hasStatefulTagParams = true;\n return;\n }\n\n let curTag = tag;\n while (isAttributeTag(curTag)) {\n curTag = findParentTag(curTag);\n }\n\n const tagFile = loadFileForTag(curTag);\n const childMeta = tagFile && tagFile.metadata.marko;\n meta.hasStatefulTagParams =\n childMeta &&\n (childMeta.hasStatefulTagParams ||\n (childMeta.hasComponent && !childMeta.hasComponentBrowser));\n },\n ImportDeclaration: {\n exit(path) {\n const source = path.get(\"source\");\n const tagEntry = resolveTagImport(source, source.node.value);\n\n if (tagEntry) {\n const meta = path.hub.file.metadata.marko;\n source.node.value = tagEntry;\n\n if (!meta.tags.includes(tagEntry)) {\n meta.tags.push(tagEntry);\n }\n }\n }\n }\n};\n\nexport const translate = {\n MarkoDocumentType,\n MarkoDeclaration,\n MarkoCDATA,\n MarkoTag,\n MarkoText,\n MarkoPlaceholder,\n MarkoScriptlet,\n MarkoClass,\n MarkoComment,\n ReferencedIdentifier(path) {\n if (path.node.name === \"component\" && !path.scope.hasBinding(\"component\")) {\n path.replaceWith(path.hub.file._componentInstanceIdentifier);\n }\n },\n Program: {\n enter(path) {\n const {\n hub: { file }\n } = path;\n\n if (file.markoOpts.output === \"hydrate\") {\n addDependencies(file, true);\n return;\n } else if (\n file.markoOpts.resolveVirtualDependency &&\n file.markoOpts.output !== \"html\"\n ) {\n addDependencies(file, false);\n }\n\n if (file.metadata.marko.moduleCode) {\n path\n .replaceWith(parseScript(file, file.metadata.marko.moduleCode))[0]\n .skip();\n return;\n }\n\n file._componentDefIdentifier =\n path.scope.generateUidIdentifier(\"componentDef\");\n\n file._componentInstanceIdentifier =\n path.scope.generateUidIdentifier(\"component\");\n\n // Pre-Analyze tree\n analyzeStaticVDOM(path);\n\n // Move non static content into the renderBody.\n const [renderBlock] = path.pushContainer(\"body\", t.blockStatement([]));\n path\n .get(\"body\")\n .filter(isRenderContent)\n .forEach(childPath => {\n renderBlock.pushContainer(\"body\", childPath.node);\n childPath.remove();\n });\n\n file._renderBlock = renderBlock;\n path.scope.crawl();\n },\n exit(path) {\n const {\n hub: { file }\n } = path;\n const { markoOpts, _inlineComponentClass } = file;\n const includeMetaInSource = markoOpts.meta !== false;\n const meta = file.metadata.marko;\n const { componentFile, componentBrowserFile } = getComponentFiles(path);\n const isHTML = markoOpts.output === \"html\";\n\n const renderBlock = file._renderBlock;\n const componentClass =\n (componentFile &&\n importDefault(\n file,\n resolveRelativePath(file, componentFile),\n \"marko_component\"\n )) ||\n _inlineComponentClass ||\n t.objectExpression([]);\n\n const componentIdentifier =\n path.scope.generateUidIdentifier(\"marko_component\");\n const componentTypeIdentifier = path.scope.generateUidIdentifier(\n \"marko_componentType\"\n );\n const templateIdentifier =\n path.scope.generateUidIdentifier(\"marko_template\");\n const rendererIdentifier = importDefault(\n file,\n \"marko/src/runtime/components/renderer.js\",\n \"marko_renderer\"\n );\n const templateRendererMember = t.memberExpression(\n templateIdentifier,\n t.identifier(\"_\")\n );\n const templateMetaMember = t.memberExpression(\n templateIdentifier,\n t.identifier(\"meta\")\n );\n\n if (markoOpts.writeVersionComment) {\n path.addComment(\n \"leading\",\n ` Compiled using marko@${version} - DO NOT EDIT`,\n true\n );\n }\n\n const runtimeTemplateIdentifier = path.scope.generateUidIdentifier(\"t\");\n\n path.unshiftContainer(\n \"body\",\n [\n t.importDeclaration(\n [t.importSpecifier(runtimeTemplateIdentifier, t.identifier(\"t\"))],\n t.stringLiteral(\n `marko/${markoOpts.optimize ? \"dist\" : \"src\"}/runtime/${\n isHTML ? \"html\" : \"vdom\"\n }/${markoOpts.hot ? \"hot-reload.js\" : \"index.js\"}`\n )\n ),\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n componentTypeIdentifier,\n t.stringLiteral(meta.id)\n ),\n t.variableDeclarator(\n templateIdentifier,\n t.callExpression(runtimeTemplateIdentifier, [\n componentTypeIdentifier\n ])\n )\n ]),\n includeMetaInSource &&\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(templateIdentifier, t.identifier(\"path\")),\n t.identifier(\"__filename\")\n )\n ),\n t.exportDefaultDeclaration(templateIdentifier)\n ].filter(Boolean)\n );\n\n path.pushContainer(\n \"body\",\n [\n !isHTML &&\n t.expressionStatement(\n t.callExpression(\n importNamed(\n file,\n \"marko/src/runtime/components/registry\",\n \"r\",\n \"marko_registerComponent\"\n ),\n [\n componentTypeIdentifier,\n t.arrowFunctionExpression(\n [],\n componentBrowserFile\n ? importDefault(\n file,\n resolveRelativePath(file, componentBrowserFile),\n \"marko_split_component\"\n )\n : templateIdentifier\n )\n ]\n )\n ),\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(componentIdentifier, componentClass)\n ])\n ].filter(Boolean)\n );\n\n const templateRenderOptionsProps = [\n t.objectProperty(t.identifier(\"t\"), componentTypeIdentifier)\n ];\n\n if (!meta.component) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"i\"), t.booleanLiteral(true))\n );\n }\n\n if (componentBrowserFile) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"s\"), t.booleanLiteral(true))\n );\n }\n\n if (!markoOpts.optimize) {\n templateRenderOptionsProps.push(\n t.objectProperty(t.identifier(\"d\"), t.booleanLiteral(true))\n );\n }\n\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n templateRendererMember,\n t.callExpression(rendererIdentifier, [\n t.functionExpression(\n null,\n [\n t.identifier(\"input\"),\n t.identifier(\"out\"),\n file._componentDefIdentifier,\n file._componentInstanceIdentifier,\n t.identifier(\"state\")\n ],\n renderBlock.node\n ),\n t.objectExpression(templateRenderOptionsProps),\n componentIdentifier\n ])\n )\n )\n );\n renderBlock.remove();\n\n if (!isHTML) {\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(templateIdentifier, t.identifier(\"Component\")),\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/components/defineComponent.js\",\n \"marko_defineComponent\"\n ),\n [componentIdentifier, templateRendererMember]\n )\n )\n )\n );\n }\n\n if (includeMetaInSource) {\n const metaObject = t.objectExpression([\n t.objectProperty(t.identifier(\"id\"), componentTypeIdentifier)\n ]);\n\n if (meta.component) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"component\"),\n t.stringLiteral(meta.component)\n )\n );\n }\n\n if (meta.deps.length) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"deps\"),\n parseExpression(file, JSON.stringify(meta.deps), file.code.length)\n )\n );\n }\n\n if (meta.tags.length) {\n metaObject.properties.push(\n t.objectProperty(\n t.identifier(\"tags\"),\n t.arrayExpression(meta.tags.map(tag => t.stringLiteral(tag)))\n )\n );\n }\n\n path.pushContainer(\n \"body\",\n t.expressionStatement(\n t.assignmentExpression(\"=\", templateMetaMember, metaObject)\n )\n );\n }\n\n optimizeHTMLWrites(path);\n }\n }\n};\n\nexport function getRuntimeEntryFiles(output, optimize) {\n const base = `marko/${optimize ? \"dist\" : \"src\"}/`;\n\n return [\n `${base}runtime/components`,\n `${base}runtime/components/defineComponent`,\n `${base}runtime/components/renderer`,\n `${base}runtime/components/registry`,\n `${base}runtime/components/attach-detach`,\n `${base}runtime/helpers/assign`,\n `${base}runtime/helpers/class-value`,\n `${base}runtime/helpers/dynamic-tag`,\n `${base}runtime/helpers/load-nested-tag`,\n `${base}runtime/helpers/merge`,\n `${base}runtime/helpers/render-tag`,\n `${base}runtime/helpers/style-value`,\n `${base}runtime/helpers/to-string`,\n `${base}core-tags/components/preserve-tag`,\n `${base}core-tags/components/init-components-tag`,\n `${base}core-tags/components/preferred-script-location-tag`,\n `${base}core-tags/core/__flush_here_and_after__`,\n `${base}core-tags/core/await/renderer`,\n `${base}core-tags/core/await/reorderer-renderer`,\n ...(output === \"html\"\n ? [\n `${base}runtime/html`,\n `${base}runtime/html/hot-reload`,\n `${base}runtime/html/helpers/attr`,\n `${base}runtime/html/helpers/attrs`,\n `${base}runtime/html/helpers/class-attr`,\n `${base}runtime/html/helpers/data-marko`,\n `${base}runtime/html/helpers/escape-quotes`,\n `${base}runtime/html/helpers/escape-script-placeholder`,\n `${base}runtime/html/helpers/escape-style-placeholder`,\n `${base}runtime/html/helpers/escape-xml`,\n `${base}runtime/html/helpers/merge-attrs`,\n `${base}runtime/html/helpers/props-script`,\n `${base}runtime/html/helpers/style-attr`\n ]\n : [\n `${base}runtime/vdom`,\n `${base}runtime/vdom/hot-reload`,\n `${base}runtime/vdom/helpers/attrs`,\n `${base}runtime/vdom/helpers/const`,\n `${base}runtime/vdom/helpers/v-element`,\n `${base}runtime/vdom/helpers/v-text`,\n `${base}runtime/vdom/preserve-attrs`\n ])\n ];\n}\n\nfunction isRenderContent(path) {\n const { node } = path;\n return t.MARKO_TYPES.includes(node.type) && !node.static;\n}\n\nfunction resolveRelativeTagEntry(file, tagDef) {\n // TODO: support transform and other entries.\n const entry = tagDef.template || tagDef.renderer;\n return entry && resolveRelativePath(file, entry);\n}\n"],"file":"index.js"}
@@ -10,17 +10,17 @@ var _withPreviousLocation = _interopRequireDefault(require("../util/with-previou
10
10
  const ESCAPE_TYPES = {
11
11
  html: {
12
12
  name: "x",
13
- module: "marko/src/runtime/html/helpers/escape-xml",
13
+ module: "marko/src/runtime/html/helpers/escape-xml.js",
14
14
  alias: "marko_escapeXml",
15
15
  fn: _escapeXml.x },
16
16
 
17
17
  script: {
18
- module: "marko/src/runtime/html/helpers/escape-script-placeholder",
18
+ module: "marko/src/runtime/html/helpers/escape-script-placeholder.js",
19
19
  alias: "marko_escapeScript",
20
20
  fn: _escapeScriptPlaceholder.default },
21
21
 
22
22
  style: {
23
- module: "marko/src/runtime/html/helpers/escape-style-placeholder",
23
+ module: "marko/src/runtime/html/helpers/escape-style-placeholder.js",
24
24
  alias: "marko_escapeStyle",
25
25
  fn: _escapeStylePlaceholder.default } };
26
26
 
@@ -57,7 +57,7 @@ function _default(path) {
57
57
  _compiler.types.callExpression(
58
58
  (0, _babelUtils.importDefault)(
59
59
  file,
60
- "marko/src/runtime/helpers/to-string",
60
+ "marko/src/runtime/helpers/to-string.js",
61
61
  "marko_to_string"),
62
62
 
63
63
  [value]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/placeholder/index[html].js"],"names":["ESCAPE_TYPES","html","name","module","alias","fn","escapeXML","script","escapeScript","style","escapeStyle","path","node","hub","file","confident","value","computed","get","evaluate","escape","tagName","findParentTagName","escapeType","t","stringLiteral","callExpression","replacement","replaceWith","remove","parentPath","isProgram","isMarkoTag","tagDef"],"mappings":"uJAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAG;AACnBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,GADF;AAEJC,IAAAA,MAAM,EAAE,2CAFJ;AAGJC,IAAAA,KAAK,EAAE,iBAHH;AAIJC,IAAAA,EAAE,EAAEC,YAJA,EADa;;AAOnBC,EAAAA,MAAM,EAAE;AACNJ,IAAAA,MAAM,EAAE,0DADF;AAENC,IAAAA,KAAK,EAAE,oBAFD;AAGNC,IAAAA,EAAE,EAAEG,gCAHE,EAPW;;AAYnBC,EAAAA,KAAK,EAAE;AACLN,IAAAA,MAAM,EAAE,yDADH;AAELC,IAAAA,KAAK,EAAE,mBAFF;AAGLC,IAAAA,EAAE,EAAEK,+BAHC,EAZY,EAArB;;;;AAmBe,kBAAUC,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAM,EAAEI,SAAF,EAAaC,KAAK,EAAEC,QAApB,KAAiCN,IAAI,CAACO,GAAL,CAAS,OAAT,EAAkBC,QAAlB,EAAvC;AACA,MAAI,EAAEC,MAAF,EAAUJ,KAAV,KAAoBJ,IAAxB;;AAEA,MAAIQ,MAAJ,EAAY;AACV,UAAMC,OAAO,GAAGC,iBAAiB,CAACX,IAAD,CAAjC;AACA,UAAMY,UAAU,GAAGvB,YAAY,CAACqB,OAAD,CAAZ,IAAyBrB,YAAY,CAACC,IAAzD;;AAEAe,IAAAA,KAAK,GAAGD,SAAS;AACbS,oBAAEC,aAAF,CAAgBF,UAAU,CAAClB,EAAX,CAAcY,QAAd,CAAhB,CADa;AAEbO,oBAAEE,cAAF;AACEH,IAAAA,UAAU,CAACrB,IAAX;AACI;AACEY,IAAAA,IADF;AAEES,IAAAA,UAAU,CAACpB,MAFb;AAGEoB,IAAAA,UAAU,CAACrB,IAHb;AAIEqB,IAAAA,UAAU,CAACnB,KAJb,CADJ;;AAOI,mCAAcU,IAAd,EAAoBS,UAAU,CAACpB,MAA/B,EAAuCoB,UAAU,CAACnB,KAAlD,CARN;AASE,KAACY,KAAD,CATF,CAFJ;;AAaD,GAjBD,MAiBO;AACLA,IAAAA,KAAK,GAAGD,SAAS;AACbS,oBAAEC,aAAF,CAAgB,uBAASR,QAAT,CAAhB,CADa;AAEbO,oBAAEE,cAAF;AACE;AACEZ,IAAAA,IADF;AAEE,yCAFF;AAGE,qBAHF,CADF;;AAME,KAACE,KAAD,CANF,CAFJ;;AAUD;;AAED,QAAMW,WAAW,GAAG,0BAAM,GAAEX,KAAM,EAAlC;;AAEA,MAAIW,WAAJ,EAAiB;AACfhB,IAAAA,IAAI,CAACiB,WAAL,CAAiB,mCAAqBD,WAArB,EAAkCf,IAAlC,CAAjB;AACD,GAFD,MAEO;AACLD,IAAAA,IAAI,CAACkB,MAAL;AACD;AACF;;AAED,SAASP,iBAAT,CAA2BX,IAA3B,EAAiC;AAC/B,SAAQA,IAAI,GAAGA,IAAI,CAACmB,UAApB,EAAiC;AAC/B,QAAInB,IAAI,CAACoB,SAAL,EAAJ,EAAsB;AACpB;AACD;;AAED,QAAIpB,IAAI,CAACqB,UAAL,EAAJ,EAAuB;AACrB,YAAMC,MAAM,GAAG,2BAAUtB,IAAV,CAAf;AACA,aAAOsB,MAAM,IAAIA,MAAM,CAAChC,IAAjB,IAAyBU,IAAI,CAACO,GAAL,CAAS,YAAT,EAAuBN,IAAvD;AACD;AACF;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { getTagDef, importNamed, importDefault } from \"@marko/babel-utils\";\nimport toString from \"marko/src/runtime/helpers/to-string\";\nimport { x as escapeXML } from \"marko/src/runtime/html/helpers/escape-xml\";\nimport escapeScript from \"marko/src/runtime/html/helpers/escape-script-placeholder\";\nimport escapeStyle from \"marko/src/runtime/html/helpers/escape-style-placeholder\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nconst ESCAPE_TYPES = {\n html: {\n name: \"x\",\n module: \"marko/src/runtime/html/helpers/escape-xml\",\n alias: \"marko_escapeXml\",\n fn: escapeXML\n },\n script: {\n module: \"marko/src/runtime/html/helpers/escape-script-placeholder\",\n alias: \"marko_escapeScript\",\n fn: escapeScript\n },\n style: {\n module: \"marko/src/runtime/html/helpers/escape-style-placeholder\",\n alias: \"marko_escapeStyle\",\n fn: escapeStyle\n }\n};\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const { confident, value: computed } = path.get(\"value\").evaluate();\n let { escape, value } = node;\n\n if (escape) {\n const tagName = findParentTagName(path);\n const escapeType = ESCAPE_TYPES[tagName] || ESCAPE_TYPES.html;\n\n value = confident\n ? t.stringLiteral(escapeType.fn(computed))\n : t.callExpression(\n escapeType.name\n ? importNamed(\n file,\n escapeType.module,\n escapeType.name,\n escapeType.alias\n )\n : importDefault(file, escapeType.module, escapeType.alias),\n [value]\n );\n } else {\n value = confident\n ? t.stringLiteral(toString(computed))\n : t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/to-string\",\n \"marko_to_string\"\n ),\n [value]\n );\n }\n\n const replacement = write`${value}`;\n\n if (replacement) {\n path.replaceWith(withPreviousLocation(replacement, node));\n } else {\n path.remove();\n }\n}\n\nfunction findParentTagName(path) {\n while ((path = path.parentPath)) {\n if (path.isProgram()) {\n return;\n }\n\n if (path.isMarkoTag()) {\n const tagDef = getTagDef(path);\n return tagDef && tagDef.html && path.get(\"name.value\").node;\n }\n }\n}\n"],"file":"index[html].js"}
1
+ {"version":3,"sources":["../../src/placeholder/index[html].js"],"names":["ESCAPE_TYPES","html","name","module","alias","fn","escapeXML","script","escapeScript","style","escapeStyle","path","node","hub","file","confident","value","computed","get","evaluate","escape","tagName","findParentTagName","escapeType","t","stringLiteral","callExpression","replacement","replaceWith","remove","parentPath","isProgram","isMarkoTag","tagDef"],"mappings":"uJAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAG;AACnBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,GADF;AAEJC,IAAAA,MAAM,EAAE,8CAFJ;AAGJC,IAAAA,KAAK,EAAE,iBAHH;AAIJC,IAAAA,EAAE,EAAEC,YAJA,EADa;;AAOnBC,EAAAA,MAAM,EAAE;AACNJ,IAAAA,MAAM,EAAE,6DADF;AAENC,IAAAA,KAAK,EAAE,oBAFD;AAGNC,IAAAA,EAAE,EAAEG,gCAHE,EAPW;;AAYnBC,EAAAA,KAAK,EAAE;AACLN,IAAAA,MAAM,EAAE,4DADH;AAELC,IAAAA,KAAK,EAAE,mBAFF;AAGLC,IAAAA,EAAE,EAAEK,+BAHC,EAZY,EAArB;;;;AAmBe,kBAAUC,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAM,EAAEI,SAAF,EAAaC,KAAK,EAAEC,QAApB,KAAiCN,IAAI,CAACO,GAAL,CAAS,OAAT,EAAkBC,QAAlB,EAAvC;AACA,MAAI,EAAEC,MAAF,EAAUJ,KAAV,KAAoBJ,IAAxB;;AAEA,MAAIQ,MAAJ,EAAY;AACV,UAAMC,OAAO,GAAGC,iBAAiB,CAACX,IAAD,CAAjC;AACA,UAAMY,UAAU,GAAGvB,YAAY,CAACqB,OAAD,CAAZ,IAAyBrB,YAAY,CAACC,IAAzD;;AAEAe,IAAAA,KAAK,GAAGD,SAAS;AACbS,oBAAEC,aAAF,CAAgBF,UAAU,CAAClB,EAAX,CAAcY,QAAd,CAAhB,CADa;AAEbO,oBAAEE,cAAF;AACEH,IAAAA,UAAU,CAACrB,IAAX;AACI;AACEY,IAAAA,IADF;AAEES,IAAAA,UAAU,CAACpB,MAFb;AAGEoB,IAAAA,UAAU,CAACrB,IAHb;AAIEqB,IAAAA,UAAU,CAACnB,KAJb,CADJ;;AAOI,mCAAcU,IAAd,EAAoBS,UAAU,CAACpB,MAA/B,EAAuCoB,UAAU,CAACnB,KAAlD,CARN;AASE,KAACY,KAAD,CATF,CAFJ;;AAaD,GAjBD,MAiBO;AACLA,IAAAA,KAAK,GAAGD,SAAS;AACbS,oBAAEC,aAAF,CAAgB,uBAASR,QAAT,CAAhB,CADa;AAEbO,oBAAEE,cAAF;AACE;AACEZ,IAAAA,IADF;AAEE,4CAFF;AAGE,qBAHF,CADF;;AAME,KAACE,KAAD,CANF,CAFJ;;AAUD;;AAED,QAAMW,WAAW,GAAG,0BAAM,GAAEX,KAAM,EAAlC;;AAEA,MAAIW,WAAJ,EAAiB;AACfhB,IAAAA,IAAI,CAACiB,WAAL,CAAiB,mCAAqBD,WAArB,EAAkCf,IAAlC,CAAjB;AACD,GAFD,MAEO;AACLD,IAAAA,IAAI,CAACkB,MAAL;AACD;AACF;;AAED,SAASP,iBAAT,CAA2BX,IAA3B,EAAiC;AAC/B,SAAQA,IAAI,GAAGA,IAAI,CAACmB,UAApB,EAAiC;AAC/B,QAAInB,IAAI,CAACoB,SAAL,EAAJ,EAAsB;AACpB;AACD;;AAED,QAAIpB,IAAI,CAACqB,UAAL,EAAJ,EAAuB;AACrB,YAAMC,MAAM,GAAG,2BAAUtB,IAAV,CAAf;AACA,aAAOsB,MAAM,IAAIA,MAAM,CAAChC,IAAjB,IAAyBU,IAAI,CAACO,GAAL,CAAS,YAAT,EAAuBN,IAAvD;AACD;AACF;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { getTagDef, importNamed, importDefault } from \"@marko/babel-utils\";\nimport toString from \"marko/src/runtime/helpers/to-string\";\nimport { x as escapeXML } from \"marko/src/runtime/html/helpers/escape-xml\";\nimport escapeScript from \"marko/src/runtime/html/helpers/escape-script-placeholder\";\nimport escapeStyle from \"marko/src/runtime/html/helpers/escape-style-placeholder\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nconst ESCAPE_TYPES = {\n html: {\n name: \"x\",\n module: \"marko/src/runtime/html/helpers/escape-xml.js\",\n alias: \"marko_escapeXml\",\n fn: escapeXML\n },\n script: {\n module: \"marko/src/runtime/html/helpers/escape-script-placeholder.js\",\n alias: \"marko_escapeScript\",\n fn: escapeScript\n },\n style: {\n module: \"marko/src/runtime/html/helpers/escape-style-placeholder.js\",\n alias: \"marko_escapeStyle\",\n fn: escapeStyle\n }\n};\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const { confident, value: computed } = path.get(\"value\").evaluate();\n let { escape, value } = node;\n\n if (escape) {\n const tagName = findParentTagName(path);\n const escapeType = ESCAPE_TYPES[tagName] || ESCAPE_TYPES.html;\n\n value = confident\n ? t.stringLiteral(escapeType.fn(computed))\n : t.callExpression(\n escapeType.name\n ? importNamed(\n file,\n escapeType.module,\n escapeType.name,\n escapeType.alias\n )\n : importDefault(file, escapeType.module, escapeType.alias),\n [value]\n );\n } else {\n value = confident\n ? t.stringLiteral(toString(computed))\n : t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/to-string.js\",\n \"marko_to_string\"\n ),\n [value]\n );\n }\n\n const replacement = write`${value}`;\n\n if (replacement) {\n path.replaceWith(withPreviousLocation(replacement, node));\n } else {\n path.remove();\n }\n}\n\nfunction findParentTagName(path) {\n while ((path = path.parentPath)) {\n if (path.isProgram()) {\n return;\n }\n\n if (path.isMarkoTag()) {\n const tagDef = getTagDef(path);\n return tagDef && tagDef.html && path.get(\"name.value\").node;\n }\n }\n}\n"],"file":"index[html].js"}
@@ -23,7 +23,7 @@ var _withPreviousLocation = _interopRequireDefault(require("../../../util/with-p
23
23
  _compiler.types.callExpression(
24
24
  (0, _babelUtils.importDefault)(
25
25
  file,
26
- "marko/src/runtime/helpers/class-value",
26
+ "marko/src/runtime/helpers/class-value.js",
27
27
  "marko_class_merge"),
28
28
 
29
29
  [value.node]),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/class.js"],"names":["exit","tag","_","value","hub","file","isStringLiteral","confident","computed","evaluate","s","replaceWith","t","stringLiteral","nullLiteral","callExpression","node"],"mappings":"qJAAA;AACA;AACA;AACA,oG;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,CAAN,EAASC,KAAT,EAAgB;AAClB,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFJ,IAAAA,GAFJ;AAGA,QAAI,CAAC,6BAAYA,GAAZ,CAAL,EAAuB;AACvB,QAAIE,KAAK,CAACG,eAAN,EAAJ,EAA6B;;AAE7B,UAAM,EAAEC,SAAF,EAAaJ,KAAK,EAAEK,QAApB,KAAiCL,KAAK,CAACM,QAAN,EAAvC;;AAEA,UAAMC,CAAC,GAAG,yBAAcF,QAAd,CAAV;AACAL,IAAAA,KAAK,CAACQ,WAAN;AACEJ,IAAAA,SAAS;AACLG,IAAAA,CAAC;AACCE,oBAAEC,aAAF,CAAgBH,CAAhB,CADD;AAECE,oBAAEE,WAAF,EAHG;AAIL;AACEF,oBAAEG,cAAF;AACE;AACEV,IAAAA,IADF;AAEE,2CAFF;AAGE,uBAHF,CADF;;AAME,KAACF,KAAK,CAACa,IAAP,CANF,CADF;;AASEb,IAAAA,KAAK,CAACa,IATR,CALN;;;AAiBD,GA5BY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { isNativeTag, importDefault } from \"@marko/babel-utils\";\nimport classToString from \"marko/src/runtime/helpers/class-value\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport default {\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (!isNativeTag(tag)) return;\n if (value.isStringLiteral()) return;\n\n const { confident, value: computed } = value.evaluate();\n\n const s = classToString(computed);\n value.replaceWith(\n confident\n ? s\n ? t.stringLiteral(s)\n : t.nullLiteral()\n : withPreviousLocation(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/class-value\",\n \"marko_class_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};\n"],"file":"class.js"}
1
+ {"version":3,"sources":["../../../../src/tag/attribute/directives/class.js"],"names":["exit","tag","_","value","hub","file","isStringLiteral","confident","computed","evaluate","s","replaceWith","t","stringLiteral","nullLiteral","callExpression","node"],"mappings":"qJAAA;AACA;AACA;AACA,oG;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,CAAN,EAASC,KAAT,EAAgB;AAClB,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFJ,IAAAA,GAFJ;AAGA,QAAI,CAAC,6BAAYA,GAAZ,CAAL,EAAuB;AACvB,QAAIE,KAAK,CAACG,eAAN,EAAJ,EAA6B;;AAE7B,UAAM,EAAEC,SAAF,EAAaJ,KAAK,EAAEK,QAApB,KAAiCL,KAAK,CAACM,QAAN,EAAvC;;AAEA,UAAMC,CAAC,GAAG,yBAAcF,QAAd,CAAV;AACAL,IAAAA,KAAK,CAACQ,WAAN;AACEJ,IAAAA,SAAS;AACLG,IAAAA,CAAC;AACCE,oBAAEC,aAAF,CAAgBH,CAAhB,CADD;AAECE,oBAAEE,WAAF,EAHG;AAIL;AACEF,oBAAEG,cAAF;AACE;AACEV,IAAAA,IADF;AAEE,8CAFF;AAGE,uBAHF,CADF;;AAME,KAACF,KAAK,CAACa,IAAP,CANF,CADF;;AASEb,IAAAA,KAAK,CAACa,IATR,CALN;;;AAiBD,GA5BY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { isNativeTag, importDefault } from \"@marko/babel-utils\";\nimport classToString from \"marko/src/runtime/helpers/class-value\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport default {\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (!isNativeTag(tag)) return;\n if (value.isStringLiteral()) return;\n\n const { confident, value: computed } = value.evaluate();\n\n const s = classToString(computed);\n value.replaceWith(\n confident\n ? s\n ? t.stringLiteral(s)\n : t.nullLiteral()\n : withPreviousLocation(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/class-value.js\",\n \"marko_class_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};\n"],"file":"class.js"}
@@ -19,7 +19,7 @@ var _withPreviousLocation = _interopRequireDefault(require("../../../util/with-p
19
19
  _compiler.types.callExpression(
20
20
  (0, _babelUtils.importDefault)(
21
21
  file,
22
- "marko/src/runtime/helpers/style-value",
22
+ "marko/src/runtime/helpers/style-value.js",
23
23
  "marko_style_merge"),
24
24
 
25
25
  [value.node]),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/directives/style.js"],"names":["exit","tag","_","value","hub","file","isStringLiteral","confident","computed","evaluate","replaceWith","t","stringLiteral","callExpression","node"],"mappings":"qJAAA;AACA;AACA;AACA,oG;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,CAAN,EAASC,KAAT,EAAgB;AAClB,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFJ,IAAAA,GAFJ;AAGA,QAAIE,KAAK,CAACG,eAAN,EAAJ,EAA6B;AAC7B,QAAI,CAAC,6BAAYL,GAAZ,CAAL,EAAuB;;AAEvB,UAAM,EAAEM,SAAF,EAAaJ,KAAK,EAAEK,QAApB,KAAiCL,KAAK,CAACM,QAAN,EAAvC;AACAN,IAAAA,KAAK,CAACO,WAAN;AACE;AACEH,IAAAA,SAAS;AACLI,oBAAEC,aAAF,CAAgB,yBAAcJ,QAAd,KAA2B,EAA3C,CADK;AAELG,oBAAEE,cAAF;AACE;AACER,IAAAA,IADF;AAEE,2CAFF;AAGE,uBAHF,CADF;;AAME,KAACF,KAAK,CAACW,IAAP,CANF,CAHN;;AAWEX,IAAAA,KAAK,CAACW,IAXR,CADF;;;AAeD,GAxBY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { isNativeTag, importDefault } from \"@marko/babel-utils\";\nimport styleToString from \"marko/src/runtime/helpers/style-value\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport default {\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (value.isStringLiteral()) return;\n if (!isNativeTag(tag)) return;\n\n const { confident, value: computed } = value.evaluate();\n value.replaceWith(\n withPreviousLocation(\n confident\n ? t.stringLiteral(styleToString(computed) || \"\")\n : t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/style-value\",\n \"marko_style_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};\n"],"file":"style.js"}
1
+ {"version":3,"sources":["../../../../src/tag/attribute/directives/style.js"],"names":["exit","tag","_","value","hub","file","isStringLiteral","confident","computed","evaluate","replaceWith","t","stringLiteral","callExpression","node"],"mappings":"qJAAA;AACA;AACA;AACA,oG;;AAEe;AACbA,EAAAA,IAAI,CAACC,GAAD,EAAMC,CAAN,EAASC,KAAT,EAAgB;AAClB,UAAM;AACJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFJ,IAAAA,GAFJ;AAGA,QAAIE,KAAK,CAACG,eAAN,EAAJ,EAA6B;AAC7B,QAAI,CAAC,6BAAYL,GAAZ,CAAL,EAAuB;;AAEvB,UAAM,EAAEM,SAAF,EAAaJ,KAAK,EAAEK,QAApB,KAAiCL,KAAK,CAACM,QAAN,EAAvC;AACAN,IAAAA,KAAK,CAACO,WAAN;AACE;AACEH,IAAAA,SAAS;AACLI,oBAAEC,aAAF,CAAgB,yBAAcJ,QAAd,KAA2B,EAA3C,CADK;AAELG,oBAAEE,cAAF;AACE;AACER,IAAAA,IADF;AAEE,8CAFF;AAGE,uBAHF,CADF;;AAME,KAACF,KAAK,CAACW,IAAP,CANF,CAHN;;AAWEX,IAAAA,KAAK,CAACW,IAXR,CADF;;;AAeD,GAxBY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { isNativeTag, importDefault } from \"@marko/babel-utils\";\nimport styleToString from \"marko/src/runtime/helpers/style-value\";\nimport withPreviousLocation from \"../../../util/with-previous-location\";\n\nexport default {\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (value.isStringLiteral()) return;\n if (!isNativeTag(tag)) return;\n\n const { confident, value: computed } = value.evaluate();\n value.replaceWith(\n withPreviousLocation(\n confident\n ? t.stringLiteral(styleToString(computed) || \"\")\n : t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/style-value.js\",\n \"marko_style_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};\n"],"file":"style.js"}
@@ -65,7 +65,10 @@ const attachedDetachedLoaded = new WeakSet();var _default =
65
65
  if (!attachedDetachedLoaded.has(file)) {
66
66
  // Pull in helper for element attach/detach;
67
67
  attachedDetachedLoaded.add(file);
68
- (0, _babelUtils.importDefault)(file, "marko/src/runtime/components/attach-detach");
68
+ (0, _babelUtils.importDefault)(
69
+ file,
70
+ "marko/src/runtime/components/attach-detach.js");
71
+
69
72
  }
70
73
  }
71
74
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tag/attribute/index.js"],"names":["EMPTY_ARRAY","EVENT_REG","attachedDetachedLoaded","WeakSet","enter","attr","hub","file","tag","parentPath","value","get","name","arguments","args","node","isVDOM","markoOpts","output","execModifiersAndDirectives","eventType","isDash","eventName","exec","length","buildCodeFrameError","isBooleanLiteral","toLowerCase","charAt","slice","handlers","once","has","add","remove","exit","tagDef","html","getAttribute","bound","type","modifier","modifierTranslate","modifiers","tagNode","attrNode","undefined","directiveTranslate","directives"],"mappings":"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","sourcesContent":["import { isNativeTag, getTagDef, importDefault } from \"@marko/babel-utils\";\nimport directives from \"./directives\";\nimport modifiers from \"./modifiers\";\n\nconst EMPTY_ARRAY = [];\nconst EVENT_REG = /^(on(?:ce)?)(-)?(.*)$/;\nconst attachedDetachedLoaded = new WeakSet();\n\nexport default {\n enter(attr) {\n const {\n hub: { file }\n } = attr;\n const tag = attr.parentPath;\n const value = attr.get(\"value\");\n const { name, arguments: args } = attr.node;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (execModifiersAndDirectives(\"enter\", tag, attr, value)) {\n return;\n }\n\n // Event handlers.\n let [, eventType, isDash, eventName] = EVENT_REG.exec(name) || EMPTY_ARRAY;\n\n if (eventType && args) {\n if (!args.length) {\n throw attr.buildCodeFrameError(\"Event handler is missing arguments.\");\n }\n\n if (!value.isBooleanLiteral(true)) {\n throw value.buildCodeFrameError(\n `\"${name}(handler, ...args)\" does not accept a value.`\n );\n }\n\n if (!isDash) {\n // When the event is not in dash case we normalized differently for html tags and custom tags.\n\n if (isNativeTag(tag)) {\n // Lowercase the string\n // Example: onMouseOver → mouseover\n eventName = eventName.toLowerCase();\n } else {\n // Convert first character to lower case:\n // Example: onBeforeShow → beforeShow\n eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1);\n }\n }\n\n const handlers = (tag.node.handlers = tag.node.handlers || {});\n if (handlers[eventName]) {\n throw attr.buildCodeFrameError(\n \"Duplicate event handlers are not supported.\"\n );\n }\n\n handlers[eventName] = {\n arguments: args,\n once: eventType === \"once\"\n };\n\n if (isVDOM) {\n if (eventName === \"attach\" || eventName === \"detach\") {\n if (!attachedDetachedLoaded.has(file)) {\n // Pull in helper for element attach/detach;\n attachedDetachedLoaded.add(file);\n importDefault(file, \"marko/src/runtime/components/attach-detach\");\n }\n }\n }\n\n attr.remove();\n return;\n }\n },\n exit(attr) {\n const tag = attr.parentPath;\n const { name, arguments: args } = attr.node;\n const value = attr.get(\"value\");\n\n if (execModifiersAndDirectives(\"exit\", tag, attr, value)) {\n return;\n }\n\n const tagDef = getTagDef(tag);\n\n if (tagDef) {\n if (!tagDef.html && !tagDef.getAttribute(name)) {\n throw attr.buildCodeFrameError(\n `<${\n tag.get(\"name.value\").node\n }> does not support the \"${name}\" attribute.`\n );\n }\n }\n\n if (args && args.length) {\n throw attr.buildCodeFrameError(\n `Unsupported arguments on the \"${name}\" attribute.`\n );\n }\n\n if (attr.node.bound) {\n throw attr.buildCodeFrameError(\n `The binding syntax (:=) is only supported when using the \"Tags API\".`\n );\n }\n }\n};\n\nfunction execModifiersAndDirectives(type, tag, attr, value) {\n const { node } = attr;\n const { name, modifier } = node;\n\n if (modifier) {\n const modifierTranslate = modifiers[modifier];\n if (modifierTranslate) {\n if (modifierTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n modifierTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n } else if (name === \"xlink\" && modifier === \"href\" && isNativeTag(tag)) {\n node.name += `:${modifier}`;\n node.modifier = undefined;\n } else {\n throw attr.buildCodeFrameError(`Unsupported modifier \"${modifier}\".`);\n }\n }\n\n const directiveTranslate = directives[name];\n if (directiveTranslate) {\n if (directiveTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n directiveTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/tag/attribute/index.js"],"names":["EMPTY_ARRAY","EVENT_REG","attachedDetachedLoaded","WeakSet","enter","attr","hub","file","tag","parentPath","value","get","name","arguments","args","node","isVDOM","markoOpts","output","execModifiersAndDirectives","eventType","isDash","eventName","exec","length","buildCodeFrameError","isBooleanLiteral","toLowerCase","charAt","slice","handlers","once","has","add","remove","exit","tagDef","html","getAttribute","bound","type","modifier","modifierTranslate","modifiers","tagNode","attrNode","undefined","directiveTranslate","directives"],"mappings":"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","sourcesContent":["import { isNativeTag, getTagDef, importDefault } from \"@marko/babel-utils\";\nimport directives from \"./directives\";\nimport modifiers from \"./modifiers\";\n\nconst EMPTY_ARRAY = [];\nconst EVENT_REG = /^(on(?:ce)?)(-)?(.*)$/;\nconst attachedDetachedLoaded = new WeakSet();\n\nexport default {\n enter(attr) {\n const {\n hub: { file }\n } = attr;\n const tag = attr.parentPath;\n const value = attr.get(\"value\");\n const { name, arguments: args } = attr.node;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (execModifiersAndDirectives(\"enter\", tag, attr, value)) {\n return;\n }\n\n // Event handlers.\n let [, eventType, isDash, eventName] = EVENT_REG.exec(name) || EMPTY_ARRAY;\n\n if (eventType && args) {\n if (!args.length) {\n throw attr.buildCodeFrameError(\"Event handler is missing arguments.\");\n }\n\n if (!value.isBooleanLiteral(true)) {\n throw value.buildCodeFrameError(\n `\"${name}(handler, ...args)\" does not accept a value.`\n );\n }\n\n if (!isDash) {\n // When the event is not in dash case we normalized differently for html tags and custom tags.\n\n if (isNativeTag(tag)) {\n // Lowercase the string\n // Example: onMouseOver → mouseover\n eventName = eventName.toLowerCase();\n } else {\n // Convert first character to lower case:\n // Example: onBeforeShow → beforeShow\n eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1);\n }\n }\n\n const handlers = (tag.node.handlers = tag.node.handlers || {});\n if (handlers[eventName]) {\n throw attr.buildCodeFrameError(\n \"Duplicate event handlers are not supported.\"\n );\n }\n\n handlers[eventName] = {\n arguments: args,\n once: eventType === \"once\"\n };\n\n if (isVDOM) {\n if (eventName === \"attach\" || eventName === \"detach\") {\n if (!attachedDetachedLoaded.has(file)) {\n // Pull in helper for element attach/detach;\n attachedDetachedLoaded.add(file);\n importDefault(\n file,\n \"marko/src/runtime/components/attach-detach.js\"\n );\n }\n }\n }\n\n attr.remove();\n return;\n }\n },\n exit(attr) {\n const tag = attr.parentPath;\n const { name, arguments: args } = attr.node;\n const value = attr.get(\"value\");\n\n if (execModifiersAndDirectives(\"exit\", tag, attr, value)) {\n return;\n }\n\n const tagDef = getTagDef(tag);\n\n if (tagDef) {\n if (!tagDef.html && !tagDef.getAttribute(name)) {\n throw attr.buildCodeFrameError(\n `<${\n tag.get(\"name.value\").node\n }> does not support the \"${name}\" attribute.`\n );\n }\n }\n\n if (args && args.length) {\n throw attr.buildCodeFrameError(\n `Unsupported arguments on the \"${name}\" attribute.`\n );\n }\n\n if (attr.node.bound) {\n throw attr.buildCodeFrameError(\n `The binding syntax (:=) is only supported when using the \"Tags API\".`\n );\n }\n }\n};\n\nfunction execModifiersAndDirectives(type, tag, attr, value) {\n const { node } = attr;\n const { name, modifier } = node;\n\n if (modifier) {\n const modifierTranslate = modifiers[modifier];\n if (modifierTranslate) {\n if (modifierTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n modifierTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n } else if (name === \"xlink\" && modifier === \"href\" && isNativeTag(tag)) {\n node.name += `:${modifier}`;\n node.modifier = undefined;\n } else {\n throw attr.buildCodeFrameError(`Unsupported modifier \"${modifier}\".`);\n }\n }\n\n const directiveTranslate = directives[name];\n if (directiveTranslate) {\n if (directiveTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n directiveTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n }\n}\n"],"file":"index.js"}
@@ -18,7 +18,7 @@ const hasMonkeyPatch = new WeakSet();
18
18
 
19
19
  if (isVDOM && !hasMonkeyPatch.has(file)) {
20
20
  hasMonkeyPatch.add(file);
21
- (0, _babelUtils.importDefault)(file, "marko/src/runtime/vdom/preserve-attrs");
21
+ (0, _babelUtils.importDefault)(file, "marko/src/runtime/vdom/preserve-attrs.js");
22
22
  }
23
23
  }
24
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/tag/attribute/modifiers/no-update.js"],"names":["hasMonkeyPatch","WeakSet","exit","tag","attr","node","hub","file","isVDOM","markoOpts","output","preserveAttrs","has","add","push","name"],"mappings":"gEAAA;;AAEA,MAAMA,cAAc,GAAG,IAAIC,OAAJ,EAAvB;;AAEA;AACA;AACA,G;AACe;AACbC,EAAAA,IAAI,CAACC,GAAD,EAAMC,IAAN,EAAY;AACd,UAAM;AACJC,MAAAA,IADI;AAEJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFJ,IAAAA,GAHJ;AAIA,UAAMK,MAAM,GAAGD,IAAI,CAACE,SAAL,CAAeC,MAAf,KAA0B,MAAzC;;AAEA,QAAI,CAACL,IAAI,CAACM,aAAV,EAAyB;AACvBN,MAAAA,IAAI,CAACM,aAAL,GAAqB,EAArB;;AAEA,UAAIH,MAAM,IAAI,CAACR,cAAc,CAACY,GAAf,CAAmBL,IAAnB,CAAf,EAAyC;AACvCP,QAAAA,cAAc,CAACa,GAAf,CAAmBN,IAAnB;AACA,uCAAcA,IAAd,EAAoB,uCAApB;AACD;AACF;;AAEDF,IAAAA,IAAI,CAACM,aAAL,CAAmBG,IAAnB,CAAwBV,IAAI,CAACC,IAAL,CAAUU,IAAlC;AACD,GAlBY,E","sourcesContent":["import { importDefault } from \"@marko/babel-utils\";\n\nconst hasMonkeyPatch = new WeakSet();\n\n/**\n * Does nothing in html mode.\n */\nexport default {\n exit(tag, attr) {\n const {\n node,\n hub: { file }\n } = tag;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (!node.preserveAttrs) {\n node.preserveAttrs = [];\n\n if (isVDOM && !hasMonkeyPatch.has(file)) {\n hasMonkeyPatch.add(file);\n importDefault(file, \"marko/src/runtime/vdom/preserve-attrs\");\n }\n }\n\n node.preserveAttrs.push(attr.node.name);\n }\n};\n"],"file":"no-update.js"}
1
+ {"version":3,"sources":["../../../../src/tag/attribute/modifiers/no-update.js"],"names":["hasMonkeyPatch","WeakSet","exit","tag","attr","node","hub","file","isVDOM","markoOpts","output","preserveAttrs","has","add","push","name"],"mappings":"gEAAA;;AAEA,MAAMA,cAAc,GAAG,IAAIC,OAAJ,EAAvB;;AAEA;AACA;AACA,G;AACe;AACbC,EAAAA,IAAI,CAACC,GAAD,EAAMC,IAAN,EAAY;AACd,UAAM;AACJC,MAAAA,IADI;AAEJC,MAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFJ,IAAAA,GAHJ;AAIA,UAAMK,MAAM,GAAGD,IAAI,CAACE,SAAL,CAAeC,MAAf,KAA0B,MAAzC;;AAEA,QAAI,CAACL,IAAI,CAACM,aAAV,EAAyB;AACvBN,MAAAA,IAAI,CAACM,aAAL,GAAqB,EAArB;;AAEA,UAAIH,MAAM,IAAI,CAACR,cAAc,CAACY,GAAf,CAAmBL,IAAnB,CAAf,EAAyC;AACvCP,QAAAA,cAAc,CAACa,GAAf,CAAmBN,IAAnB;AACA,uCAAcA,IAAd,EAAoB,0CAApB;AACD;AACF;;AAEDF,IAAAA,IAAI,CAACM,aAAL,CAAmBG,IAAnB,CAAwBV,IAAI,CAACC,IAAL,CAAUU,IAAlC;AACD,GAlBY,E","sourcesContent":["import { importDefault } from \"@marko/babel-utils\";\n\nconst hasMonkeyPatch = new WeakSet();\n\n/**\n * Does nothing in html mode.\n */\nexport default {\n exit(tag, attr) {\n const {\n node,\n hub: { file }\n } = tag;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (!node.preserveAttrs) {\n node.preserveAttrs = [];\n\n if (isVDOM && !hasMonkeyPatch.has(file)) {\n hasMonkeyPatch.add(file);\n importDefault(file, \"marko/src/runtime/vdom/preserve-attrs.js\");\n }\n }\n\n node.preserveAttrs.push(attr.node.name);\n }\n};\n"],"file":"no-update.js"}
@@ -62,7 +62,7 @@ function _default(path, isNullable) {
62
62
  _compiler.types.callExpression(
63
63
  (0, _babelUtils.importDefault)(
64
64
  file,
65
- "marko/src/runtime/helpers/render-tag",
65
+ "marko/src/runtime/helpers/render-tag.js",
66
66
  "marko_tag"),
67
67
 
68
68
  [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tag/custom-tag.js"],"names":["path","isNullable","hub","file","node","markoOpts","name","key","tagIdentifier","t","isStringLiteral","tagName","value","relativePath","extra","tagDef","taglibId","renderer","ignoreUnrecognizedTags","get","buildCodeFrameError","foundAttrs","customTagRenderCall","expressionStatement","callExpression","isNullLiteral","objectExpression","identifier","_componentDefIdentifier","renderBodyIdentifier","renderBodyProp","isObjectExpression","properties","find","prop","scope","generateUidIdentifier","insertBefore","variableDeclaration","variableDeclarator","replaceWith","ifStatement"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n assertNoArgs,\n getTagDef,\n importDefault,\n resolveRelativePath\n} from \"@marko/babel-utils\";\nimport { getAttrs, buildEventHandlerArray } from \"./util\";\nimport nativeTag from \"./native-tag\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const { markoOpts } = file;\n const { name, key } = node;\n\n assertNoArgs(path);\n\n let tagIdentifier;\n\n if (t.isStringLiteral(name)) {\n const tagName = name.value;\n let relativePath = node.extra && node.extra.relativePath;\n\n if (!relativePath) {\n const tagDef = getTagDef(path);\n if (\n tagDef &&\n tagDef.taglibId === \"marko-default-core\" &&\n tagDef.renderer\n ) {\n // Normally new tags should not be added in the translate stage.\n // We make an exception here for core tags, init-components & _preserve being the primary culprits.\n // TODO: in the future refactor so this is not needed.\n relativePath = resolveRelativePath(file, tagDef.renderer);\n }\n }\n\n if (!relativePath) {\n if (markoOpts.ignoreUnrecognizedTags) {\n return nativeTag(path);\n }\n\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n `Unable to find entry point for custom tag <${tagName}>.`\n );\n }\n\n tagIdentifier = importDefault(file, relativePath, tagName);\n } else {\n tagIdentifier = name;\n }\n\n const foundAttrs = getAttrs(path);\n const customTagRenderCall = withPreviousLocation(\n t.expressionStatement(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/render-tag\",\n \"marko_tag\"\n ),\n [\n tagIdentifier,\n // TODO: this could be left as null if we froze input mutations and used a default object in the runtime.\n t.isNullLiteral(foundAttrs) ? t.objectExpression([]) : foundAttrs,\n t.identifier(\"out\"),\n file._componentDefIdentifier,\n key,\n ...buildEventHandlerArray(path)\n ]\n )\n ),\n node\n );\n\n if (isNullable) {\n let renderBodyIdentifier;\n const renderBodyProp =\n t.isObjectExpression(foundAttrs) &&\n foundAttrs.properties.find(\n prop => prop.key && prop.key.value === \"renderBody\"\n );\n\n if (renderBodyProp) {\n renderBodyIdentifier = path.scope.generateUidIdentifier(\"renderBody\");\n path.insertBefore(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(renderBodyIdentifier, renderBodyProp.value)\n ])\n );\n\n renderBodyProp.value = renderBodyIdentifier;\n }\n\n path.replaceWith(\n t.ifStatement(\n name,\n customTagRenderCall,\n renderBodyIdentifier &&\n t.expressionStatement(\n t.callExpression(renderBodyIdentifier, [t.identifier(\"out\")])\n )\n )\n );\n } else {\n path.replaceWith(customTagRenderCall);\n }\n}\n"],"file":"custom-tag.js"}
1
+ {"version":3,"sources":["../../src/tag/custom-tag.js"],"names":["path","isNullable","hub","file","node","markoOpts","name","key","tagIdentifier","t","isStringLiteral","tagName","value","relativePath","extra","tagDef","taglibId","renderer","ignoreUnrecognizedTags","get","buildCodeFrameError","foundAttrs","customTagRenderCall","expressionStatement","callExpression","isNullLiteral","objectExpression","identifier","_componentDefIdentifier","renderBodyIdentifier","renderBodyProp","isObjectExpression","properties","find","prop","scope","generateUidIdentifier","insertBefore","variableDeclaration","variableDeclarator","replaceWith","ifStatement"],"mappings":"uJAAA;AACA;;;;;;AAMA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgBC,UAAhB,EAA4B;AACzC,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAFI;AAGFJ,EAAAA,IAHJ;AAIA,QAAM,EAAEK,SAAF,KAAgBF,IAAtB;AACA,QAAM,EAAEG,IAAF,EAAQC,GAAR,KAAgBH,IAAtB;;AAEA,gCAAaJ,IAAb;;AAEA,MAAIQ,aAAJ;;AAEA,MAAIC,gBAAEC,eAAF,CAAkBJ,IAAlB,CAAJ,EAA6B;AAC3B,UAAMK,OAAO,GAAGL,IAAI,CAACM,KAArB;AACA,QAAIC,YAAY,GAAGT,IAAI,CAACU,KAAL,IAAcV,IAAI,CAACU,KAAL,CAAWD,YAA5C;;AAEA,QAAI,CAACA,YAAL,EAAmB;AACjB,YAAME,MAAM,GAAG,2BAAUf,IAAV,CAAf;AACA;AACEe,MAAAA,MAAM;AACNA,MAAAA,MAAM,CAACC,QAAP,KAAoB,oBADpB;AAEAD,MAAAA,MAAM,CAACE,QAHT;AAIE;AACA;AACA;AACA;AACAJ,QAAAA,YAAY,GAAG,qCAAoBV,IAApB,EAA0BY,MAAM,CAACE,QAAjC,CAAf;AACD;AACF;;AAED,QAAI,CAACJ,YAAL,EAAmB;AACjB,UAAIR,SAAS,CAACa,sBAAd,EAAsC;AACpC,eAAO,wBAAUlB,IAAV,CAAP;AACD;;AAED,YAAMA,IAAI;AACPmB,MAAAA,GADG,CACC,MADD;AAEHC,MAAAA,mBAFG;AAGD,oDAA6CT,OAAQ,IAHpD,CAAN;;AAKD;;AAEDH,IAAAA,aAAa,GAAG,+BAAcL,IAAd,EAAoBU,YAApB,EAAkCF,OAAlC,CAAhB;AACD,GA/BD,MA+BO;AACLH,IAAAA,aAAa,GAAGF,IAAhB;AACD;;AAED,QAAMe,UAAU,GAAG,oBAASrB,IAAT,CAAnB;AACA,QAAMsB,mBAAmB,GAAG;AAC1Bb,kBAAEc,mBAAF;AACEd,kBAAEe,cAAF;AACE;AACErB,EAAAA,IADF;AAEE,2CAFF;AAGE,aAHF,CADF;;AAME;AACEK,EAAAA,aADF;AAEE;AACAC,kBAAEgB,aAAF,CAAgBJ,UAAhB,IAA8BZ,gBAAEiB,gBAAF,CAAmB,EAAnB,CAA9B,GAAuDL,UAHzD;AAIEZ,kBAAEkB,UAAF,CAAa,KAAb,CAJF;AAKExB,EAAAA,IAAI,CAACyB,uBALP;AAMErB,EAAAA,GANF;AAOE,KAAG,kCAAuBP,IAAvB,CAPL,CANF,CADF,CAD0B;;;;AAmB1BI,EAAAA,IAnB0B,CAA5B;;;AAsBA,MAAIH,UAAJ,EAAgB;AACd,QAAI4B,oBAAJ;AACA,UAAMC,cAAc;AAClBrB,oBAAEsB,kBAAF,CAAqBV,UAArB;AACAA,IAAAA,UAAU,CAACW,UAAX,CAAsBC,IAAtB;AACE,KAAAC,IAAI,KAAIA,IAAI,CAAC3B,GAAL,IAAY2B,IAAI,CAAC3B,GAAL,CAASK,KAAT,KAAmB,YADzC,CAFF;;;AAMA,QAAIkB,cAAJ,EAAoB;AAClBD,MAAAA,oBAAoB,GAAG7B,IAAI,CAACmC,KAAL,CAAWC,qBAAX,CAAiC,YAAjC,CAAvB;AACApC,MAAAA,IAAI,CAACqC,YAAL;AACE5B,sBAAE6B,mBAAF,CAAsB,OAAtB,EAA+B;AAC7B7B,sBAAE8B,kBAAF,CAAqBV,oBAArB,EAA2CC,cAAc,CAAClB,KAA1D,CAD6B,CAA/B,CADF;;;;AAMAkB,MAAAA,cAAc,CAAClB,KAAf,GAAuBiB,oBAAvB;AACD;;AAED7B,IAAAA,IAAI,CAACwC,WAAL;AACE/B,oBAAEgC,WAAF;AACEnC,IAAAA,IADF;AAEEgB,IAAAA,mBAFF;AAGEO,IAAAA,oBAAoB;AAClBpB,oBAAEc,mBAAF;AACEd,oBAAEe,cAAF,CAAiBK,oBAAjB,EAAuC,CAACpB,gBAAEkB,UAAF,CAAa,KAAb,CAAD,CAAvC,CADF,CAJJ,CADF;;;;AAUD,GA7BD,MA6BO;AACL3B,IAAAA,IAAI,CAACwC,WAAL,CAAiBlB,mBAAjB;AACD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n assertNoArgs,\n getTagDef,\n importDefault,\n resolveRelativePath\n} from \"@marko/babel-utils\";\nimport { getAttrs, buildEventHandlerArray } from \"./util\";\nimport nativeTag from \"./native-tag\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const { markoOpts } = file;\n const { name, key } = node;\n\n assertNoArgs(path);\n\n let tagIdentifier;\n\n if (t.isStringLiteral(name)) {\n const tagName = name.value;\n let relativePath = node.extra && node.extra.relativePath;\n\n if (!relativePath) {\n const tagDef = getTagDef(path);\n if (\n tagDef &&\n tagDef.taglibId === \"marko-default-core\" &&\n tagDef.renderer\n ) {\n // Normally new tags should not be added in the translate stage.\n // We make an exception here for core tags, init-components & _preserve being the primary culprits.\n // TODO: in the future refactor so this is not needed.\n relativePath = resolveRelativePath(file, tagDef.renderer);\n }\n }\n\n if (!relativePath) {\n if (markoOpts.ignoreUnrecognizedTags) {\n return nativeTag(path);\n }\n\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n `Unable to find entry point for custom tag <${tagName}>.`\n );\n }\n\n tagIdentifier = importDefault(file, relativePath, tagName);\n } else {\n tagIdentifier = name;\n }\n\n const foundAttrs = getAttrs(path);\n const customTagRenderCall = withPreviousLocation(\n t.expressionStatement(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/helpers/render-tag.js\",\n \"marko_tag\"\n ),\n [\n tagIdentifier,\n // TODO: this could be left as null if we froze input mutations and used a default object in the runtime.\n t.isNullLiteral(foundAttrs) ? t.objectExpression([]) : foundAttrs,\n t.identifier(\"out\"),\n file._componentDefIdentifier,\n key,\n ...buildEventHandlerArray(path)\n ]\n )\n ),\n node\n );\n\n if (isNullable) {\n let renderBodyIdentifier;\n const renderBodyProp =\n t.isObjectExpression(foundAttrs) &&\n foundAttrs.properties.find(\n prop => prop.key && prop.key.value === \"renderBody\"\n );\n\n if (renderBodyProp) {\n renderBodyIdentifier = path.scope.generateUidIdentifier(\"renderBody\");\n path.insertBefore(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(renderBodyIdentifier, renderBodyProp.value)\n ])\n );\n\n renderBodyProp.value = renderBodyIdentifier;\n }\n\n path.replaceWith(\n t.ifStatement(\n name,\n customTagRenderCall,\n renderBodyIdentifier &&\n t.expressionStatement(\n t.callExpression(renderBodyIdentifier, [t.identifier(\"out\")])\n )\n )\n );\n } else {\n path.replaceWith(customTagRenderCall);\n }\n}\n"],"file":"custom-tag.js"}
@@ -41,7 +41,7 @@ function _default(path) {
41
41
  _compiler.types.callExpression(
42
42
  (0, _babelUtils.importDefault)(
43
43
  file,
44
- `marko/src/runtime/helpers/dynamic-tag`,
44
+ `marko/src/runtime/helpers/dynamic-tag.js`,
45
45
  "marko_dynamic_tag"),
46
46
 
47
47
  [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tag/dynamic-tag.js"],"names":["path","node","hub","file","tagProperties","extra","properties","key","arguments","args","foundAttrs","renderBodyProp","attrsLen","t","isNullLiteral","preserveAttrs","push","objectProperty","identifier","arrayExpression","map","name","stringLiteral","isObjectExpression","renderBodyIndex","findIndex","prop","value","length","splice","dynamicTagRenderCall","expressionStatement","callExpression","arrowFunctionExpression","nullLiteral","objectExpression","_componentDefIdentifier","replaceWith"],"mappings":"uJAAA;AACA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAMI,aAAa,GAAIJ,IAAI,CAACC,IAAL,CAAUI,KAAV,IAAmBL,IAAI,CAACC,IAAL,CAAUI,KAAV,CAAgBC,UAApC,IAAmD,EAAzE;AACA,QAAM,EAAEC,GAAF,EAAOC,SAAS,EAAEC,IAAlB,KAA2BR,IAAjC;AACA,QAAMS,UAAU,GAAG,oBAASV,IAAT,EAAe,IAAf,CAAnB;AACA,MAAIW,cAAJ;AACA,MAAIC,QAAQ,GAAGC,gBAAEC,aAAF,CAAgBJ,UAAhB,IAA8B,CAA9B,GAAkC,CAAjD;;AAEA,MAAIT,IAAI,CAACc,aAAT,EAAwB;AACtBX,IAAAA,aAAa,CAACY,IAAd;AACEH,oBAAEI,cAAF;AACEJ,oBAAEK,UAAF,CAAa,IAAb,CADF;AAEEL,oBAAEM,eAAF,CAAkBlB,IAAI,CAACc,aAAL,CAAmBK,GAAnB,CAAuB,CAAAC,IAAI,KAAIR,gBAAES,aAAF,CAAgBD,IAAhB,CAA/B,CAAlB,CAFF,CADF;;;AAMD;;AAED,MAAIR,gBAAEU,kBAAF,CAAqBb,UAArB,CAAJ,EAAsC;AACpC,UAAMc,eAAe,GAAGd,UAAU,CAACJ,UAAX,CAAsBmB,SAAtB;AACtB,KAAAC,IAAI,KAAIA,IAAI,CAACnB,GAAL,IAAYmB,IAAI,CAACnB,GAAL,CAASoB,KAAT,KAAmB,YADjB,CAAxB;;;AAIAf,IAAAA,QAAQ,GAAGF,UAAU,CAACJ,UAAX,CAAsBsB,MAAjC;;AAEA,QAAIJ,eAAe,GAAG,CAAC,CAAvB,EAA0B;AACxBb,MAAAA,cAAc,GAAGD,UAAU,CAACJ,UAAX,CAAsBkB,eAAtB,CAAjB;AACAd,MAAAA,UAAU,CAACJ,UAAX,CAAsBuB,MAAtB,CAA6BL,eAA7B,EAA8C,CAA9C;AACAZ,MAAAA,QAAQ;AACT;AACF;;AAED,QAAMkB,oBAAoB,GAAGjB,gBAAEkB,mBAAF;AAC3BlB,kBAAEmB,cAAF;AACE;AACE7B,EAAAA,IADF;AAEG,yCAFH;AAGE,qBAHF,CADF;;AAME;AACEU,kBAAEK,UAAF,CAAa,KAAb,CADF;AAEEjB,EAAAA,IAAI,CAACoB,IAFP;AAGET,EAAAA,QAAQ,GAAGC,gBAAEoB,uBAAF,CAA0B,EAA1B,EAA8BvB,UAA9B,CAAH,GAA+CG,gBAAEqB,WAAF,EAHzD;AAIEvB,EAAAA,cAAc,GAAGA,cAAc,CAACgB,KAAlB,GAA0Bd,gBAAEqB,WAAF,EAJ1C;AAKEzB,EAAAA,IAAI,IAAIA,IAAI,CAACmB,MAAb,GAAsBf,gBAAEM,eAAF,CAAkBV,IAAlB,CAAtB,GAAgDI,gBAAEqB,WAAF,EALlD;AAME9B,EAAAA,aAAa,CAACwB,MAAd;AACIf,kBAAEsB,gBAAF,CAAmB/B,aAAnB,CADJ;AAEIS,kBAAEqB,WAAF,EARN;AASE/B,EAAAA,IAAI,CAACiC,uBATP;AAUE7B,EAAAA,GAVF;AAWE,KAAG,kCAAuBP,IAAvB,CAXL,CANF,CAD2B,CAA7B;;;;;AAuBAA,EAAAA,IAAI,CAACqC,WAAL,CAAiB,mCAAqBP,oBAArB,EAA2C7B,IAA3C,CAAjB;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { importDefault } from \"@marko/babel-utils\";\nimport { getAttrs, buildEventHandlerArray } from \"./util\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n const { key, arguments: args } = node;\n const foundAttrs = getAttrs(path, true);\n let renderBodyProp;\n let attrsLen = t.isNullLiteral(foundAttrs) ? 0 : 1;\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (t.isObjectExpression(foundAttrs)) {\n const renderBodyIndex = foundAttrs.properties.findIndex(\n prop => prop.key && prop.key.value === \"renderBody\"\n );\n\n attrsLen = foundAttrs.properties.length;\n\n if (renderBodyIndex > -1) {\n renderBodyProp = foundAttrs.properties[renderBodyIndex];\n foundAttrs.properties.splice(renderBodyIndex, 1);\n attrsLen--;\n }\n }\n\n const dynamicTagRenderCall = t.expressionStatement(\n t.callExpression(\n importDefault(\n file,\n `marko/src/runtime/helpers/dynamic-tag`,\n \"marko_dynamic_tag\"\n ),\n [\n t.identifier(\"out\"),\n node.name,\n attrsLen ? t.arrowFunctionExpression([], foundAttrs) : t.nullLiteral(),\n renderBodyProp ? renderBodyProp.value : t.nullLiteral(),\n args && args.length ? t.arrayExpression(args) : t.nullLiteral(),\n tagProperties.length\n ? t.objectExpression(tagProperties)\n : t.nullLiteral(),\n file._componentDefIdentifier,\n key,\n ...buildEventHandlerArray(path)\n ]\n )\n );\n\n path.replaceWith(withPreviousLocation(dynamicTagRenderCall, node));\n}\n"],"file":"dynamic-tag.js"}
1
+ {"version":3,"sources":["../../src/tag/dynamic-tag.js"],"names":["path","node","hub","file","tagProperties","extra","properties","key","arguments","args","foundAttrs","renderBodyProp","attrsLen","t","isNullLiteral","preserveAttrs","push","objectProperty","identifier","arrayExpression","map","name","stringLiteral","isObjectExpression","renderBodyIndex","findIndex","prop","value","length","splice","dynamicTagRenderCall","expressionStatement","callExpression","arrowFunctionExpression","nullLiteral","objectExpression","_componentDefIdentifier","replaceWith"],"mappings":"uJAAA;AACA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EAFD;AAGFH,EAAAA,IAHJ;AAIA,QAAMI,aAAa,GAAIJ,IAAI,CAACC,IAAL,CAAUI,KAAV,IAAmBL,IAAI,CAACC,IAAL,CAAUI,KAAV,CAAgBC,UAApC,IAAmD,EAAzE;AACA,QAAM,EAAEC,GAAF,EAAOC,SAAS,EAAEC,IAAlB,KAA2BR,IAAjC;AACA,QAAMS,UAAU,GAAG,oBAASV,IAAT,EAAe,IAAf,CAAnB;AACA,MAAIW,cAAJ;AACA,MAAIC,QAAQ,GAAGC,gBAAEC,aAAF,CAAgBJ,UAAhB,IAA8B,CAA9B,GAAkC,CAAjD;;AAEA,MAAIT,IAAI,CAACc,aAAT,EAAwB;AACtBX,IAAAA,aAAa,CAACY,IAAd;AACEH,oBAAEI,cAAF;AACEJ,oBAAEK,UAAF,CAAa,IAAb,CADF;AAEEL,oBAAEM,eAAF,CAAkBlB,IAAI,CAACc,aAAL,CAAmBK,GAAnB,CAAuB,CAAAC,IAAI,KAAIR,gBAAES,aAAF,CAAgBD,IAAhB,CAA/B,CAAlB,CAFF,CADF;;;AAMD;;AAED,MAAIR,gBAAEU,kBAAF,CAAqBb,UAArB,CAAJ,EAAsC;AACpC,UAAMc,eAAe,GAAGd,UAAU,CAACJ,UAAX,CAAsBmB,SAAtB;AACtB,KAAAC,IAAI,KAAIA,IAAI,CAACnB,GAAL,IAAYmB,IAAI,CAACnB,GAAL,CAASoB,KAAT,KAAmB,YADjB,CAAxB;;;AAIAf,IAAAA,QAAQ,GAAGF,UAAU,CAACJ,UAAX,CAAsBsB,MAAjC;;AAEA,QAAIJ,eAAe,GAAG,CAAC,CAAvB,EAA0B;AACxBb,MAAAA,cAAc,GAAGD,UAAU,CAACJ,UAAX,CAAsBkB,eAAtB,CAAjB;AACAd,MAAAA,UAAU,CAACJ,UAAX,CAAsBuB,MAAtB,CAA6BL,eAA7B,EAA8C,CAA9C;AACAZ,MAAAA,QAAQ;AACT;AACF;;AAED,QAAMkB,oBAAoB,GAAGjB,gBAAEkB,mBAAF;AAC3BlB,kBAAEmB,cAAF;AACE;AACE7B,EAAAA,IADF;AAEG,4CAFH;AAGE,qBAHF,CADF;;AAME;AACEU,kBAAEK,UAAF,CAAa,KAAb,CADF;AAEEjB,EAAAA,IAAI,CAACoB,IAFP;AAGET,EAAAA,QAAQ,GAAGC,gBAAEoB,uBAAF,CAA0B,EAA1B,EAA8BvB,UAA9B,CAAH,GAA+CG,gBAAEqB,WAAF,EAHzD;AAIEvB,EAAAA,cAAc,GAAGA,cAAc,CAACgB,KAAlB,GAA0Bd,gBAAEqB,WAAF,EAJ1C;AAKEzB,EAAAA,IAAI,IAAIA,IAAI,CAACmB,MAAb,GAAsBf,gBAAEM,eAAF,CAAkBV,IAAlB,CAAtB,GAAgDI,gBAAEqB,WAAF,EALlD;AAME9B,EAAAA,aAAa,CAACwB,MAAd;AACIf,kBAAEsB,gBAAF,CAAmB/B,aAAnB,CADJ;AAEIS,kBAAEqB,WAAF,EARN;AASE/B,EAAAA,IAAI,CAACiC,uBATP;AAUE7B,EAAAA,GAVF;AAWE,KAAG,kCAAuBP,IAAvB,CAXL,CANF,CAD2B,CAA7B;;;;;AAuBAA,EAAAA,IAAI,CAACqC,WAAL,CAAiB,mCAAqBP,oBAArB,EAA2C7B,IAA3C,CAAjB;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { importDefault } from \"@marko/babel-utils\";\nimport { getAttrs, buildEventHandlerArray } from \"./util\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const {\n node,\n hub: { file }\n } = path;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n const { key, arguments: args } = node;\n const foundAttrs = getAttrs(path, true);\n let renderBodyProp;\n let attrsLen = t.isNullLiteral(foundAttrs) ? 0 : 1;\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (t.isObjectExpression(foundAttrs)) {\n const renderBodyIndex = foundAttrs.properties.findIndex(\n prop => prop.key && prop.key.value === \"renderBody\"\n );\n\n attrsLen = foundAttrs.properties.length;\n\n if (renderBodyIndex > -1) {\n renderBodyProp = foundAttrs.properties[renderBodyIndex];\n foundAttrs.properties.splice(renderBodyIndex, 1);\n attrsLen--;\n }\n }\n\n const dynamicTagRenderCall = t.expressionStatement(\n t.callExpression(\n importDefault(\n file,\n `marko/src/runtime/helpers/dynamic-tag.js`,\n \"marko_dynamic_tag\"\n ),\n [\n t.identifier(\"out\"),\n node.name,\n attrsLen ? t.arrowFunctionExpression([], foundAttrs) : t.nullLiteral(),\n renderBodyProp ? renderBodyProp.value : t.nullLiteral(),\n args && args.length ? t.arrayExpression(args) : t.nullLiteral(),\n tagProperties.length\n ? t.objectExpression(tagProperties)\n : t.nullLiteral(),\n file._componentDefIdentifier,\n key,\n ...buildEventHandlerArray(path)\n ]\n )\n );\n\n path.replaceWith(withPreviousLocation(dynamicTagRenderCall, node));\n}\n"],"file":"dynamic-tag.js"}
@@ -58,7 +58,7 @@ function _default(path, attrs) {
58
58
  _compiler.types.callExpression(
59
59
  (0, _babelUtils.importDefault)(
60
60
  file,
61
- "marko/src/runtime/html/helpers/attr",
61
+ "marko/src/runtime/html/helpers/attr.js",
62
62
  "marko_attr"),
63
63
 
64
64
  args));
@@ -71,7 +71,7 @@ function _default(path, attrs) {
71
71
  return _compiler.types.callExpression(
72
72
  (0, _babelUtils.importDefault)(
73
73
  path.hub.file,
74
- "marko/src/runtime/html/helpers/attrs",
74
+ "marko/src/runtime/html/helpers/attrs.js",
75
75
  "marko_attrs"),
76
76
 
77
77
  [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tag/native-tag[html]/attributes.js"],"names":["path","attrs","length","t","stringLiteral","quasis","expressions","curString","attrsObject","objectExpression","hasSpread","i","attr","hub","file","node","name","value","push","type","properties","spreadElement","confident","computed","attrString","objectProperty","args","callExpression","argument","join"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { normalizeTemplateString, importDefault } from \"@marko/babel-utils\";\nimport attrHelper from \"marko/src/runtime/html/helpers/attr\";\nimport { evaluateAttr } from \"../util\";\n\nexport default function (path, attrs) {\n if (!attrs.length) {\n return t.stringLiteral(\"\");\n }\n\n const quasis = [];\n const expressions = [];\n let curString = \"\";\n\n let attrsObject = t.objectExpression([]);\n let hasSpread = false;\n\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i];\n const {\n hub: { file },\n node: { name, value }\n } = attr;\n\n if (!name) {\n quasis.push(curString);\n curString = \"\";\n hasSpread = hasSpread || attr.type === \"MarkoSpreadAttribute\";\n attrsObject.properties.push(t.spreadElement(value));\n continue;\n }\n\n const { confident, computed } = evaluateAttr(attr);\n\n if (confident) {\n if (computed == null || computed === false) {\n continue;\n }\n\n const attrString = attrHelper(name, computed);\n curString += attrString;\n\n if (attrString) {\n attrsObject.properties.push(\n t.objectProperty(t.stringLiteral(name), value)\n );\n }\n } else {\n const args = [t.stringLiteral(name), value];\n quasis.push(curString);\n curString = \"\";\n\n attrsObject.properties.push(\n t.objectProperty(t.stringLiteral(name), value)\n );\n\n expressions.push(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/html/helpers/attr\",\n \"marko_attr\"\n ),\n args\n )\n );\n }\n }\n quasis.push(curString);\n if (hasSpread) {\n return t.callExpression(\n importDefault(\n path.hub.file,\n \"marko/src/runtime/html/helpers/attrs\",\n \"marko_attrs\"\n ),\n [\n attrsObject.properties.length === 1\n ? attrsObject.properties[0].argument\n : attrsObject\n ]\n );\n } else if (expressions.length) {\n return normalizeTemplateString(quasis, ...expressions);\n } else {\n return t.stringLiteral(quasis.join(\"\"));\n }\n}\n"],"file":"attributes.js"}
1
+ {"version":3,"sources":["../../../src/tag/native-tag[html]/attributes.js"],"names":["path","attrs","length","t","stringLiteral","quasis","expressions","curString","attrsObject","objectExpression","hasSpread","i","attr","hub","file","node","name","value","push","type","properties","spreadElement","confident","computed","attrString","objectProperty","args","callExpression","argument","join"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { normalizeTemplateString, importDefault } from \"@marko/babel-utils\";\nimport attrHelper from \"marko/src/runtime/html/helpers/attr\";\nimport { evaluateAttr } from \"../util\";\n\nexport default function (path, attrs) {\n if (!attrs.length) {\n return t.stringLiteral(\"\");\n }\n\n const quasis = [];\n const expressions = [];\n let curString = \"\";\n\n let attrsObject = t.objectExpression([]);\n let hasSpread = false;\n\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i];\n const {\n hub: { file },\n node: { name, value }\n } = attr;\n\n if (!name) {\n quasis.push(curString);\n curString = \"\";\n hasSpread = hasSpread || attr.type === \"MarkoSpreadAttribute\";\n attrsObject.properties.push(t.spreadElement(value));\n continue;\n }\n\n const { confident, computed } = evaluateAttr(attr);\n\n if (confident) {\n if (computed == null || computed === false) {\n continue;\n }\n\n const attrString = attrHelper(name, computed);\n curString += attrString;\n\n if (attrString) {\n attrsObject.properties.push(\n t.objectProperty(t.stringLiteral(name), value)\n );\n }\n } else {\n const args = [t.stringLiteral(name), value];\n quasis.push(curString);\n curString = \"\";\n\n attrsObject.properties.push(\n t.objectProperty(t.stringLiteral(name), value)\n );\n\n expressions.push(\n t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/html/helpers/attr.js\",\n \"marko_attr\"\n ),\n args\n )\n );\n }\n }\n quasis.push(curString);\n if (hasSpread) {\n return t.callExpression(\n importDefault(\n path.hub.file,\n \"marko/src/runtime/html/helpers/attrs.js\",\n \"marko_attrs\"\n ),\n [\n attrsObject.properties.length === 1\n ? attrsObject.properties[0].argument\n : attrsObject\n ]\n );\n } else if (expressions.length) {\n return normalizeTemplateString(quasis, ...expressions);\n } else {\n return t.stringLiteral(quasis.join(\"\"));\n }\n}\n"],"file":"attributes.js"}
@@ -105,7 +105,7 @@ function _default(path, isNullable) {
105
105
  dataMarko = _compiler.types.callExpression(
106
106
  (0, _babelUtils.importDefault)(
107
107
  file,
108
- "marko/src/runtime/html/helpers/data-marko",
108
+ "marko/src/runtime/html/helpers/data-marko.js",
109
109
  "marko_props"),
110
110
 
111
111
  dataMarkoArgs);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tag/native-tag[html]/index.js"],"names":["EMPTY_OBJECT","path","isNullable","hub","file","node","key","name","body","handlers","tagProperties","extra","properties","tagDef","meta","metadata","marko","parseOptions","import","deps","push","dir","Object","entries","forEach","eventName","arguments","args","once","delegateArgs","t","stringLiteral","booleanLiteral","length","arrayExpression","slice","objectProperty","callExpression","memberExpression","_componentDefIdentifier","identifier","isHTML","markoOpts","output","dataMarko","preserveAttrs","map","hasStatefulTagParams","hasComponentBrowser","hasComponent","isPreserved","dataMarkoArgs","objectExpression","numericLiteral","translatedAttrs","get","isSelfClosing","openTagEnding","isStringLiteral","htmlType","SELF_CLOSING","voidElements","indexOf","value","isEmpty","writeStartNode","ifStatement","expressionStatement","_componentInstanceIdentifier","replaceWith","needsBlock","childNode","isVariableDeclaration","kind","writeEndNode","replaceWithMultiple","concat","blockStatement","parentTag","parentPath","isMarkoTag"],"mappings":"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","sourcesContent":["import { resolve } from \"path\";\nimport SELF_CLOSING from \"self-closing-tags\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n getTagDef,\n normalizeTemplateString,\n importDefault\n} from \"@marko/babel-utils\";\nimport write from \"../../util/html-out-write\";\nimport { hasUserKey } from \"../../util/key-manager\";\nimport translateAttributes from \"./attributes\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nconst EMPTY_OBJECT = {};\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nexport default function (path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const {\n key,\n name,\n body: { body },\n handlers\n } = node;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n const tagDef = getTagDef(path);\n const meta = file.metadata.marko;\n\n if (tagDef) {\n const { parseOptions = EMPTY_OBJECT } = tagDef;\n if (parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n file.metadata.marko.deps.push(resolve(tagDef.dir, parseOptions.import));\n }\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [t.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(t.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(t.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n t.objectProperty(\n t.stringLiteral(`on${eventName}`),\n t.callExpression(\n t.memberExpression(\n file._componentDefIdentifier,\n t.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n const isHTML = file.markoOpts.output === \"html\";\n let dataMarko = t.stringLiteral(\"\");\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (isHTML) {\n if (\n (!meta.hasStatefulTagParams &&\n (meta.hasComponentBrowser || !meta.hasComponent)) ||\n isPreserved(path)\n ) {\n const dataMarkoArgs = [t.identifier(\"out\"), file._componentDefIdentifier];\n\n if (tagProperties.length) {\n // TODO we should pre evaluate this if it is static.\n dataMarkoArgs.push(t.objectExpression(tagProperties));\n }\n\n if (hasUserKey(path)) {\n if (dataMarkoArgs.length === 2) {\n dataMarkoArgs.push(t.numericLiteral(0));\n }\n\n dataMarkoArgs.push(key, file._componentDefIdentifier);\n }\n\n if (dataMarkoArgs.length > 2) {\n dataMarko = t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/html/helpers/data-marko\",\n \"marko_props\"\n ),\n dataMarkoArgs\n );\n }\n }\n }\n\n const translatedAttrs = translateAttributes(path, path.get(\"attributes\"));\n let isSelfClosing = false;\n let openTagEnding = \">\";\n\n if (t.isStringLiteral(name)) {\n if (\n tagDef &&\n tagDef.htmlType &&\n (tagDef.htmlType === \"svg\" || tagDef.htmlType === \"math\")\n ) {\n if (!body.length) {\n isSelfClosing = true;\n openTagEnding = \" />\";\n }\n } else if (SELF_CLOSING.voidElements.indexOf(name.value) !== -1) {\n isSelfClosing = true;\n }\n }\n\n const isEmpty = isSelfClosing || !body.length;\n let writeStartNode = normalizeTemplateString`<${name}${dataMarko}${translatedAttrs}${openTagEnding}`;\n\n writeStartNode = withPreviousLocation(\n isEmpty && !isSelfClosing\n ? write`${writeStartNode}</${name}>`\n : write`${writeStartNode}`,\n name\n );\n\n if (isNullable) {\n writeStartNode = t.ifStatement(\n name,\n writeStartNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"bf\")),\n [\n normalizeTemplateString`f_${key}`,\n file._componentInstanceIdentifier,\n t.numericLiteral(1)\n ]\n )\n )\n );\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (t.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n let writeEndNode = write`</${name}>`;\n\n if (isNullable) {\n writeEndNode = t.ifStatement(\n name,\n writeEndNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n path.replaceWithMultiple(\n [writeStartNode]\n .concat(needsBlock ? t.blockStatement(body) : body)\n .concat(writeEndNode)\n );\n}\n\nfunction isPreserved(path) {\n let parentTag = path;\n do {\n parentTag = parentTag.parentPath.parentPath;\n if (parentTag.get(\"isPreserved\").node === true) {\n return true;\n }\n } while (t.isMarkoTag(parentTag));\n\n return false;\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/tag/native-tag[html]/index.js"],"names":["EMPTY_OBJECT","path","isNullable","hub","file","node","key","name","body","handlers","tagProperties","extra","properties","tagDef","meta","metadata","marko","parseOptions","import","deps","push","dir","Object","entries","forEach","eventName","arguments","args","once","delegateArgs","t","stringLiteral","booleanLiteral","length","arrayExpression","slice","objectProperty","callExpression","memberExpression","_componentDefIdentifier","identifier","isHTML","markoOpts","output","dataMarko","preserveAttrs","map","hasStatefulTagParams","hasComponentBrowser","hasComponent","isPreserved","dataMarkoArgs","objectExpression","numericLiteral","translatedAttrs","get","isSelfClosing","openTagEnding","isStringLiteral","htmlType","SELF_CLOSING","voidElements","indexOf","value","isEmpty","writeStartNode","ifStatement","expressionStatement","_componentInstanceIdentifier","replaceWith","needsBlock","childNode","isVariableDeclaration","kind","writeEndNode","replaceWithMultiple","concat","blockStatement","parentTag","parentPath","isMarkoTag"],"mappings":"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","sourcesContent":["import { resolve } from \"path\";\nimport SELF_CLOSING from \"self-closing-tags\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n getTagDef,\n normalizeTemplateString,\n importDefault\n} from \"@marko/babel-utils\";\nimport write from \"../../util/html-out-write\";\nimport { hasUserKey } from \"../../util/key-manager\";\nimport translateAttributes from \"./attributes\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nconst EMPTY_OBJECT = {};\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nexport default function (path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const {\n key,\n name,\n body: { body },\n handlers\n } = node;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n const tagDef = getTagDef(path);\n const meta = file.metadata.marko;\n\n if (tagDef) {\n const { parseOptions = EMPTY_OBJECT } = tagDef;\n if (parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n file.metadata.marko.deps.push(resolve(tagDef.dir, parseOptions.import));\n }\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [t.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(t.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(t.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n t.objectProperty(\n t.stringLiteral(`on${eventName}`),\n t.callExpression(\n t.memberExpression(\n file._componentDefIdentifier,\n t.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n const isHTML = file.markoOpts.output === \"html\";\n let dataMarko = t.stringLiteral(\"\");\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (isHTML) {\n if (\n (!meta.hasStatefulTagParams &&\n (meta.hasComponentBrowser || !meta.hasComponent)) ||\n isPreserved(path)\n ) {\n const dataMarkoArgs = [t.identifier(\"out\"), file._componentDefIdentifier];\n\n if (tagProperties.length) {\n // TODO we should pre evaluate this if it is static.\n dataMarkoArgs.push(t.objectExpression(tagProperties));\n }\n\n if (hasUserKey(path)) {\n if (dataMarkoArgs.length === 2) {\n dataMarkoArgs.push(t.numericLiteral(0));\n }\n\n dataMarkoArgs.push(key, file._componentDefIdentifier);\n }\n\n if (dataMarkoArgs.length > 2) {\n dataMarko = t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/html/helpers/data-marko.js\",\n \"marko_props\"\n ),\n dataMarkoArgs\n );\n }\n }\n }\n\n const translatedAttrs = translateAttributes(path, path.get(\"attributes\"));\n let isSelfClosing = false;\n let openTagEnding = \">\";\n\n if (t.isStringLiteral(name)) {\n if (\n tagDef &&\n tagDef.htmlType &&\n (tagDef.htmlType === \"svg\" || tagDef.htmlType === \"math\")\n ) {\n if (!body.length) {\n isSelfClosing = true;\n openTagEnding = \" />\";\n }\n } else if (SELF_CLOSING.voidElements.indexOf(name.value) !== -1) {\n isSelfClosing = true;\n }\n }\n\n const isEmpty = isSelfClosing || !body.length;\n let writeStartNode = normalizeTemplateString`<${name}${dataMarko}${translatedAttrs}${openTagEnding}`;\n\n writeStartNode = withPreviousLocation(\n isEmpty && !isSelfClosing\n ? write`${writeStartNode}</${name}>`\n : write`${writeStartNode}`,\n name\n );\n\n if (isNullable) {\n writeStartNode = t.ifStatement(\n name,\n writeStartNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"bf\")),\n [\n normalizeTemplateString`f_${key}`,\n file._componentInstanceIdentifier,\n t.numericLiteral(1)\n ]\n )\n )\n );\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (t.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n let writeEndNode = write`</${name}>`;\n\n if (isNullable) {\n writeEndNode = t.ifStatement(\n name,\n writeEndNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n path.replaceWithMultiple(\n [writeStartNode]\n .concat(needsBlock ? t.blockStatement(body) : body)\n .concat(writeEndNode)\n );\n}\n\nfunction isPreserved(path) {\n let parentTag = path;\n do {\n parentTag = parentTag.parentPath.parentPath;\n if (parentTag.get(\"isPreserved\").node === true) {\n return true;\n }\n } while (t.isMarkoTag(parentTag));\n\n return false;\n}\n"],"file":"index.js"}
@@ -55,7 +55,7 @@ function tagArguments(path, isStatic) {
55
55
  attrsObj = _compiler.types.callExpression(
56
56
  (0, _babelUtils.importDefault)(
57
57
  file,
58
- "marko/src/runtime/vdom/helpers/attrs",
58
+ "marko/src/runtime/vdom/helpers/attrs.js",
59
59
  "marko_attrs"),
60
60
 
61
61
  [attrsObj]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tag/native-tag[vdom]/index.js"],"names":["SIMPLE_ATTRS","MAYBE_SVG","a","script","style","title","tagArguments","path","isStatic","hub","file","node","parent","name","key","body","handlers","tagProperties","extra","properties","runtimeFlags","get","forEach","attr","confident","computed","remove","set","t","stringLiteral","attrsObj","isNullLiteral","isObjectExpression","some","isSpreadElement","FLAGS","SPREAD_ATTRS","callExpression","writeArgs","nullLiteral","_componentInstanceIdentifier","numericLiteral","length","preserveAttrs","push","objectProperty","identifier","arrayExpression","map","Object","entries","eventName","arguments","args","once","delegateArgs","booleanLiteral","slice","memberExpression","_componentDefIdentifier","every","n","isPropertyName","HAS_SIMPLE_ATTRS","tagDef","htmlType","IS_CUSTOM_ELEMENT","isMarkoTag","IS_SVG","IS_TEXTAREA","objectExpression","isNullable","isEmpty","writeStartNode","ifStatement","expressionStatement","replaceWith","writeEndNode","needsBlock","childNode","isVariableDeclaration","kind","replaceWithMultiple","concat","blockStatement","names","isStringLiteral","includes","value","isIdentifier"],"mappings":"2LAAA;AACA;AACA;AACA;AACA;;;;;AAKA,iG;;AAEA,MAAMA,YAAY,GAAG,CAAC,IAAD,EAAO,OAAP,EAAgB,OAAhB,CAArB;AACA,MAAMC,SAAS,GAAG;AAChBC,EAAAA,CAAC,EAAE,IADa;AAEhBC,EAAAA,MAAM,EAAE,IAFQ;AAGhBC,EAAAA,KAAK,EAAE,IAHS;AAIhBC,EAAAA,KAAK,EAAE,IAJS,EAAlB;;;AAOO,SAASC,YAAT,CAAsBC,IAAtB,EAA4BC,QAA5B,EAAsC;AAC3C,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAFI;AAGJC,IAAAA,MAHI;AAIFL,EAAAA,IAJJ;AAKA,QAAM;AACJM,IAAAA,IADI;AAEJC,IAAAA,GAFI;AAGJC,IAAAA,IAAI,EAAE,EAAEA,IAAF,EAHF;AAIJC,IAAAA,QAJI;AAKFL,EAAAA,IALJ;AAMA,QAAMM,aAAa,GAAIV,IAAI,CAACI,IAAL,CAAUO,KAAV,IAAmBX,IAAI,CAACI,IAAL,CAAUO,KAAV,CAAgBC,UAApC,IAAmD,EAAzE;AACA,MAAIC,YAAY,GAAG,CAAnB;;AAEAb,EAAAA,IAAI,CAACc,GAAL,CAAS,YAAT,EAAuBC,OAAvB,CAA+B,CAAAC,IAAI,KAAI;AACrC,UAAM,EAAEC,SAAF,EAAaC,QAAb,KAA0B,wBAAaF,IAAb,CAAhC;;AAEA,QAAIC,SAAJ,EAAe;AACb,UAAIC,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,KAAK,KAArC,EAA4C;AAC1CF,QAAAA,IAAI,CAACG,MAAL;AACD,OAFD,MAEO;AACLH,QAAAA,IAAI,CAACI,GAAL,CAAS,OAAT,EAAkBC,gBAAEC,aAAF,CAAgBJ,QAAhB,CAAlB;AACD;AACF;AACF,GAVD;;AAYA,MAAIK,QAAQ,GAAG,oBAASvB,IAAT,EAAe,IAAf,EAAqB,IAArB,CAAf;;AAEA,MAAI,CAACqB,gBAAEG,aAAF,CAAgBD,QAAhB,CAAL,EAAgC;AAC9B;AACE,KAACF,gBAAEI,kBAAF,CAAqBF,QAArB,CAAD;AACAA,IAAAA,QAAQ,CAACX,UAAT,CAAoBc,IAApB,CAAyBL,gBAAEM,eAA3B,CAFF;AAGE;AACAd,MAAAA,YAAY,IAAIe,KAAK,CAACC,YAAtB;AACAN,MAAAA,QAAQ,GAAGF,gBAAES,cAAF;AACT;AACE3B,MAAAA,IADF;AAEE,4CAFF;AAGE,mBAHF,CADS;;AAMT,OAACoB,QAAD,CANS,CAAX;;AAQD;AACF;;AAED,QAAMQ,SAAS,GAAG;AAChBzB,EAAAA,IADgB;AAEhBiB,EAAAA,QAFgB;AAGhB,GAAChB,GAAD,IAAQN,QAAR,GAAmBoB,gBAAEW,WAAF,EAAnB,GAAqCzB,GAHrB;AAIhBN,EAAAA,QAAQ,GAAGoB,gBAAEW,WAAF,EAAH,GAAqB7B,IAAI,CAAC8B,4BAJlB;AAKhBhC,EAAAA,QAAQ;AACJoB,kBAAEa,cAAF,CAAiB1B,IAAI,CAAC2B,MAAtB,CADI;AAEJ3B,EAAAA,IAAI,CAAC2B,MAAL;AACAd,kBAAEW,WAAF,EADA;AAEAX,kBAAEa,cAAF,CAAiB,CAAjB,CATY,CAAlB;;;AAYA,MAAI9B,IAAI,CAACgC,aAAT,EAAwB;AACtB1B,IAAAA,aAAa,CAAC2B,IAAd;AACEhB,oBAAEiB,cAAF;AACEjB,oBAAEkB,UAAF,CAAa,IAAb,CADF;AAEElB,oBAAEmB,eAAF,CAAkBpC,IAAI,CAACgC,aAAL,CAAmBK,GAAnB,CAAuB,CAAAnC,IAAI,KAAIe,gBAAEC,aAAF,CAAgBhB,IAAhB,CAA/B,CAAlB,CAFF,CADF;;;AAMD;;AAED,MAAIG,QAAJ,EAAc;AACZiC,IAAAA,MAAM,CAACC,OAAP,CAAelC,QAAf,EAAyBM,OAAzB;AACE,KAAC,CAAC6B,SAAD,EAAY,EAAEC,SAAS,EAAEC,IAAb,EAAmBC,IAAnB,EAAZ,CAAD,KAA4C;AAC1C,YAAMC,YAAY,GAAG,CAAC3B,gBAAEC,aAAF,CAAgBsB,SAAhB,CAAD,EAA6BE,IAAI,CAAC,CAAD,CAAjC,CAArB;;AAEA;AACAE,MAAAA,YAAY,CAACX,IAAb,CAAkBhB,gBAAE4B,cAAF,CAAiBF,IAAjB,CAAlB;;AAEA,UAAID,IAAI,CAACX,MAAL,GAAc,CAAlB,EAAqB;AACnBa,QAAAA,YAAY,CAACX,IAAb,CAAkBhB,gBAAEmB,eAAF,CAAkBM,IAAI,CAACI,KAAL,CAAW,CAAX,CAAlB,CAAlB;AACD;;AAED;AACAxC,MAAAA,aAAa,CAAC2B,IAAd;AACEhB,sBAAEiB,cAAF;AACEjB,sBAAEC,aAAF,CAAiB,KAAIsB,SAAU,EAA/B,CADF;AAEEvB,sBAAES,cAAF;AACET,sBAAE8B,gBAAF;AACEhD,MAAAA,IAAI,CAACiD,uBADP;AAEE/B,sBAAEkB,UAAF,CAAa,GAAb,CAFF,CADF;;AAKES,MAAAA,YALF,CAFF,CADF;;;;AAYD,KAxBH;;AA0BD;;AAED;AACE3B,kBAAEI,kBAAF,CAAqBF,QAArB;AACAA,EAAAA,QAAQ,CAACX,UAAT,CAAoByC,KAApB,CAA0B,CAAAC,CAAC,KAAIC,cAAc,CAACD,CAAD,EAAI7D,YAAJ,CAA7C,CADA;AAEA,GAACW,IAAI,CAACgC,aAHR;AAIE;AACAvB,IAAAA,YAAY,IAAIe,KAAK,CAAC4B,gBAAtB;AACD;;AAED,QAAMC,MAAM,GAAG,2BAAUzD,IAAV,CAAf;;AAEA,MAAIyD,MAAJ,EAAY;AACV,UAAM,EAAEC,QAAF,EAAYpD,IAAZ,KAAqBmD,MAA3B;AACA,QAAIC,QAAQ,KAAK,gBAAjB,EAAmC;AACjC7C,MAAAA,YAAY,IAAIe,KAAK,CAAC+B,iBAAtB;AACD,KAFD,MAEO;AACLD,IAAAA,QAAQ,KAAK,KAAb;AACChE,IAAAA,SAAS,CAACY,IAAD,CAAT;AACCe,oBAAEuC,UAAF,CAAavD,MAAb,CADD;AAECA,IAAAA,MAAM,CAACoD,MAFR;AAGCpD,IAAAA,MAAM,CAACoD,MAAP,CAAcC,QAAd,KAA2B,KALxB;AAML;AACA7C,MAAAA,YAAY,IAAIe,KAAK,CAACiC,MAAtB;AACD,KARM,MAQA,IAAIvD,IAAI,KAAK,UAAb,EAAyB;AAC9BO,MAAAA,YAAY,IAAIe,KAAK,CAACkC,WAAtB;AACD;AACF;;AAED/B,EAAAA,SAAS,CAACM,IAAV,CAAehB,gBAAEa,cAAF,CAAiBrB,YAAjB,CAAf;;AAEA,MAAIH,aAAa,CAACyB,MAAlB,EAA0B;AACxBJ,IAAAA,SAAS,CAACM,IAAV,CAAehB,gBAAE0C,gBAAF,CAAmBrD,aAAnB,CAAf;AACD;AACD,SAAOqB,SAAP;AACD;;AAED;AACA;AACA;AACe,kBAAU/B,IAAV,EAAgBgE,UAAhB,EAA4B;AACzC,QAAM,EAAE5D,IAAF,KAAWJ,IAAjB;AACA,QAAM;AACJM,IAAAA,IADI;AAEJC,IAAAA,GAFI;AAGJC,IAAAA,IAAI,EAAE,EAAEA,IAAF,EAHF;AAIFJ,EAAAA,IAJJ;;AAMA,QAAM6D,OAAO,GAAG,CAACzD,IAAI,CAAC2B,MAAtB;AACA,QAAMJ,SAAS,GAAGhC,YAAY,CAACC,IAAD,EAAO,KAAP,CAA9B;AACA,MAAIkE,cAAc,GAAG;AACnB,6BAAMD,OAAO,GAAG,GAAH,GAAS,IAAtB,EAA4B,GAAGlC,SAA/B,CADmB;AAEnB3B,EAAAA,IAAI,CAACE,IAFc,CAArB;;;AAKA,MAAI0D,UAAJ,EAAgB;AACdE,IAAAA,cAAc,GAAG7C,gBAAE8C,WAAF;AACf7D,IAAAA,IADe;AAEf4D,IAAAA,cAFe;AAGf7C,oBAAE+C,mBAAF;AACE/C,oBAAES,cAAF;AACET,oBAAE8B,gBAAF,CAAmB9B,gBAAEkB,UAAF,CAAa,KAAb,CAAnB,EAAwClB,gBAAEkB,UAAF,CAAa,IAAb,CAAxC,CADF;AAEE;AACE,4CAAwB,KAAIhC,GAAI,EADlC;AAEEP,IAAAA,IAAI,CAACE,GAAL,CAASC,IAAT,CAAc8B,4BAFhB,CAFF,CADF,CAHe,CAAjB;;;;;AAaD;;AAED,MAAIgC,OAAJ,EAAa;AACXjE,IAAAA,IAAI,CAACqE,WAAL,CAAiBH,cAAjB;AACA;AACD;;AAED,MAAII,YAAY,GAAG,2BAAM,IAAN,CAAnB;AACA,MAAIN,UAAJ,EAAgB;AACdM,IAAAA,YAAY,GAAGjD,gBAAE8C,WAAF;AACb7D,IAAAA,IADa;AAEbgE,IAAAA,YAFa;AAGbjD,oBAAE+C,mBAAF;AACE/C,oBAAES,cAAF;AACET,oBAAE8B,gBAAF,CAAmB9B,gBAAEkB,UAAF,CAAa,KAAb,CAAnB,EAAwClB,gBAAEkB,UAAF,CAAa,IAAb,CAAxC,CADF;AAEE,MAFF,CADF,CAHa,CAAf;;;;AAUD;;AAED,MAAIgC,UAAJ;AACA,OAAK,MAAMC,SAAX,IAAwBhE,IAAxB,EAA8B;AAC5B,QAAIa,gBAAEoD,qBAAF,CAAwBD,SAAxB,CAAJ,EAAwC;AACtC,UAAIA,SAAS,CAACE,IAAV,KAAmB,OAAnB,IAA8BF,SAAS,CAACE,IAAV,KAAmB,KAArD,EAA4D;AAC1DH,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;AACF;AACF;;AAEDvE,EAAAA,IAAI,CAAC2E,mBAAL;AACE,GAACT,cAAD;AACGU,EAAAA,MADH,CACUL,UAAU,GAAGlD,gBAAEwD,cAAF,CAAiBrE,IAAjB,CAAH,GAA4BA,IADhD;AAEGoE,EAAAA,MAFH,CAEUN,YAFV,CADF;;AAKD;;AAED,SAASf,cAAT,CAAwB,EAAEhD,GAAF,EAAxB,EAAiCuE,KAAjC,EAAwC;AACtC,MAAIzD,gBAAE0D,eAAF,CAAkBxE,GAAlB,CAAJ,EAA4B;AAC1B,WAAOuE,KAAK,CAACE,QAAN,CAAezE,GAAG,CAAC0E,KAAnB,CAAP;AACD,GAFD,MAEO,IAAI5D,gBAAE6D,YAAF,CAAe3E,GAAf,CAAJ,EAAyB;AAC9B,WAAOuE,KAAK,CAACE,QAAN,CAAezE,GAAG,CAACD,IAAnB,CAAP;AACD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../../util/vdom-out-write\";\nimport * as FLAGS from \"../../util/runtime-flags\";\nimport { getAttrs, evaluateAttr } from \"../util\";\nimport {\n getTagDef,\n normalizeTemplateString,\n importDefault\n} from \"@marko/babel-utils\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nconst SIMPLE_ATTRS = [\"id\", \"class\", \"style\"];\nconst MAYBE_SVG = {\n a: true,\n script: true,\n style: true,\n title: true\n};\n\nexport function tagArguments(path, isStatic) {\n const {\n hub: { file },\n node,\n parent\n } = path;\n const {\n name,\n key,\n body: { body },\n handlers\n } = node;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n let runtimeFlags = 0;\n\n path.get(\"attributes\").forEach(attr => {\n const { confident, computed } = evaluateAttr(attr);\n\n if (confident) {\n if (computed == null || computed === false) {\n attr.remove();\n } else {\n attr.set(\"value\", t.stringLiteral(computed));\n }\n }\n });\n\n let attrsObj = getAttrs(path, true, true);\n\n if (!t.isNullLiteral(attrsObj)) {\n if (\n !t.isObjectExpression(attrsObj) ||\n attrsObj.properties.some(t.isSpreadElement)\n ) {\n runtimeFlags |= FLAGS.SPREAD_ATTRS;\n attrsObj = t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/vdom/helpers/attrs\",\n \"marko_attrs\"\n ),\n [attrsObj]\n );\n }\n }\n\n const writeArgs = [\n name,\n attrsObj,\n !key && isStatic ? t.nullLiteral() : key,\n isStatic ? t.nullLiteral() : file._componentInstanceIdentifier,\n isStatic\n ? t.numericLiteral(body.length)\n : body.length\n ? t.nullLiteral()\n : t.numericLiteral(0)\n ];\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [t.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(t.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(t.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n t.objectProperty(\n t.stringLiteral(`on${eventName}`),\n t.callExpression(\n t.memberExpression(\n file._componentDefIdentifier,\n t.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n if (\n t.isObjectExpression(attrsObj) &&\n attrsObj.properties.every(n => isPropertyName(n, SIMPLE_ATTRS)) &&\n !node.preserveAttrs\n ) {\n runtimeFlags |= FLAGS.HAS_SIMPLE_ATTRS;\n }\n\n const tagDef = getTagDef(path);\n\n if (tagDef) {\n const { htmlType, name } = tagDef;\n if (htmlType === \"custom-element\") {\n runtimeFlags |= FLAGS.IS_CUSTOM_ELEMENT;\n } else if (\n htmlType === \"svg\" ||\n (MAYBE_SVG[name] &&\n t.isMarkoTag(parent) &&\n parent.tagDef &&\n parent.tagDef.htmlType === \"svg\")\n ) {\n runtimeFlags |= FLAGS.IS_SVG;\n } else if (name === \"textarea\") {\n runtimeFlags |= FLAGS.IS_TEXTAREA;\n }\n }\n\n writeArgs.push(t.numericLiteral(runtimeFlags));\n\n if (tagProperties.length) {\n writeArgs.push(t.objectExpression(tagProperties));\n }\n return writeArgs;\n}\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nexport default function (path, isNullable) {\n const { node } = path;\n const {\n name,\n key,\n body: { body }\n } = node;\n\n const isEmpty = !body.length;\n const writeArgs = tagArguments(path, false);\n let writeStartNode = withPreviousLocation(\n write(isEmpty ? \"e\" : \"be\", ...writeArgs),\n node.name\n );\n\n if (isNullable) {\n writeStartNode = t.ifStatement(\n name,\n writeStartNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"bf\")),\n [\n normalizeTemplateString`f_${key}`,\n path.hub.file._componentInstanceIdentifier\n ]\n )\n )\n );\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let writeEndNode = write(\"ee\");\n if (isNullable) {\n writeEndNode = t.ifStatement(\n name,\n writeEndNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (t.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n path.replaceWithMultiple(\n [writeStartNode]\n .concat(needsBlock ? t.blockStatement(body) : body)\n .concat(writeEndNode)\n );\n}\n\nfunction isPropertyName({ key }, names) {\n if (t.isStringLiteral(key)) {\n return names.includes(key.value);\n } else if (t.isIdentifier(key)) {\n return names.includes(key.name);\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/tag/native-tag[vdom]/index.js"],"names":["SIMPLE_ATTRS","MAYBE_SVG","a","script","style","title","tagArguments","path","isStatic","hub","file","node","parent","name","key","body","handlers","tagProperties","extra","properties","runtimeFlags","get","forEach","attr","confident","computed","remove","set","t","stringLiteral","attrsObj","isNullLiteral","isObjectExpression","some","isSpreadElement","FLAGS","SPREAD_ATTRS","callExpression","writeArgs","nullLiteral","_componentInstanceIdentifier","numericLiteral","length","preserveAttrs","push","objectProperty","identifier","arrayExpression","map","Object","entries","eventName","arguments","args","once","delegateArgs","booleanLiteral","slice","memberExpression","_componentDefIdentifier","every","n","isPropertyName","HAS_SIMPLE_ATTRS","tagDef","htmlType","IS_CUSTOM_ELEMENT","isMarkoTag","IS_SVG","IS_TEXTAREA","objectExpression","isNullable","isEmpty","writeStartNode","ifStatement","expressionStatement","replaceWith","writeEndNode","needsBlock","childNode","isVariableDeclaration","kind","replaceWithMultiple","concat","blockStatement","names","isStringLiteral","includes","value","isIdentifier"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../../util/vdom-out-write\";\nimport * as FLAGS from \"../../util/runtime-flags\";\nimport { getAttrs, evaluateAttr } from \"../util\";\nimport {\n getTagDef,\n normalizeTemplateString,\n importDefault\n} from \"@marko/babel-utils\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nconst SIMPLE_ATTRS = [\"id\", \"class\", \"style\"];\nconst MAYBE_SVG = {\n a: true,\n script: true,\n style: true,\n title: true\n};\n\nexport function tagArguments(path, isStatic) {\n const {\n hub: { file },\n node,\n parent\n } = path;\n const {\n name,\n key,\n body: { body },\n handlers\n } = node;\n const tagProperties = (path.node.extra && path.node.extra.properties) || [];\n let runtimeFlags = 0;\n\n path.get(\"attributes\").forEach(attr => {\n const { confident, computed } = evaluateAttr(attr);\n\n if (confident) {\n if (computed == null || computed === false) {\n attr.remove();\n } else {\n attr.set(\"value\", t.stringLiteral(computed));\n }\n }\n });\n\n let attrsObj = getAttrs(path, true, true);\n\n if (!t.isNullLiteral(attrsObj)) {\n if (\n !t.isObjectExpression(attrsObj) ||\n attrsObj.properties.some(t.isSpreadElement)\n ) {\n runtimeFlags |= FLAGS.SPREAD_ATTRS;\n attrsObj = t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/vdom/helpers/attrs.js\",\n \"marko_attrs\"\n ),\n [attrsObj]\n );\n }\n }\n\n const writeArgs = [\n name,\n attrsObj,\n !key && isStatic ? t.nullLiteral() : key,\n isStatic ? t.nullLiteral() : file._componentInstanceIdentifier,\n isStatic\n ? t.numericLiteral(body.length)\n : body.length\n ? t.nullLiteral()\n : t.numericLiteral(0)\n ];\n\n if (node.preserveAttrs) {\n tagProperties.push(\n t.objectProperty(\n t.identifier(\"pa\"),\n t.arrayExpression(node.preserveAttrs.map(name => t.stringLiteral(name)))\n )\n );\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [t.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(t.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(t.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n t.objectProperty(\n t.stringLiteral(`on${eventName}`),\n t.callExpression(\n t.memberExpression(\n file._componentDefIdentifier,\n t.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n if (\n t.isObjectExpression(attrsObj) &&\n attrsObj.properties.every(n => isPropertyName(n, SIMPLE_ATTRS)) &&\n !node.preserveAttrs\n ) {\n runtimeFlags |= FLAGS.HAS_SIMPLE_ATTRS;\n }\n\n const tagDef = getTagDef(path);\n\n if (tagDef) {\n const { htmlType, name } = tagDef;\n if (htmlType === \"custom-element\") {\n runtimeFlags |= FLAGS.IS_CUSTOM_ELEMENT;\n } else if (\n htmlType === \"svg\" ||\n (MAYBE_SVG[name] &&\n t.isMarkoTag(parent) &&\n parent.tagDef &&\n parent.tagDef.htmlType === \"svg\")\n ) {\n runtimeFlags |= FLAGS.IS_SVG;\n } else if (name === \"textarea\") {\n runtimeFlags |= FLAGS.IS_TEXTAREA;\n }\n }\n\n writeArgs.push(t.numericLiteral(runtimeFlags));\n\n if (tagProperties.length) {\n writeArgs.push(t.objectExpression(tagProperties));\n }\n return writeArgs;\n}\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nexport default function (path, isNullable) {\n const { node } = path;\n const {\n name,\n key,\n body: { body }\n } = node;\n\n const isEmpty = !body.length;\n const writeArgs = tagArguments(path, false);\n let writeStartNode = withPreviousLocation(\n write(isEmpty ? \"e\" : \"be\", ...writeArgs),\n node.name\n );\n\n if (isNullable) {\n writeStartNode = t.ifStatement(\n name,\n writeStartNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"bf\")),\n [\n normalizeTemplateString`f_${key}`,\n path.hub.file._componentInstanceIdentifier\n ]\n )\n )\n );\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let writeEndNode = write(\"ee\");\n if (isNullable) {\n writeEndNode = t.ifStatement(\n name,\n writeEndNode,\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (t.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n path.replaceWithMultiple(\n [writeStartNode]\n .concat(needsBlock ? t.blockStatement(body) : body)\n .concat(writeEndNode)\n );\n}\n\nfunction isPropertyName({ key }, names) {\n if (t.isStringLiteral(key)) {\n return names.includes(key.value);\n } else if (t.isIdentifier(key)) {\n return names.includes(key.name);\n }\n}\n"],"file":"index.js"}
@@ -28,7 +28,7 @@ var _babelUtils = require("@marko/babel-utils");var _default =
28
28
  if (hasComponents) {
29
29
  const initId = _compiler.types.identifier("init");
30
30
  const markoComponentsImport = importPath(
31
- resolvePath(entryFile, "marko/src/runtime/components"));
31
+ resolvePath(entryFile, "marko/src/runtime/components/index.js"));
32
32
 
33
33
  if (splitComponentIndex) {
34
34
  markoComponentsImport.specifiers.push(
@@ -1 +1 @@
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\")\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
+ {"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":"qJAAA;AACA;AACA;AACA,gD;;AAEe,CAACA,SAAD,EAAYC,SAAZ,KAA0B;AACvC,QAAM,EAAEC,OAAF,EAAWC,wBAAX,EAAqCC,qBAArC;AACJJ,EAAAA,SAAS,CAACK,SADZ;AAEA,QAAMC,aAAa,GAAG,IAAIC,GAAJ,EAAtB;AACA,QAAMC,OAAO,GAAGR,SAAS,CAACS,IAA1B;AACA,QAAMC,mBAAmB,GAAGC,QAAQ,CAACP,qBAAD,CAApC;;AAEA,MAAI,CAACH,SAAL,EAAgB;AACdW,IAAAA,cAAc,CAACZ,SAAD,CAAd;AACA;AACD;;AAED,QAAMa,UAAU,GAAGC,gBAAEC,UAAF,CAAa,UAAb,CAAnB;AACA,QAAMC,UAAU,GAAG,IAAIT,GAAJ,EAAnB;AACA,MAAIU,aAAa,GAAG,KAApB;AACA,MAAIC,mBAAmB,GAAG,CAA1B;AACAV,EAAAA,OAAO,CAACW,GAAR,CAAY,MAAZ,EAAoB,EAApB;AACAX,EAAAA,OAAO,CAACY,IAAR;;AAEAC,EAAAA,cAAc,CAACrB,SAAD,CAAd;AACAA,EAAAA,SAAS,CAACsB,QAAV,CAAmBC,KAAnB,CAAyBP,UAAzB,GAAsCQ,KAAK,CAACC,IAAN,CAAWT,UAAX,CAAtC;;AAEA,MAAIC,aAAJ,EAAmB;AACjB,UAAMS,MAAM,GAAGZ,gBAAEC,UAAF,CAAa,MAAb,CAAf;AACA,UAAMY,qBAAqB,GAAGC,UAAU;AACtCC,IAAAA,WAAW,CAAC7B,SAAD,EAAY,uCAAZ,CAD2B,CAAxC;;AAGA,QAAIkB,mBAAJ,EAAyB;AACvBS,MAAAA,qBAAqB,CAACG,UAAtB,CAAiCC,IAAjC;AACEjB,sBAAEkB,eAAF,CAAkBnB,UAAlB,EAA8BA,UAA9B,CADF;;AAGD;AACDc,IAAAA,qBAAqB,CAACG,UAAtB,CAAiCC,IAAjC,CAAsCjB,gBAAEkB,eAAF,CAAkBN,MAAlB,EAA0BA,MAA1B,CAAtC;AACAlB,IAAAA,OAAO,CAACyB,gBAAR,CAAyB,MAAzB,EAAiCN,qBAAjC;AACAnB,IAAAA,OAAO,CAAC0B,aAAR;AACE,UADF;AAEEpB,oBAAEqB,mBAAF;AACErB,oBAAEsB,cAAF;AACEV,IAAAA,MADF;AAEE1B,IAAAA,SAAS,CAACK,SAAV,CAAoBgC,SAApB;AACI,KAACvB,gBAAEwB,aAAF,CAAgBtC,SAAS,CAACK,SAAV,CAAoBgC,SAApC,CAAD,CADJ;AAEI,MAJN,CADF,CAFF;;;;AAWD;;AAED,WAAShB,cAAT,CAAwBkB,IAAxB,EAA8B;AAC5B,UAAMC,IAAI,GAAGD,IAAI,CAACjB,QAAL,CAAcC,KAA3B;AACA,UAAMkB,QAAQ,GAAG,qCAAoBzC,SAApB,EAA+BuC,IAAI,CAACG,IAAL,CAAUC,QAAzC,CAAjB;AACA,QAAIrC,aAAa,CAACsC,GAAd,CAAkBH,QAAlB,CAAJ,EAAiC;;AAEjCnC,IAAAA,aAAa,CAACuC,GAAd,CAAkBJ,QAAlB;;AAEA,QAAID,IAAI,CAACM,SAAT,EAAoB;AAClB7B,MAAAA,aAAa,GAAG,IAAhB;;AAEA,UAAIR,cAAKsC,QAAL,CAAcP,IAAI,CAACM,SAAnB,MAAkCrC,cAAKsC,QAAL,CAAcR,IAAI,CAACG,IAAL,CAAUC,QAAxB,CAAtC,EAAyE;AACvE;AACAnC,QAAAA,OAAO,CAAC0B,aAAR,CAAsB,MAAtB,EAA8BN,UAAU,CAACa,QAAD,CAAxC;AACA;AACD;AACF;;AAEDzB,IAAAA,UAAU,CAAC6B,GAAX,CAAeN,IAAI,CAACG,IAAL,CAAUC,QAAzB;;AAEA,SAAK,MAAMK,SAAX,IAAwBR,IAAI,CAACxB,UAA7B,EAAyC;AACvCA,MAAAA,UAAU,CAAC6B,GAAX,CAAeG,SAAf;AACD;;AAEDpC,IAAAA,cAAc,CAAC2B,IAAD,CAAd;;AAEA,SAAK,MAAMU,QAAX,IAAuBT,IAAI,CAACU,OAA5B,EAAqC;AACnC,UAAIxC,mBAAmB,CAACuC,QAAD,CAAvB,EAAmC;AACjCzC,QAAAA,OAAO,CAAC0B,aAAR,CAAsB,MAAtB,EAA8BN,UAAU,CAACC,WAAW,CAACU,IAAD,EAAOU,QAAP,CAAZ,CAAxC;AACD;AACF;;AAED,SAAK,MAAME,GAAX,IAAkBX,IAAI,CAACY,IAAvB,EAA6B;AAC3B,UAAID,GAAG,CAACE,QAAJ,CAAa,QAAb,CAAJ,EAA4B;AAC1B,YAAI,CAAC/C,aAAa,CAACsC,GAAd,CAAkBf,WAAW,CAACU,IAAD,EAAOY,GAAP,CAA7B,CAAL,EAAgD;AAC9C9B,UAAAA,cAAc,CAAC,mCAAkBkB,IAAlB,EAAwBY,GAAxB,CAAD,CAAd;AACD;AACF;AACF;;AAED,QAAIX,IAAI,CAACM,SAAT,EAAoB;AAClB;AACA,YAAMQ,gBAAgB,GAAGxC,gBAAEC,UAAF;AACtB,mBAAYG,mBAAmB,EAAG,EADZ,CAAzB;;AAGA,YAAMqC,oBAAoB,GAAG3B,UAAU;AACrCC,MAAAA,WAAW,CAACU,IAAD,EAAOC,IAAI,CAACM,SAAZ,CAD0B,CAAvC;;AAGAS,MAAAA,oBAAoB,CAACzB,UAArB,CAAgCC,IAAhC;AACEjB,sBAAE0C,sBAAF,CAAyBF,gBAAzB,CADF;;AAGA9C,MAAAA,OAAO,CAAC0B,aAAR,CAAsB,MAAtB,EAA8BqB,oBAA9B;AACA/C,MAAAA,OAAO,CAAC0B,aAAR;AACE,YADF;AAEEpB,sBAAEqB,mBAAF;AACErB,sBAAEsB,cAAF,CAAiBvB,UAAjB,EAA6B;AAC3BC,sBAAEwB,aAAF,CAAgBE,IAAI,CAACiB,EAArB,CAD2B;AAE3BH,MAAAA,gBAF2B,CAA7B,CADF,CAFF;;;;AASD;AACF;;AAED,WAAS1C,cAAT,CAAwB2B,IAAxB,EAA8B;AAC5B,UAAM,EAAEI,QAAF,EAAYe,UAAZ,KAA2BnB,IAAI,CAACG,IAAtC;AACA,QAAIiB,CAAJ;;AAEA,SAAK,IAAIC,GAAT,IAAgBrB,IAAI,CAACjB,QAAL,CAAcC,KAAd,CAAoBsC,IAApC,EAA0C;AACxC,UAAI,OAAOD,GAAP,KAAe,QAAnB,EAA6B;AAC3B,cAAM,EAAEE,WAAF,KAAkBF,GAAxB;AACA,YAAI,EAAEG,IAAF,KAAWH,GAAf;AACA,YAAII,GAAJ;;AAEA,YAAIN,UAAU,IAAIE,GAAG,CAACK,QAAJ,KAAiBC,SAAnC,EAA8C;AAC5CP,UAAAA,CAAC,GAAGA,CAAC,IAAI,IAAIQ,oBAAJ,CAAgB5B,IAAI,CAACwB,IAArB,EAA2B,EAAEK,MAAM,EAAEzB,QAAV,EAA3B,CAAT;AACAqB,UAAAA,GAAG,GAAGL,CAAC,CAACU,IAAF,CAAOT,GAAG,CAACK,QAAX,EAAqBL,GAAG,CAACU,MAAzB,EAAiCC,WAAjC,CAA6C;AACjDH,YAAAA,MAAM,EAAEzB,QADyC;AAEjD6B,YAAAA,cAAc,EAAE,IAFiC,EAA7C,CAAN;;;AAKA,cAAId,UAAU,KAAK,QAAf,IAA2BA,UAAU,KAAK,MAA9C,EAAsD;AACpDK,YAAAA,IAAI,IAAIH,GAAG,CAACa,KAAJ;AACH,sCAAyBT,GAAG,CAACU,KAAJ,EAAY,IADlC;AAEH,sCAAyBV,GAAG,CAACU,KAAJ,EAAY,EAF1C;;AAIA,gBAAIhB,UAAU,KAAK,QAAnB,EAA6B;AAC3BM,cAAAA,GAAG,GAAGE,SAAN;AACD;AACF;AACF;;AAEDN,QAAAA,GAAG,GAAGzD,wBAAwB,CAACwC,QAAD,EAAW;AACvCqB,UAAAA,GADuC;AAEvCD,UAAAA,IAFuC;AAGvCD,UAAAA,WAHuC,EAAX,CAA9B;;AAKD,OA5BD,MA4BO,IAAIF,GAAG,CAACe,UAAJ,CAAe,UAAf,CAAJ,EAAgC;AACrC;AACD;;AAEDnE,MAAAA,OAAO,CAAC0B,aAAR,CAAsB,MAAtB,EAA8BN,UAAU,CAACC,WAAW,CAACU,IAAD,EAAOqB,GAAP,CAAZ,CAAxC;AACD;AACF;;AAED,WAAS/B,WAAT,CAAqBU,IAArB,EAA2BqC,GAA3B,EAAgC;AAC9B,WAAOrC,IAAI,KAAKvC,SAAT;AACH,yCAAoBuC,IAApB,EAA0BqC,GAA1B,CADG;AAEH;AACE5E,IAAAA,SADF;AAEES,kBAAKoE,IAAL,CAAUtC,IAAI,CAACG,IAAL,CAAUC,QAApB,EAA8B,IAA9B,EAAoCiC,GAApC,CAFF,CAFJ;;AAMD;;AAED,WAAShD,UAAT,CAAoBnB,IAApB,EAA0B;AACxB,QAAIP,OAAO,KAAK,KAAhB,EAAuB;AACrB,aAAOY,gBAAEqB,mBAAF;AACLrB,sBAAEsB,cAAF,CAAiBtB,gBAAEC,UAAF,CAAa,SAAb,CAAjB,EAA0C,CAACD,gBAAEwB,aAAF,CAAgB7B,IAAhB,CAAD,CAA1C,CADK,CAAP;;AAGD;;AAED,WAAOK,gBAAEgE,iBAAF,CAAoB,EAApB,EAAwBhE,gBAAEwB,aAAF,CAAgB7B,IAAhB,CAAxB,CAAP;AACD;AACF,C;;AAED,SAASE,QAAT,CAAkBoE,GAAlB,EAAuB;AACrB,MAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;AAC7B,WAAOA,GAAP;AACD;;AAED,SAAOA,GAAG,CAACC,IAAJ,CAASC,IAAT,CAAcF,GAAd,CAAP;AACD","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"}
@@ -120,7 +120,7 @@ function optimizeStaticVDOM(path) {
120
120
  currentRoot: _compiler.types.callExpression(
121
121
  (0, _babelUtils.importDefault)(
122
122
  file,
123
- "marko/src/runtime/vdom/helpers/v-element",
123
+ "marko/src/runtime/vdom/helpers/v-element.js",
124
124
  "marko_createElement"),
125
125
 
126
126
  writeArgs) };
@@ -1 +1 @@
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\",\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
+ {"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"}
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@marko/translator-default",
3
3
  "description": "Translates Marko templates to the default Marko runtime.",
4
- "version": "5.17.3",
4
+ "version": "5.17.7",
5
5
  "author": "Dylan Piercey <dpiercey@ebay.com>",
6
6
  "bugs": "https://github.com/marko-js/marko/issues/new?template=Bug_report.md",
7
7
  "dependencies": {
8
8
  "@babel/runtime": "^7.16.0",
9
- "@marko/babel-utils": "^5.17.3",
9
+ "@marko/babel-utils": "^5.17.4",
10
10
  "escape-string-regexp": "^4.0.0",
11
11
  "magic-string": "^0.25.7",
12
12
  "self-closing-tags": "^1.0.1"
13
13
  },
14
14
  "devDependencies": {
15
- "@marko/compiler": "^5.17.3",
16
- "marko": "^5.17.3"
15
+ "@marko/compiler": "^5.17.6",
16
+ "marko": "^5.17.7"
17
17
  },
18
18
  "files": [
19
19
  "dist"
@@ -42,5 +42,5 @@
42
42
  "type": "git",
43
43
  "url": "https://github.com/marko-js/marko/tree/master/packages/translator-default"
44
44
  },
45
- "gitHead": "f2bb822be6e9b86c13223fba283f056748fe64c4"
45
+ "gitHead": "38c4498f3a4e1f6a46275d6e444c340d04bd8648"
46
46
  }