@marko/translator-default 5.15.10 → 5.16.1

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -62,7 +62,7 @@ const analyze = {
62
62
  if (meta.hasComponentBrowser) {
63
63
  meta.component = componentBrowserFile;
64
64
  } else if (meta.hasComponent || meta.hasStatefulTagParams) {
65
- meta.component = file.opts.sourceFileName;
65
+ meta.component = file.opts.filename;
66
66
  }
67
67
 
68
68
  meta.component =
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","sourceFileName","map","filename","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.sourceFileName;\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\",\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"}
@@ -4,12 +4,12 @@ var _modules = _interopRequireDefault(require("@marko/compiler/modules"));
4
4
 
5
5
  const startOffset = "module-code".length;
6
6
 
7
- function _default(path) {
7
+ function _default(tag) {
8
8
  const {
9
9
  hub: { file },
10
10
  node: { rawValue } } =
11
- path;
12
- const dirname = _path.default.dirname(file.opts.sourceFileName);
11
+ tag;
12
+ const dirname = _path.default.dirname(file.opts.filename);
13
13
  const relativeRequire = (entry) =>
14
14
  _modules.default.require((0, _resolveFrom.default)(dirname, entry));
15
15
  const fn = eval(rawValue.slice(startOffset));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/taglib/core/parse-module-code.js"],"names":["startOffset","length","path","hub","file","node","rawValue","dirname","nodePath","opts","sourceFileName","relativeRequire","entry","markoModules","require","fn","eval","slice","source","markoOpts","metadata","marko","moduleCode"],"mappings":"uJAAA;AACA;AACA;;AAEA,MAAMA,WAAW,GAAG,cAAcC,MAAlC;;AAEe,kBAAUC,IAAV,EAAgB;AAC7B,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAAI,EAAE,EAAEC,QAAF,EAFF;AAGFJ,EAAAA,IAHJ;AAIA,QAAMK,OAAO,GAAGC,cAASD,OAAT,CAAiBH,IAAI,CAACK,IAAL,CAAUC,cAA3B,CAAhB;AACA,QAAMC,eAAe,GAAG,CAAAC,KAAK;AAC3BC,mBAAaC,OAAb,CAAqB,0BAAYP,OAAZ,EAAqBK,KAArB,CAArB,CADF;AAEA,QAAMG,EAAE,GAAGC,IAAI,CAACV,QAAQ,CAACW,KAAT,CAAejB,WAAf,CAAD,CAAf;AACA,QAAMkB,MAAM,GAAGH,EAAE,CAACJ,eAAD,EAAkBP,IAAI,CAACe,SAAvB,CAAjB;AACAf,EAAAA,IAAI,CAACgB,QAAL,CAAcC,KAAd,CAAoBC,UAApB,GAAiCJ,MAAjC;AACD","sourcesContent":["import nodePath from \"path\";\nimport resolveFrom from \"resolve-from\";\nimport markoModules from \"@marko/compiler/modules\";\n\nconst startOffset = \"module-code\".length;\n\nexport default function (path) {\n const {\n hub: { file },\n node: { rawValue }\n } = path;\n const dirname = nodePath.dirname(file.opts.sourceFileName);\n const relativeRequire = entry =>\n markoModules.require(resolveFrom(dirname, entry));\n const fn = eval(rawValue.slice(startOffset));\n const source = fn(relativeRequire, file.markoOpts);\n file.metadata.marko.moduleCode = source;\n}\n"],"file":"parse-module-code.js"}
1
+ {"version":3,"sources":["../../../src/taglib/core/parse-module-code.js"],"names":["startOffset","length","tag","hub","file","node","rawValue","dirname","path","opts","filename","relativeRequire","entry","markoModules","require","fn","eval","slice","source","markoOpts","metadata","marko","moduleCode"],"mappings":"uJAAA;AACA;AACA;;AAEA,MAAMA,WAAW,GAAG,cAAcC,MAAlC;;AAEe,kBAAUC,GAAV,EAAe;AAC5B,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEJC,IAAAA,IAAI,EAAE,EAAEC,QAAF,EAFF;AAGFJ,EAAAA,GAHJ;AAIA,QAAMK,OAAO,GAAGC,cAAKD,OAAL,CAAaH,IAAI,CAACK,IAAL,CAAUC,QAAvB,CAAhB;AACA,QAAMC,eAAe,GAAG,CAAAC,KAAK;AAC3BC,mBAAaC,OAAb,CAAqB,0BAAYP,OAAZ,EAAqBK,KAArB,CAArB,CADF;AAEA,QAAMG,EAAE,GAAGC,IAAI,CAACV,QAAQ,CAACW,KAAT,CAAejB,WAAf,CAAD,CAAf;AACA,QAAMkB,MAAM,GAAGH,EAAE,CAACJ,eAAD,EAAkBP,IAAI,CAACe,SAAvB,CAAjB;AACAf,EAAAA,IAAI,CAACgB,QAAL,CAAcC,KAAd,CAAoBC,UAApB,GAAiCJ,MAAjC;AACD","sourcesContent":["import path from \"path\";\nimport resolveFrom from \"resolve-from\";\nimport markoModules from \"@marko/compiler/modules\";\n\nconst startOffset = \"module-code\".length;\n\nexport default function (tag) {\n const {\n hub: { file },\n node: { rawValue }\n } = tag;\n const dirname = path.dirname(file.opts.filename);\n const relativeRequire = entry =>\n markoModules.require(resolveFrom(dirname, entry));\n const fn = eval(rawValue.slice(startOffset));\n const source = fn(relativeRequire, file.markoOpts);\n file.metadata.marko.moduleCode = source;\n}\n"],"file":"parse-module-code.js"}
@@ -1,10 +1,10 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = _default;var _path = require("path");
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = _default;var _path = _interopRequireDefault(require("path"));
2
2
  var _getComponentFiles = _interopRequireDefault(require("../../util/get-component-files"));
3
3
 
4
4
  const STYLE_REG = /^style(?:\.([^\s]+))?\s*\{/;
5
5
 
6
- function _default(path) {
7
- const { hub, node } = path;
6
+ function _default(tag) {
7
+ const { hub, node } = tag;
8
8
  const { deps } = hub.file.metadata.marko;
9
9
  const { rawValue } = node;
10
10
  const matchedBlock = STYLE_REG.exec(rawValue);
@@ -12,8 +12,8 @@ function _default(path) {
12
12
  return;
13
13
  }
14
14
 
15
- if (!path.parentPath.isProgram()) {
16
- throw path.
15
+ if (!tag.parentPath.isProgram()) {
16
+ throw tag.
17
17
  get("name").
18
18
  buildCodeFrameError(
19
19
  "Style blocks must be at the root of your Marko template.");
@@ -21,15 +21,15 @@ function _default(path) {
21
21
  }
22
22
 
23
23
  if (deps.some((dep) => dep.style)) {
24
- throw path.
24
+ throw tag.
25
25
  get("name").
26
26
  buildCodeFrameError(
27
27
  "A Marko file can only contain a single inline style block.");
28
28
 
29
29
  }
30
30
 
31
- if ((0, _getComponentFiles.default)(path).styleFile) {
32
- throw path.
31
+ if ((0, _getComponentFiles.default)(tag).styleFile) {
32
+ throw tag.
33
33
  get("name").
34
34
  buildCodeFrameError(
35
35
  'A Marko file can either have an inline style block, or an external "style.ext" file, but not both.');
@@ -40,7 +40,7 @@ function _default(path) {
40
40
  const codeSartOffset = startContent.length;
41
41
  const codeEndOffset = rawValue.lastIndexOf("}");
42
42
  const code = rawValue.slice(codeSartOffset, codeEndOffset);
43
- const base = (0, _path.basename)(hub.file.opts.sourceFileName);
43
+ const base = _path.default.basename(hub.file.opts.filename);
44
44
  const start = node.extra && node.extra.nameStart;
45
45
 
46
46
  deps.push({
@@ -53,6 +53,6 @@ function _default(path) {
53
53
  virtualPath: `./${base}.${type}` });
54
54
 
55
55
 
56
- path.remove();
56
+ tag.remove();
57
57
  }
58
58
  //# sourceMappingURL=transform-style.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/taglib/core/transform-style.js"],"names":["STYLE_REG","path","hub","node","deps","file","metadata","marko","rawValue","matchedBlock","exec","parentPath","isProgram","get","buildCodeFrameError","some","dep","style","styleFile","startContent","type","codeSartOffset","length","codeEndOffset","lastIndexOf","code","slice","base","opts","sourceFileName","start","extra","nameStart","push","startPos","endPos","virtualPath","remove"],"mappings":"uJAAA;AACA;;AAEA,MAAMA,SAAS,GAAG,4BAAlB;;AAEe,kBAAUC,IAAV,EAAgB;AAC7B,QAAM,EAAEC,GAAF,EAAOC,IAAP,KAAgBF,IAAtB;AACA,QAAM,EAAEG,IAAF,KAAWF,GAAG,CAACG,IAAJ,CAASC,QAAT,CAAkBC,KAAnC;AACA,QAAM,EAAEC,QAAF,KAAeL,IAArB;AACA,QAAMM,YAAY,GAAGT,SAAS,CAACU,IAAV,CAAeF,QAAf,CAArB;AACA,MAAI,CAACC,YAAL,EAAmB;AACjB;AACD;;AAED,MAAI,CAACR,IAAI,CAACU,UAAL,CAAgBC,SAAhB,EAAL,EAAkC;AAChC,UAAMX,IAAI;AACPY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,8DAHE,CAAN;;AAKD;;AAED,MAAIV,IAAI,CAACW,IAAL,CAAU,CAAAC,GAAG,KAAIA,GAAG,CAACC,KAArB,CAAJ,EAAiC;AAC/B,UAAMhB,IAAI;AACPY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,gEAHE,CAAN;;AAKD;;AAED,MAAI,gCAAkBb,IAAlB,EAAwBiB,SAA5B,EAAuC;AACrC,UAAMjB,IAAI;AACPY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,wGAHE,CAAN;;AAKD;;AAED,QAAM,CAACK,YAAD,EAAeC,IAAI,GAAG,KAAtB,IAA+BX,YAArC;AACA,QAAMY,cAAc,GAAGF,YAAY,CAACG,MAApC;AACA,QAAMC,aAAa,GAAGf,QAAQ,CAACgB,WAAT,CAAqB,GAArB,CAAtB;AACA,QAAMC,IAAI,GAAGjB,QAAQ,CAACkB,KAAT,CAAeL,cAAf,EAA+BE,aAA/B,CAAb;AACA,QAAMI,IAAI,GAAG,oBAASzB,GAAG,CAACG,IAAJ,CAASuB,IAAT,CAAcC,cAAvB,CAAb;AACA,QAAMC,KAAK,GAAG3B,IAAI,CAAC4B,KAAL,IAAc5B,IAAI,CAAC4B,KAAL,CAAWC,SAAvC;;AAEA5B,EAAAA,IAAI,CAAC6B,IAAL,CAAU;AACRb,IAAAA,IADQ;AAERK,IAAAA,IAFQ;AAGRR,IAAAA,KAAK,EAAE,IAHC;AAIRiB,IAAAA,QAAQ,EAAEJ,KAAK,GAAGT,cAJV;AAKRc,IAAAA,MAAM,EAAEL,KAAK,GAAGP,aALR;AAMRtB,IAAAA,IAAI,EAAG,KAAI0B,IAAK,EANR;AAORS,IAAAA,WAAW,EAAG,KAAIT,IAAK,IAAGP,IAAK,EAPvB,EAAV;;;AAUAnB,EAAAA,IAAI,CAACoC,MAAL;AACD","sourcesContent":["import { basename } from \"path\";\nimport getComponentFiles from \"../../util/get-component-files\";\n\nconst STYLE_REG = /^style(?:\\.([^\\s]+))?\\s*\\{/;\n\nexport default function (path) {\n const { hub, node } = path;\n const { deps } = hub.file.metadata.marko;\n const { rawValue } = node;\n const matchedBlock = STYLE_REG.exec(rawValue);\n if (!matchedBlock) {\n return;\n }\n\n if (!path.parentPath.isProgram()) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n \"Style blocks must be at the root of your Marko template.\"\n );\n }\n\n if (deps.some(dep => dep.style)) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n \"A Marko file can only contain a single inline style block.\"\n );\n }\n\n if (getComponentFiles(path).styleFile) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n 'A Marko file can either have an inline style block, or an external \"style.ext\" file, but not both.'\n );\n }\n\n const [startContent, type = \"css\"] = matchedBlock;\n const codeSartOffset = startContent.length;\n const codeEndOffset = rawValue.lastIndexOf(\"}\");\n const code = rawValue.slice(codeSartOffset, codeEndOffset);\n const base = basename(hub.file.opts.sourceFileName);\n const start = node.extra && node.extra.nameStart;\n\n deps.push({\n type,\n code,\n style: true,\n startPos: start + codeSartOffset,\n endPos: start + codeEndOffset,\n path: `./${base}`,\n virtualPath: `./${base}.${type}`\n });\n\n path.remove();\n}\n"],"file":"transform-style.js"}
1
+ {"version":3,"sources":["../../../src/taglib/core/transform-style.js"],"names":["STYLE_REG","tag","hub","node","deps","file","metadata","marko","rawValue","matchedBlock","exec","parentPath","isProgram","get","buildCodeFrameError","some","dep","style","styleFile","startContent","type","codeSartOffset","length","codeEndOffset","lastIndexOf","code","slice","base","path","basename","opts","filename","start","extra","nameStart","push","startPos","endPos","virtualPath","remove"],"mappings":"uJAAA;AACA;;AAEA,MAAMA,SAAS,GAAG,4BAAlB;;AAEe,kBAAUC,GAAV,EAAe;AAC5B,QAAM,EAAEC,GAAF,EAAOC,IAAP,KAAgBF,GAAtB;AACA,QAAM,EAAEG,IAAF,KAAWF,GAAG,CAACG,IAAJ,CAASC,QAAT,CAAkBC,KAAnC;AACA,QAAM,EAAEC,QAAF,KAAeL,IAArB;AACA,QAAMM,YAAY,GAAGT,SAAS,CAACU,IAAV,CAAeF,QAAf,CAArB;AACA,MAAI,CAACC,YAAL,EAAmB;AACjB;AACD;;AAED,MAAI,CAACR,GAAG,CAACU,UAAJ,CAAeC,SAAf,EAAL,EAAiC;AAC/B,UAAMX,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,8DAHE,CAAN;;AAKD;;AAED,MAAIV,IAAI,CAACW,IAAL,CAAU,CAAAC,GAAG,KAAIA,GAAG,CAACC,KAArB,CAAJ,EAAiC;AAC/B,UAAMhB,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,gEAHE,CAAN;;AAKD;;AAED,MAAI,gCAAkBb,GAAlB,EAAuBiB,SAA3B,EAAsC;AACpC,UAAMjB,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,wGAHE,CAAN;;AAKD;;AAED,QAAM,CAACK,YAAD,EAAeC,IAAI,GAAG,KAAtB,IAA+BX,YAArC;AACA,QAAMY,cAAc,GAAGF,YAAY,CAACG,MAApC;AACA,QAAMC,aAAa,GAAGf,QAAQ,CAACgB,WAAT,CAAqB,GAArB,CAAtB;AACA,QAAMC,IAAI,GAAGjB,QAAQ,CAACkB,KAAT,CAAeL,cAAf,EAA+BE,aAA/B,CAAb;AACA,QAAMI,IAAI,GAAGC,cAAKC,QAAL,CAAc3B,GAAG,CAACG,IAAJ,CAASyB,IAAT,CAAcC,QAA5B,CAAb;AACA,QAAMC,KAAK,GAAG7B,IAAI,CAAC8B,KAAL,IAAc9B,IAAI,CAAC8B,KAAL,CAAWC,SAAvC;;AAEA9B,EAAAA,IAAI,CAAC+B,IAAL,CAAU;AACRf,IAAAA,IADQ;AAERK,IAAAA,IAFQ;AAGRR,IAAAA,KAAK,EAAE,IAHC;AAIRmB,IAAAA,QAAQ,EAAEJ,KAAK,GAAGX,cAJV;AAKRgB,IAAAA,MAAM,EAAEL,KAAK,GAAGT,aALR;AAMRK,IAAAA,IAAI,EAAG,KAAID,IAAK,EANR;AAORW,IAAAA,WAAW,EAAG,KAAIX,IAAK,IAAGP,IAAK,EAPvB,EAAV;;;AAUAnB,EAAAA,GAAG,CAACsC,MAAJ;AACD","sourcesContent":["import path from \"path\";\nimport getComponentFiles from \"../../util/get-component-files\";\n\nconst STYLE_REG = /^style(?:\\.([^\\s]+))?\\s*\\{/;\n\nexport default function (tag) {\n const { hub, node } = tag;\n const { deps } = hub.file.metadata.marko;\n const { rawValue } = node;\n const matchedBlock = STYLE_REG.exec(rawValue);\n if (!matchedBlock) {\n return;\n }\n\n if (!tag.parentPath.isProgram()) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n \"Style blocks must be at the root of your Marko template.\"\n );\n }\n\n if (deps.some(dep => dep.style)) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n \"A Marko file can only contain a single inline style block.\"\n );\n }\n\n if (getComponentFiles(tag).styleFile) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n 'A Marko file can either have an inline style block, or an external \"style.ext\" file, but not both.'\n );\n }\n\n const [startContent, type = \"css\"] = matchedBlock;\n const codeSartOffset = startContent.length;\n const codeEndOffset = rawValue.lastIndexOf(\"}\");\n const code = rawValue.slice(codeSartOffset, codeEndOffset);\n const base = path.basename(hub.file.opts.filename);\n const start = node.extra && node.extra.nameStart;\n\n deps.push({\n type,\n code,\n style: true,\n startPos: start + codeSartOffset,\n endPos: start + codeEndOffset,\n path: `./${base}`,\n virtualPath: `./${base}.${type}`\n });\n\n tag.remove();\n}\n"],"file":"transform-style.js"}
@@ -2,20 +2,20 @@
2
2
  var _compiler = require("@marko/compiler");
3
3
  var _babelUtils = require("@marko/babel-utils");
4
4
 
5
- function enter(path) {
5
+ function enter(tag) {
6
6
  const {
7
7
  hub: { file } } =
8
- path;
9
- (0, _babelUtils.assertNoParams)(path);
10
- (0, _babelUtils.assertNoAttributes)(path);
8
+ tag;
9
+ (0, _babelUtils.assertNoParams)(tag);
10
+ (0, _babelUtils.assertNoAttributes)(tag);
11
11
 
12
12
  const fs = file.markoOpts.fileSystem;
13
- const tagName = path.get("name").node.value;
13
+ const tagName = tag.get("name").node.value;
14
14
  const tagExample = `<${tagName}("./path-to-file.ext")>`;
15
- const args = path.get("arguments");
15
+ const args = tag.get("arguments");
16
16
 
17
17
  if (args.length !== 1) {
18
- throw path.buildCodeFrameError(
18
+ throw tag.buildCodeFrameError(
19
19
  `A single path argument is required for ${tagExample}.`);
20
20
 
21
21
  }
@@ -28,7 +28,7 @@ function enter(path) {
28
28
 
29
29
  }
30
30
 
31
- const dir = _path.default.dirname(file.opts.sourceFileName);
31
+ const dir = _path.default.dirname(file.opts.filename);
32
32
  const fullPath = _path.default.resolve(dir, content.node.value);
33
33
 
34
34
  try {
@@ -41,7 +41,7 @@ function enter(path) {
41
41
  throw content.buildCodeFrameError(`Unable to find file for <${tagName}>.`);
42
42
  }
43
43
 
44
- path.replaceWith(
44
+ tag.replaceWith(
45
45
  _compiler.types.markoPlaceholder(
46
46
  _compiler.types.stringLiteral(fs.readFileSync(fullPath).toString("utf-8")),
47
47
  tagName === "include-text"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-include-content.js"],"names":["enter","path","hub","file","fs","markoOpts","fileSystem","tagName","get","node","value","tagExample","args","length","buildCodeFrameError","content","isStringLiteral","dir","nodePath","dirname","opts","sourceFileName","fullPath","resolve","stat","statSync","isFile","Error","replaceWith","t","markoPlaceholder","stringLiteral","readFileSync","toString"],"mappings":"kJAAA;AACA;AACA;;AAEO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFF,EAAAA,IAFJ;AAGA,kCAAeA,IAAf;AACA,sCAAmBA,IAAnB;;AAEA,QAAMG,EAAE,GAAGD,IAAI,CAACE,SAAL,CAAeC,UAA1B;AACA,QAAMC,OAAO,GAAGN,IAAI,CAACO,GAAL,CAAS,MAAT,EAAiBC,IAAjB,CAAsBC,KAAtC;AACA,QAAMC,UAAU,GAAI,IAAGJ,OAAQ,yBAA/B;AACA,QAAMK,IAAI,GAAGX,IAAI,CAACO,GAAL,CAAS,WAAT,CAAb;;AAEA,MAAII,IAAI,CAACC,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAMZ,IAAI,CAACa,mBAAL;AACH,8CAAyCH,UAAW,GADjD,CAAN;;AAGD;;AAED,QAAM,CAACI,OAAD,IAAYH,IAAlB;;AAEA,MAAI,CAACG,OAAO,CAACC,eAAR,EAAL,EAAgC;AAC9B,UAAMD,OAAO,CAACD,mBAAR;AACH,uBAAkBH,UAAW,2BAD1B,CAAN;;AAGD;;AAED,QAAMM,GAAG,GAAGC,cAASC,OAAT,CAAiBhB,IAAI,CAACiB,IAAL,CAAUC,cAA3B,CAAZ;AACA,QAAMC,QAAQ,GAAGJ,cAASK,OAAT,CAAiBN,GAAjB,EAAsBF,OAAO,CAACN,IAAR,CAAaC,KAAnC,CAAjB;;AAEA,MAAI;AACF,UAAMc,IAAI,GAAGpB,EAAE,CAACqB,QAAH,CAAYH,QAAZ,CAAb;;AAEA,QAAI,CAACE,IAAI,CAACE,MAAL,EAAL,EAAoB;AAClB,YAAM,IAAIC,KAAJ,EAAN;AACD;AACF,GAND,CAME,MAAM;AACN,UAAMZ,OAAO,CAACD,mBAAR,CAA6B,4BAA2BP,OAAQ,IAAhE,CAAN;AACD;;AAEDN,EAAAA,IAAI,CAAC2B,WAAL;AACEC,kBAAEC,gBAAF;AACED,kBAAEE,aAAF,CAAgB3B,EAAE,CAAC4B,YAAH,CAAgBV,QAAhB,EAA0BW,QAA1B,CAAmC,OAAnC,CAAhB,CADF;AAEE1B,EAAAA,OAAO,KAAK,cAFd,CADF;;;AAMD","sourcesContent":["import nodePath from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport { assertNoParams, assertNoAttributes } from \"@marko/babel-utils\";\n\nexport function enter(path) {\n const {\n hub: { file }\n } = path;\n assertNoParams(path);\n assertNoAttributes(path);\n\n const fs = file.markoOpts.fileSystem;\n const tagName = path.get(\"name\").node.value;\n const tagExample = `<${tagName}(\"./path-to-file.ext\")>`;\n const args = path.get(\"arguments\");\n\n if (args.length !== 1) {\n throw path.buildCodeFrameError(\n `A single path argument is required for ${tagExample}.`\n );\n }\n\n const [content] = args;\n\n if (!content.isStringLiteral()) {\n throw content.buildCodeFrameError(\n `The argument to ${tagExample} must be a static string.`\n );\n }\n\n const dir = nodePath.dirname(file.opts.sourceFileName);\n const fullPath = nodePath.resolve(dir, content.node.value);\n\n try {\n const stat = fs.statSync(fullPath);\n\n if (!stat.isFile()) {\n throw new Error();\n }\n } catch {\n throw content.buildCodeFrameError(`Unable to find file for <${tagName}>.`);\n }\n\n path.replaceWith(\n t.markoPlaceholder(\n t.stringLiteral(fs.readFileSync(fullPath).toString(\"utf-8\")),\n tagName === \"include-text\"\n )\n );\n}\n"],"file":"translate-include-content.js"}
1
+ {"version":3,"sources":["../../../src/taglib/core/translate-include-content.js"],"names":["enter","tag","hub","file","fs","markoOpts","fileSystem","tagName","get","node","value","tagExample","args","length","buildCodeFrameError","content","isStringLiteral","dir","path","dirname","opts","filename","fullPath","resolve","stat","statSync","isFile","Error","replaceWith","t","markoPlaceholder","stringLiteral","readFileSync","toString"],"mappings":"kJAAA;AACA;AACA;;AAEO,SAASA,KAAT,CAAeC,GAAf,EAAoB;AACzB,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFF,EAAAA,GAFJ;AAGA,kCAAeA,GAAf;AACA,sCAAmBA,GAAnB;;AAEA,QAAMG,EAAE,GAAGD,IAAI,CAACE,SAAL,CAAeC,UAA1B;AACA,QAAMC,OAAO,GAAGN,GAAG,CAACO,GAAJ,CAAQ,MAAR,EAAgBC,IAAhB,CAAqBC,KAArC;AACA,QAAMC,UAAU,GAAI,IAAGJ,OAAQ,yBAA/B;AACA,QAAMK,IAAI,GAAGX,GAAG,CAACO,GAAJ,CAAQ,WAAR,CAAb;;AAEA,MAAII,IAAI,CAACC,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAMZ,GAAG,CAACa,mBAAJ;AACH,8CAAyCH,UAAW,GADjD,CAAN;;AAGD;;AAED,QAAM,CAACI,OAAD,IAAYH,IAAlB;;AAEA,MAAI,CAACG,OAAO,CAACC,eAAR,EAAL,EAAgC;AAC9B,UAAMD,OAAO,CAACD,mBAAR;AACH,uBAAkBH,UAAW,2BAD1B,CAAN;;AAGD;;AAED,QAAMM,GAAG,GAAGC,cAAKC,OAAL,CAAahB,IAAI,CAACiB,IAAL,CAAUC,QAAvB,CAAZ;AACA,QAAMC,QAAQ,GAAGJ,cAAKK,OAAL,CAAaN,GAAb,EAAkBF,OAAO,CAACN,IAAR,CAAaC,KAA/B,CAAjB;;AAEA,MAAI;AACF,UAAMc,IAAI,GAAGpB,EAAE,CAACqB,QAAH,CAAYH,QAAZ,CAAb;;AAEA,QAAI,CAACE,IAAI,CAACE,MAAL,EAAL,EAAoB;AAClB,YAAM,IAAIC,KAAJ,EAAN;AACD;AACF,GAND,CAME,MAAM;AACN,UAAMZ,OAAO,CAACD,mBAAR,CAA6B,4BAA2BP,OAAQ,IAAhE,CAAN;AACD;;AAEDN,EAAAA,GAAG,CAAC2B,WAAJ;AACEC,kBAAEC,gBAAF;AACED,kBAAEE,aAAF,CAAgB3B,EAAE,CAAC4B,YAAH,CAAgBV,QAAhB,EAA0BW,QAA1B,CAAmC,OAAnC,CAAhB,CADF;AAEE1B,EAAAA,OAAO,KAAK,cAFd,CADF;;;AAMD","sourcesContent":["import path from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport { assertNoParams, assertNoAttributes } from \"@marko/babel-utils\";\n\nexport function enter(tag) {\n const {\n hub: { file }\n } = tag;\n assertNoParams(tag);\n assertNoAttributes(tag);\n\n const fs = file.markoOpts.fileSystem;\n const tagName = tag.get(\"name\").node.value;\n const tagExample = `<${tagName}(\"./path-to-file.ext\")>`;\n const args = tag.get(\"arguments\");\n\n if (args.length !== 1) {\n throw tag.buildCodeFrameError(\n `A single path argument is required for ${tagExample}.`\n );\n }\n\n const [content] = args;\n\n if (!content.isStringLiteral()) {\n throw content.buildCodeFrameError(\n `The argument to ${tagExample} must be a static string.`\n );\n }\n\n const dir = path.dirname(file.opts.filename);\n const fullPath = path.resolve(dir, content.node.value);\n\n try {\n const stat = fs.statSync(fullPath);\n\n if (!stat.isFile()) {\n throw new Error();\n }\n } catch {\n throw content.buildCodeFrameError(`Unable to find file for <${tagName}>.`);\n }\n\n tag.replaceWith(\n t.markoPlaceholder(\n t.stringLiteral(fs.readFileSync(fullPath).toString(\"utf-8\")),\n tagName === \"include-text\"\n )\n );\n}\n"],"file":"translate-include-content.js"}
@@ -52,7 +52,7 @@ var _babelUtils = require("@marko/babel-utils");var _default =
52
52
 
53
53
  function addHydrateDeps(file) {
54
54
  const meta = file.metadata.marko;
55
- const resolved = (0, _babelUtils.resolveRelativePath)(entryFile, file.opts.sourceFileName);
55
+ const resolved = (0, _babelUtils.resolveRelativePath)(entryFile, file.opts.filename);
56
56
  if (hydratedFiles.has(resolved)) return;
57
57
 
58
58
  hydratedFiles.add(resolved);
@@ -60,17 +60,14 @@ var _babelUtils = require("@marko/babel-utils");var _default =
60
60
  if (meta.component) {
61
61
  hasComponents = true;
62
62
 
63
- if (
64
- _path.default.basename(meta.component) ===
65
- _path.default.basename(file.opts.sourceFileName))
66
- {
63
+ if (_path.default.basename(meta.component) === _path.default.basename(file.opts.filename)) {
67
64
  // Stateful component.
68
65
  program.pushContainer("body", importPath(resolved));
69
66
  return;
70
67
  }
71
68
  }
72
69
 
73
- watchFiles.add(file.opts.sourceFileName);
70
+ watchFiles.add(file.opts.filename);
74
71
 
75
72
  for (const watchFile of meta.watchFiles) {
76
73
  watchFiles.add(watchFile);
@@ -117,7 +114,7 @@ var _babelUtils = require("@marko/babel-utils");var _default =
117
114
  }
118
115
 
119
116
  function addBrowserDeps(file) {
120
- const { sourceFileName, sourceMaps } = file.opts;
117
+ const { filename, sourceMaps } = file.opts;
121
118
  let s;
122
119
 
123
120
  for (let dep of file.metadata.marko.deps) {
@@ -127,9 +124,9 @@ var _babelUtils = require("@marko/babel-utils");var _default =
127
124
  let map;
128
125
 
129
126
  if (sourceMaps && dep.startPos !== undefined) {
130
- s = s || new _magicString.default(file.code, { source: sourceFileName });
127
+ s = s || new _magicString.default(file.code, { source: filename });
131
128
  map = s.snip(dep.startPos, dep.endPos).generateMap({
132
- source: sourceFileName,
129
+ source: filename,
133
130
  includeContent: true });
134
131
 
135
132
 
@@ -144,7 +141,7 @@ var _babelUtils = require("@marko/babel-utils");var _default =
144
141
  }
145
142
  }
146
143
 
147
- dep = resolveVirtualDependency(sourceFileName, {
144
+ dep = resolveVirtualDependency(filename, {
148
145
  map,
149
146
  code,
150
147
  virtualPath });
@@ -162,7 +159,7 @@ var _babelUtils = require("@marko/babel-utils");var _default =
162
159
  (0, _babelUtils.resolveRelativePath)(file, req) :
163
160
  (0, _babelUtils.resolveRelativePath)(
164
161
  entryFile,
165
- _path.default.join(file.opts.sourceFileName, "..", req));
162
+ _path.default.join(file.opts.filename, "..", req));
166
163
 
167
164
  }
168
165
 
@@ -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","sourceFileName","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.sourceFileName);\n if (hydratedFiles.has(resolved)) return;\n\n hydratedFiles.add(resolved);\n\n if (meta.component) {\n hasComponents = true;\n\n if (\n path.basename(meta.component) ===\n path.basename(file.opts.sourceFileName)\n ) {\n // Stateful component.\n program.pushContainer(\"body\", importPath(resolved));\n return;\n }\n }\n\n watchFiles.add(file.opts.sourceFileName);\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 { sourceFileName, 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: sourceFileName });\n map = s.snip(dep.startPos, dep.endPos).generateMap({\n source: sourceFileName,\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(sourceFileName, {\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.sourceFileName, \"..\", 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":"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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"}
@@ -10,12 +10,12 @@ function getComponentFiles({ hub: { file } }) {
10
10
  return meta[COMPONENT_FILES_KEY];
11
11
  }
12
12
 
13
- const { sourceFileName } = file.opts;
13
+ const { filename } = file.opts;
14
14
  const fs = file.markoOpts.fileSystem;
15
- const ext = _path.default.extname(sourceFileName);
16
- const dirname = _path.default.dirname(sourceFileName);
15
+ const ext = _path.default.extname(filename);
16
+ const dirname = _path.default.dirname(filename);
17
17
  const dirFiles = fs.readdirSync(dirname).sort();
18
- const nameNoExt = _path.default.basename(sourceFileName, ext);
18
+ const nameNoExt = _path.default.basename(filename, ext);
19
19
  const isEntry = "index" === nameNoExt;
20
20
  const fileMatch = `(${(0, _escapeStringRegexp.default)(nameNoExt)}\\.${isEntry ? "|" : ""})`;
21
21
  const styleMatch = new RegExp(`^${fileMatch}style\\.\\w+$`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/get-component-files.js"],"names":["COMPONENT_FILES_KEY","Symbol","getComponentFiles","hub","file","meta","metadata","marko","sourceFileName","opts","fs","markoOpts","fileSystem","ext","path","extname","dirname","dirFiles","readdirSync","sort","nameNoExt","basename","isEntry","fileMatch","styleMatch","RegExp","componentMatch","splitComponentMatch","packageMatch","styleFile","packageFile","componentFile","componentBrowserFile","test","hasComponent","hasComponentBrowser"],"mappings":"gKAAA;AACA;;AAEA,MAAMA,mBAAmB,GAAGC,MAAM,EAAlC;;AAEe,SAASC,iBAAT,CAA2B,EAAEC,GAAG,EAAE,EAAEC,IAAF,EAAP,EAA3B,EAA8C;AAC3D,QAAMC,IAAI,GAAGD,IAAI,CAACE,QAAL,CAAcC,KAA3B;;AAEA,MAAIF,IAAI,CAACL,mBAAD,CAAR,EAA+B;AAC7B,WAAOK,IAAI,CAACL,mBAAD,CAAX;AACD;;AAED,QAAM,EAAEQ,cAAF,KAAqBJ,IAAI,CAACK,IAAhC;AACA,QAAMC,EAAE,GAAGN,IAAI,CAACO,SAAL,CAAeC,UAA1B;AACA,QAAMC,GAAG,GAAGC,cAAKC,OAAL,CAAaP,cAAb,CAAZ;AACA,QAAMQ,OAAO,GAAGF,cAAKE,OAAL,CAAaR,cAAb,CAAhB;AACA,QAAMS,QAAQ,GAAGP,EAAE,CAACQ,WAAH,CAAeF,OAAf,EAAwBG,IAAxB,EAAjB;AACA,QAAMC,SAAS,GAAGN,cAAKO,QAAL,CAAcb,cAAd,EAA8BK,GAA9B,CAAlB;AACA,QAAMS,OAAO,GAAG,YAAYF,SAA5B;AACA,QAAMG,SAAS,GAAI,IAAG,iCAAaH,SAAb,CAAwB,MAAKE,OAAO,GAAG,GAAH,GAAS,EAAG,GAAtE;AACA,QAAME,UAAU,GAAG,IAAIC,MAAJ,CAAY,IAAGF,SAAU,eAAzB,CAAnB;AACA,QAAMG,cAAc,GAAG,IAAID,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAAvB;AACA,QAAMI,mBAAmB,GAAG,IAAIF,MAAJ;AACzB,MAAGF,SAAU,2BADY,CAA5B;;AAGA,QAAMK,YAAY,GAAG,IAAIH,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAArB;AACA,MAAIM,SAAJ;AACA,MAAIC,WAAJ;AACA,MAAIC,aAAJ;AACA,MAAIC,oBAAJ;;AAEA,OAAK,MAAM5B,IAAX,IAAmBa,QAAnB,EAA6B;AAC3B,QAAI,CAACY,SAAD,IAAcL,UAAU,CAACS,IAAX,CAAgB7B,IAAhB,CAAlB,EAAyC;AACvCyB,MAAAA,SAAS,GAAI,KAAIzB,IAAK,EAAtB;AACD,KAFD,MAEO,IAAI,CAAC0B,WAAD,IAAgBF,YAAY,CAACK,IAAb,CAAkB7B,IAAlB,CAApB,EAA6C;AAClD0B,MAAAA,WAAW,GAAI,KAAI1B,IAAK,EAAxB;AACD,KAFM,MAEA,IAAI,CAAC2B,aAAD,IAAkBL,cAAc,CAACO,IAAf,CAAoB7B,IAApB,CAAtB,EAAiD;AACtD2B,MAAAA,aAAa,GAAI,KAAI3B,IAAK,EAA1B;AACAC,MAAAA,IAAI,CAAC6B,YAAL,GAAoB,IAApB;AACD,KAHM,MAGA,IAAI,CAACF,oBAAD,IAAyBL,mBAAmB,CAACM,IAApB,CAAyB7B,IAAzB,CAA7B,EAA6D;AAClE4B,MAAAA,oBAAoB,GAAI,KAAI5B,IAAK,EAAjC;AACAC,MAAAA,IAAI,CAAC8B,mBAAL,GAA2B,IAA3B;AACD;AACF;;AAED,SAAQ9B,IAAI,CAACL,mBAAD,CAAJ,GAA4B;AAClC6B,IAAAA,SADkC;AAElCC,IAAAA,WAFkC;AAGlCC,IAAAA,aAHkC;AAIlCC,IAAAA,oBAJkC,EAApC;;AAMD","sourcesContent":["import path from \"path\";\nimport escapeRegExp from \"escape-string-regexp\";\n\nconst COMPONENT_FILES_KEY = Symbol();\n\nexport default function getComponentFiles({ hub: { file } }) {\n const meta = file.metadata.marko;\n\n if (meta[COMPONENT_FILES_KEY]) {\n return meta[COMPONENT_FILES_KEY];\n }\n\n const { sourceFileName } = file.opts;\n const fs = file.markoOpts.fileSystem;\n const ext = path.extname(sourceFileName);\n const dirname = path.dirname(sourceFileName);\n const dirFiles = fs.readdirSync(dirname).sort();\n const nameNoExt = path.basename(sourceFileName, ext);\n const isEntry = \"index\" === nameNoExt;\n const fileMatch = `(${escapeRegExp(nameNoExt)}\\\\.${isEntry ? \"|\" : \"\"})`;\n const styleMatch = new RegExp(`^${fileMatch}style\\\\.\\\\w+$`);\n const componentMatch = new RegExp(`^${fileMatch}component\\\\.\\\\w+$`);\n const splitComponentMatch = new RegExp(\n `^${fileMatch}component-browser\\\\.\\\\w+$`\n );\n const packageMatch = new RegExp(`^${fileMatch}browser\\\\.\\\\json$`);\n let styleFile;\n let packageFile;\n let componentFile;\n let componentBrowserFile;\n\n for (const file of dirFiles) {\n if (!styleFile && styleMatch.test(file)) {\n styleFile = `./${file}`;\n } else if (!packageFile && packageMatch.test(file)) {\n packageFile = `./${file}`;\n } else if (!componentFile && componentMatch.test(file)) {\n componentFile = `./${file}`;\n meta.hasComponent = true;\n } else if (!componentBrowserFile && splitComponentMatch.test(file)) {\n componentBrowserFile = `./${file}`;\n meta.hasComponentBrowser = true;\n }\n }\n\n return (meta[COMPONENT_FILES_KEY] = {\n styleFile,\n packageFile,\n componentFile,\n componentBrowserFile\n });\n}\n"],"file":"get-component-files.js"}
1
+ {"version":3,"sources":["../../src/util/get-component-files.js"],"names":["COMPONENT_FILES_KEY","Symbol","getComponentFiles","hub","file","meta","metadata","marko","filename","opts","fs","markoOpts","fileSystem","ext","path","extname","dirname","dirFiles","readdirSync","sort","nameNoExt","basename","isEntry","fileMatch","styleMatch","RegExp","componentMatch","splitComponentMatch","packageMatch","styleFile","packageFile","componentFile","componentBrowserFile","test","hasComponent","hasComponentBrowser"],"mappings":"gKAAA;AACA;;AAEA,MAAMA,mBAAmB,GAAGC,MAAM,EAAlC;;AAEe,SAASC,iBAAT,CAA2B,EAAEC,GAAG,EAAE,EAAEC,IAAF,EAAP,EAA3B,EAA8C;AAC3D,QAAMC,IAAI,GAAGD,IAAI,CAACE,QAAL,CAAcC,KAA3B;;AAEA,MAAIF,IAAI,CAACL,mBAAD,CAAR,EAA+B;AAC7B,WAAOK,IAAI,CAACL,mBAAD,CAAX;AACD;;AAED,QAAM,EAAEQ,QAAF,KAAeJ,IAAI,CAACK,IAA1B;AACA,QAAMC,EAAE,GAAGN,IAAI,CAACO,SAAL,CAAeC,UAA1B;AACA,QAAMC,GAAG,GAAGC,cAAKC,OAAL,CAAaP,QAAb,CAAZ;AACA,QAAMQ,OAAO,GAAGF,cAAKE,OAAL,CAAaR,QAAb,CAAhB;AACA,QAAMS,QAAQ,GAAGP,EAAE,CAACQ,WAAH,CAAeF,OAAf,EAAwBG,IAAxB,EAAjB;AACA,QAAMC,SAAS,GAAGN,cAAKO,QAAL,CAAcb,QAAd,EAAwBK,GAAxB,CAAlB;AACA,QAAMS,OAAO,GAAG,YAAYF,SAA5B;AACA,QAAMG,SAAS,GAAI,IAAG,iCAAaH,SAAb,CAAwB,MAAKE,OAAO,GAAG,GAAH,GAAS,EAAG,GAAtE;AACA,QAAME,UAAU,GAAG,IAAIC,MAAJ,CAAY,IAAGF,SAAU,eAAzB,CAAnB;AACA,QAAMG,cAAc,GAAG,IAAID,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAAvB;AACA,QAAMI,mBAAmB,GAAG,IAAIF,MAAJ;AACzB,MAAGF,SAAU,2BADY,CAA5B;;AAGA,QAAMK,YAAY,GAAG,IAAIH,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAArB;AACA,MAAIM,SAAJ;AACA,MAAIC,WAAJ;AACA,MAAIC,aAAJ;AACA,MAAIC,oBAAJ;;AAEA,OAAK,MAAM5B,IAAX,IAAmBa,QAAnB,EAA6B;AAC3B,QAAI,CAACY,SAAD,IAAcL,UAAU,CAACS,IAAX,CAAgB7B,IAAhB,CAAlB,EAAyC;AACvCyB,MAAAA,SAAS,GAAI,KAAIzB,IAAK,EAAtB;AACD,KAFD,MAEO,IAAI,CAAC0B,WAAD,IAAgBF,YAAY,CAACK,IAAb,CAAkB7B,IAAlB,CAApB,EAA6C;AAClD0B,MAAAA,WAAW,GAAI,KAAI1B,IAAK,EAAxB;AACD,KAFM,MAEA,IAAI,CAAC2B,aAAD,IAAkBL,cAAc,CAACO,IAAf,CAAoB7B,IAApB,CAAtB,EAAiD;AACtD2B,MAAAA,aAAa,GAAI,KAAI3B,IAAK,EAA1B;AACAC,MAAAA,IAAI,CAAC6B,YAAL,GAAoB,IAApB;AACD,KAHM,MAGA,IAAI,CAACF,oBAAD,IAAyBL,mBAAmB,CAACM,IAApB,CAAyB7B,IAAzB,CAA7B,EAA6D;AAClE4B,MAAAA,oBAAoB,GAAI,KAAI5B,IAAK,EAAjC;AACAC,MAAAA,IAAI,CAAC8B,mBAAL,GAA2B,IAA3B;AACD;AACF;;AAED,SAAQ9B,IAAI,CAACL,mBAAD,CAAJ,GAA4B;AAClC6B,IAAAA,SADkC;AAElCC,IAAAA,WAFkC;AAGlCC,IAAAA,aAHkC;AAIlCC,IAAAA,oBAJkC,EAApC;;AAMD","sourcesContent":["import path from \"path\";\nimport escapeRegExp from \"escape-string-regexp\";\n\nconst COMPONENT_FILES_KEY = Symbol();\n\nexport default function getComponentFiles({ hub: { file } }) {\n const meta = file.metadata.marko;\n\n if (meta[COMPONENT_FILES_KEY]) {\n return meta[COMPONENT_FILES_KEY];\n }\n\n const { filename } = file.opts;\n const fs = file.markoOpts.fileSystem;\n const ext = path.extname(filename);\n const dirname = path.dirname(filename);\n const dirFiles = fs.readdirSync(dirname).sort();\n const nameNoExt = path.basename(filename, ext);\n const isEntry = \"index\" === nameNoExt;\n const fileMatch = `(${escapeRegExp(nameNoExt)}\\\\.${isEntry ? \"|\" : \"\"})`;\n const styleMatch = new RegExp(`^${fileMatch}style\\\\.\\\\w+$`);\n const componentMatch = new RegExp(`^${fileMatch}component\\\\.\\\\w+$`);\n const splitComponentMatch = new RegExp(\n `^${fileMatch}component-browser\\\\.\\\\w+$`\n );\n const packageMatch = new RegExp(`^${fileMatch}browser\\\\.\\\\json$`);\n let styleFile;\n let packageFile;\n let componentFile;\n let componentBrowserFile;\n\n for (const file of dirFiles) {\n if (!styleFile && styleMatch.test(file)) {\n styleFile = `./${file}`;\n } else if (!packageFile && packageMatch.test(file)) {\n packageFile = `./${file}`;\n } else if (!componentFile && componentMatch.test(file)) {\n componentFile = `./${file}`;\n meta.hasComponent = true;\n } else if (!componentBrowserFile && splitComponentMatch.test(file)) {\n componentBrowserFile = `./${file}`;\n meta.hasComponentBrowser = true;\n }\n }\n\n return (meta[COMPONENT_FILES_KEY] = {\n styleFile,\n packageFile,\n componentFile,\n componentBrowserFile\n });\n}\n"],"file":"get-component-files.js"}
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.15.10",
4
+ "version": "5.16.1",
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.13.10",
9
- "@marko/babel-utils": "^5.15.9",
9
+ "@marko/babel-utils": "^5.16.1",
10
10
  "escape-string-regexp": "^4.0.0",
11
11
  "magic-string": "^0.25.7",
12
12
  "self-closing-tags": "^1.0.1"
13
13
  },
14
14
  "devDependencies": {
15
- "@marko/compiler": "^5.15.10",
16
- "marko": "^5.15.10"
15
+ "@marko/compiler": "^5.16.1",
16
+ "marko": "^5.16.1"
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": "f488fa8d811dfcbda52f1f2da2c2b560c9b068a5"
45
+ "gitHead": "85ef55427a385bf25a559d286f0124f358fa50df"
46
46
  }