@marko/compiler 5.20.9 → 5.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/babel-plugin/file.js +1 -2
- package/dist/babel-plugin/index.js +1 -2
- package/dist/babel-plugin/parser.js +1 -2
- package/dist/babel-plugin/plugins/migrate.js +1 -2
- package/dist/babel-plugin/plugins/transform.js +1 -2
- package/dist/babel-plugin/util/plugin-hooks.js +1 -2
- package/dist/babel-types/generator/patch.js +1 -2
- package/dist/babel-types/index.js +1 -2
- package/dist/babel-types/traverse/patch.js +1 -2
- package/dist/babel-types/types/definitions.js +1 -2
- package/dist/babel-types/types/patch.js +1 -2
- package/dist/config.js +1 -2
- package/dist/index.js +1 -2
- package/dist/register.js +1 -2
- package/dist/taglib/finder/index.js +1 -2
- package/dist/taglib/fs.js +1 -2
- package/dist/taglib/index.js +1 -2
- package/dist/taglib/loader/Attribute.js +1 -2
- package/dist/taglib/loader/DependencyChain.js +1 -2
- package/dist/taglib/loader/Property.js +1 -2
- package/dist/taglib/loader/Tag.js +1 -2
- package/dist/taglib/loader/Taglib.js +1 -2
- package/dist/taglib/loader/Transformer.js +1 -2
- package/dist/taglib/loader/cache.js +1 -2
- package/dist/taglib/loader/index.js +1 -2
- package/dist/taglib/loader/json-file-reader.js +1 -2
- package/dist/taglib/loader/loadAttributeFromProps.js +1 -2
- package/dist/taglib/loader/loadAttributes.js +1 -2
- package/dist/taglib/loader/loadTagFromFile.js +1 -2
- package/dist/taglib/loader/loadTagFromProps.js +1 -2
- package/dist/taglib/loader/loadTaglibFromFile.js +1 -2
- package/dist/taglib/loader/loadTaglibFromProps.js +1 -2
- package/dist/taglib/loader/loaders.js +1 -2
- package/dist/taglib/loader/scanTagsDir.js +1 -2
- package/dist/taglib/loader/tag-def-from-code.js +1 -2
- package/dist/taglib/loader/types.js +1 -2
- package/dist/taglib/lookup/index.js +1 -2
- package/dist/traverse.d.ts +2 -0
- package/dist/util/should-optimize.js +1 -2
- package/dist/util/try-load-translator.js +1 -2
- package/index.d.ts +16 -8
- package/package.json +5 -6
- package/src/index.js +117 -0
- package/LICENSE +0 -21
- package/dist/babel-plugin/file.js.map +0 -1
- package/dist/babel-plugin/index.js.map +0 -1
- package/dist/babel-plugin/parser.js.map +0 -1
- package/dist/babel-plugin/plugins/migrate.js.map +0 -1
- package/dist/babel-plugin/plugins/transform.js.map +0 -1
- package/dist/babel-plugin/util/plugin-hooks.js.map +0 -1
- package/dist/babel-types/generator/patch.js.map +0 -1
- package/dist/babel-types/index.js.map +0 -1
- package/dist/babel-types/traverse/patch.js.map +0 -1
- package/dist/babel-types/types/definitions.js.map +0 -1
- package/dist/babel-types/types/patch.js.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/register.js.map +0 -1
- package/dist/taglib/finder/index.js.map +0 -1
- package/dist/taglib/fs.js.map +0 -1
- package/dist/taglib/index.js.map +0 -1
- package/dist/taglib/loader/Attribute.js.map +0 -1
- package/dist/taglib/loader/DependencyChain.js.map +0 -1
- package/dist/taglib/loader/Property.js.map +0 -1
- package/dist/taglib/loader/Tag.js.map +0 -1
- package/dist/taglib/loader/Taglib.js.map +0 -1
- package/dist/taglib/loader/Transformer.js.map +0 -1
- package/dist/taglib/loader/cache.js.map +0 -1
- package/dist/taglib/loader/index.js.map +0 -1
- package/dist/taglib/loader/json-file-reader.js.map +0 -1
- package/dist/taglib/loader/loadAttributeFromProps.js.map +0 -1
- package/dist/taglib/loader/loadAttributes.js.map +0 -1
- package/dist/taglib/loader/loadTagFromFile.js.map +0 -1
- package/dist/taglib/loader/loadTagFromProps.js.map +0 -1
- package/dist/taglib/loader/loadTaglibFromFile.js.map +0 -1
- package/dist/taglib/loader/loadTaglibFromProps.js.map +0 -1
- package/dist/taglib/loader/loaders.js.map +0 -1
- package/dist/taglib/loader/scanTagsDir.js.map +0 -1
- package/dist/taglib/loader/tag-def-from-code.js.map +0 -1
- package/dist/taglib/loader/types.js.map +0 -1
- package/dist/taglib/lookup/index.js.map +0 -1
- package/dist/util/should-optimize.js.map +0 -1
- package/dist/util/try-load-translator.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/babel-plugin/parser.js"],"names":["noop","emptyRange","part","start","end","isAttrTag","tag","name","value","toBabelPosition","line","character","column","parseMarko","file","code","htmlParseOptions","markoOpts","watchFiles","metadata","marko","currentTag","path","currentBody","currentAttr","undefined","currentShorthandId","currentShorthandClassNames","preserveWhitespace","preservingWhitespaceUntil","onNext","positionAt","index","parser","locationAt","range","withLoc","node","loc","enterTag","pushContainer","get","pushContent","body","push","endAttr","parseTemplateString","quasis","expressions","length","first","t","stringLiteral","read","result","isStringLiteral","templateLiteral","templateElement","raw","cooked","onError","buildCodeFrameError","message","onText","rawValue","markoText","test","prev","prevIndex","isMarkoScriptlet","isMarkoComment","type","replace","next","trimmedStart","indexOf","splice","onCDATA","markoCDATA","onDoctype","markoDocumentType","onDeclaration","markoDeclaration","onComment","markoComment","onPlaceholder","markoPlaceholder","escape","onScriptlet","markoScriptlet","onTagName","tagName","markoTag","markoTagBody","parseType","TagType","html","concise","literalTagName","parseOptions","tagDef","statement","openTagOnly","void","text","onTagShorthandId","onTagShorthandClass","onTagVar","var","left","onTagParams","params","onTagArgs","arguments","onAttrName","modifier","exec","attributes","markoAttribute","booleanLiteral","onAttrArgs","onAttrValue","bound","onAttrMethod","prefix","onAttrSpread","markoSpreadAttribute","onOpenTagEnd","foundClassAttr","classShorthandValue","every","expr","map","join","arrayExpression","attr","isArrayExpression","elements","rawOpenTag","selfClosed","onCloseTag","parserPlugin","hook","default","parentPath","parse","ast","program"],"mappings":"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","sourcesContent":["import { createParser, TagType } from \"htmljs-parser\";\nimport * as t from \"../babel-types\";\nimport {\n parseScript,\n parseExpression,\n getTagDefForTagName\n} from \"@marko/babel-utils\";\n\nconst noop = () => {};\nconst emptyRange = part => part.start === part.end;\nconst isAttrTag = tag => tag.name.value?.[0] === \"@\";\nconst toBabelPosition = ({ line, character }) => ({\n line: line + 1,\n column: character ? character - 1 : character\n});\n\nexport function parseMarko(file) {\n const { code } = file;\n const { htmlParseOptions = {} } = file.markoOpts;\n const { watchFiles } = file.metadata.marko;\n let currentTag = file.path;\n let currentBody = currentTag;\n let currentAttr = undefined;\n let currentShorthandId = undefined;\n let currentShorthandClassNames = undefined;\n let { preserveWhitespace } = htmlParseOptions;\n let preservingWhitespaceUntil = preserveWhitespace;\n let onNext = noop;\n const positionAt = index => toBabelPosition(parser.positionAt(index));\n const locationAt = range => {\n // Babel columns start at 0, but that is silly.\n // Here we normalize the parsers 1 based columns.\n const { start, end } = parser.locationAt(range);\n return {\n start: toBabelPosition(start),\n end: toBabelPosition(end)\n };\n };\n const withLoc = (node, range) => {\n node.start = range.start;\n node.end = range.end;\n node.loc = locationAt(range);\n return node;\n };\n const enterTag = node => {\n currentTag = currentBody.pushContainer(\"body\", node)[0];\n currentBody = currentTag.get(\"body\");\n onNext(node);\n };\n const pushContent = node => {\n currentBody.node.body.push(node);\n onNext(node);\n };\n const endAttr = () => {\n if (currentAttr) {\n currentAttr.loc = locationAt(currentAttr);\n currentAttr = undefined;\n }\n };\n const parseTemplateString = ({ quasis, expressions }) => {\n switch (expressions.length) {\n case 0: {\n const [first] = quasis;\n return withLoc(t.stringLiteral(parser.read(first)), first);\n }\n case 1: {\n if (emptyRange(quasis[0]) && emptyRange(quasis[1])) {\n const [{ value }] = expressions;\n const result = parseExpression(file, parser.read(value), value.start);\n if (t.isStringLiteral(result)) {\n // convert to template literal just so that we don't mistake it for a native tag if this is a tag name.\n return t.templateLiteral(\n [\n t.templateElement({\n raw: result.value,\n cooked: result.value\n })\n ],\n []\n );\n } else {\n return result;\n }\n }\n }\n }\n\n const [{ start }] = quasis;\n const end = quasis[quasis.length - 1].end;\n return parseExpression(\n file,\n `\\`${parser.read({ start, end })}\\``,\n start - 1\n );\n };\n\n const parser = createParser({\n onError(part) {\n throw file.buildCodeFrameError({ loc: locationAt(part) }, part.message);\n },\n onText(part) {\n const rawValue = parser.read(part);\n\n if (preservingWhitespaceUntil) {\n pushContent(withLoc(t.markoText(rawValue), part));\n return;\n }\n\n if (/^(?:[\\n\\r]\\s*)?(?:[\\n\\r]\\s*)?$/.test(rawValue)) return;\n\n const { body } = currentBody.node;\n let prev;\n let prevIndex = body.length;\n // Find previous non-scriptlet or comment.\n while (prevIndex > 0) {\n prev = body[--prevIndex];\n\n if (t.isMarkoScriptlet(prev) || t.isMarkoComment(prev)) {\n prev = undefined;\n } else {\n break;\n }\n }\n\n let value = rawValue;\n switch (prev?.type) {\n case \"MarkoPlaceholder\":\n break;\n case \"MarkoText\":\n if (/\\s$/.test(prev.value)) {\n value = value.replace(/^\\s+/, \"\");\n }\n break;\n case \"MarkoTag\":\n if (isAttrTag(prev)) {\n value = value.replace(/^[\\n\\r]\\s*/, \"\");\n }\n break;\n default:\n value = value.replace(/^[\\n\\r]\\s*/, \"\");\n break;\n }\n\n const node = t.markoText(value);\n pushContent(node);\n onNext = next => {\n switch (next?.type) {\n case \"MarkoScriptlet\":\n case \"MarkoComment\":\n return;\n case \"MarkoPlaceholder\":\n break;\n case \"MarkoText\":\n if (/^\\s/.test(next.value)) {\n value = value.replace(/\\s+$/, \"\");\n }\n break;\n case \"MarkoTag\":\n if (isAttrTag(next)) {\n value = value.replace(/[\\n\\r]\\s*$/, \"\");\n }\n\n break;\n default:\n value = value.replace(/[\\n\\r]\\s*$/, \"\");\n break;\n }\n\n node.value = value.replace(/\\s+/g, \" \");\n\n if (node.value) {\n const trimmedStart = part.start + rawValue.indexOf(value);\n withLoc(node, {\n start: trimmedStart,\n end: trimmedStart + rawValue.length\n });\n } else {\n body.splice(body.indexOf(node), 1);\n }\n\n onNext = noop;\n };\n },\n onCDATA(part) {\n pushContent(withLoc(t.markoCDATA(parser.read(part.value)), part));\n },\n onDoctype(part) {\n pushContent(withLoc(t.markoDocumentType(parser.read(part.value)), part));\n },\n onDeclaration(part) {\n pushContent(withLoc(t.markoDeclaration(parser.read(part.value)), part));\n },\n onComment(part) {\n pushContent(withLoc(t.markoComment(parser.read(part.value)), part));\n },\n onPlaceholder(part) {\n pushContent(\n withLoc(\n t.markoPlaceholder(\n parseExpression(file, parser.read(part.value), part.value.start),\n part.escape\n ),\n part\n )\n );\n },\n onScriptlet(part) {\n pushContent(\n withLoc(\n t.markoScriptlet(\n parseScript(file, parser.read(part.value), part.value.start).body\n ),\n part\n )\n );\n },\n onTagName(part) {\n const tagName = parseTemplateString(part);\n const node = t.markoTag(tagName, [], t.markoTagBody());\n let parseType = TagType.html;\n node.start = part.start - (part.concise ? 0 : 1); // Account for leading `<`.\n node.end = part.end;\n\n if (t.isStringLiteral(tagName)) {\n const literalTagName = tagName.value || (tagName.value = \"div\");\n\n if (literalTagName === \"%\") {\n throw file.buildCodeFrameError(\n tagName,\n \"<% scriptlets %> are no longer supported.\"\n );\n }\n\n const parseOptions = (node.tagDef = getTagDefForTagName(\n file,\n literalTagName\n ))?.parseOptions;\n\n if (parseOptions) {\n if (parseOptions.preserveWhitespace) {\n preservingWhitespaceUntil = node;\n }\n\n if (parseOptions.statement) {\n parseType = TagType.statement;\n } else if (parseOptions.openTagOnly) {\n parseType = TagType.void;\n } else if (parseOptions.text) {\n parseType = TagType.text;\n }\n }\n }\n\n enterTag(node);\n return parseType;\n },\n onTagShorthandId(part) {\n currentShorthandId = parseTemplateString(part);\n },\n onTagShorthandClass(part) {\n if (currentShorthandClassNames) {\n currentShorthandClassNames.push(parseTemplateString(part));\n } else {\n currentShorthandClassNames = [parseTemplateString(part)];\n }\n },\n\n onTagVar(part) {\n currentTag.node.var = parseExpression(\n file,\n `${parser.read(part.value)}=1`,\n part.value.start\n ).left;\n },\n\n onTagParams(part) {\n currentTag.node.body.params = parseExpression(\n file,\n `(${parser.read(part.value)})=>{}`,\n part.start\n ).params;\n },\n\n onTagArgs(part) {\n currentTag.node.arguments = parseExpression(\n file,\n `_${parser.read(part)}`,\n part.start - 1\n ).arguments;\n },\n\n onAttrName(part) {\n const [, name, modifier] = /^([^:]*)(?::(.*))?/.exec(parser.read(part));\n endAttr();\n currentTag.node.attributes.push(\n (currentAttr = t.markoAttribute(\n name || \"default\",\n t.booleanLiteral(true),\n modifier,\n undefined,\n !name\n ))\n );\n\n currentAttr.start = part.start;\n currentAttr.end = part.end;\n },\n\n onAttrArgs(part) {\n currentAttr.arguments = parseExpression(\n file,\n `_${parser.read(part)}`,\n part.start - 1\n ).arguments;\n currentAttr.end = part.end;\n },\n\n onAttrValue(part) {\n currentAttr.end = part.end;\n currentAttr.bound = part.bound;\n currentAttr.value = parseExpression(\n file,\n parser.read(part.value),\n part.value.start\n );\n },\n\n onAttrMethod(part) {\n const prefix = \"function\";\n currentAttr.end = part.end;\n currentAttr.value = parseExpression(\n file,\n prefix + parser.read(part),\n part.start - prefix.length\n );\n },\n\n onAttrSpread(part) {\n endAttr();\n currentTag.node.attributes.push(\n withLoc(\n t.markoSpreadAttribute(\n parseExpression(file, parser.read(part.value), part.value.start)\n ),\n part\n )\n );\n },\n\n onOpenTagEnd(part) {\n const { node } = currentTag;\n const { attributes } = node;\n const parseOptions = node.tagDef?.parseOptions;\n endAttr();\n\n if (currentShorthandClassNames) {\n let foundClassAttr = false;\n const classShorthandValue =\n currentShorthandClassNames.length === 1\n ? currentShorthandClassNames[0]\n : currentShorthandClassNames.every(expr => t.isStringLiteral(expr))\n ? withLoc(\n t.stringLiteral(\n currentShorthandClassNames.map(node => node.value).join(\" \")\n ),\n {\n start: currentShorthandClassNames[0].start,\n end: currentShorthandClassNames[\n currentShorthandClassNames.length - 1\n ].end\n }\n )\n : t.arrayExpression(currentShorthandClassNames);\n\n for (const attr of attributes) {\n if (attr.name === \"class\") {\n foundClassAttr = true;\n if (t.isArrayExpression(attr.value)) {\n if (t.isArrayExpression(classShorthandValue)) {\n attr.value.elements.push(...classShorthandValue.elements);\n } else {\n attr.value.elements.push(classShorthandValue);\n }\n } else if (\n t.isStringLiteral(attr.value) &&\n t.isStringLiteral(classShorthandValue)\n ) {\n attr.value.value = `${classShorthandValue.value} ${attr.value.value}`;\n } else if (t.isArrayExpression(classShorthandValue)) {\n classShorthandValue.elements.push(attr.value);\n attr.value = classShorthandValue;\n } else {\n attr.value = t.arrayExpression([classShorthandValue, attr.value]);\n }\n break;\n }\n }\n\n if (!foundClassAttr) {\n attributes.push(t.markoAttribute(\"class\", classShorthandValue));\n }\n\n currentShorthandClassNames = undefined;\n }\n\n if (currentShorthandId) {\n for (const attr of attributes) {\n if (attr.name === \"id\") {\n throw file.buildCodeFrameError(\n attr,\n \"Cannot have shorthand id and id attribute.\"\n );\n }\n }\n currentTag.node.attributes.push(\n t.markoAttribute(\"id\", currentShorthandId)\n );\n currentShorthandId = undefined;\n }\n\n if (parseOptions) {\n if (parseOptions.rawOpenTag) {\n node.rawValue = parser.read({\n start: node.name.start,\n end: part.start\n });\n }\n\n if (\n part.selfClosed ||\n parseOptions.statement ||\n parseOptions.openTagOnly\n ) {\n this.onCloseTag(part);\n }\n } else if (part.selfClosed) {\n this.onCloseTag(part);\n }\n },\n onCloseTag(part) {\n const { node } = currentTag;\n const parserPlugin = node.tagDef?.parser;\n if (preservingWhitespaceUntil === node) {\n preservingWhitespaceUntil = undefined;\n }\n\n node.end = part.end;\n node.loc = locationAt(node);\n\n if (parserPlugin) {\n const { hook } = parserPlugin;\n if (parserPlugin.path) watchFiles.push(parserPlugin.path);\n (hook.default || hook)(currentTag, t);\n }\n\n currentTag = currentTag.parentPath.parentPath;\n\n if (currentTag) {\n currentBody = currentTag.get(\"body\");\n } else {\n currentTag = currentBody = file.path;\n }\n\n onNext();\n }\n });\n\n parser.parse(code);\n onNext();\n\n const { ast } = file;\n const { program } = ast;\n ast.start = program.start = 0;\n ast.end = program.end = code.length - 1;\n ast.loc = program.loc = {\n start: { line: 1, column: 0 },\n end: positionAt(ast.end)\n };\n}\n"],"file":"parser.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/plugins/migrate.js"],"names":["visitor","MarkoTag","enter","path","migrators","getMigratorsForTag","node","migrator","t","exit","hub","file","watchFiles","metadata","marko","tagName","get","MIGRATOR_CACHE","Object","create","addMigrators","tagDef","push","hook","default"],"mappings":"gEAAA;AACA;AACA,mD;;AAEA;AACA;AACA;AACO,MAAMA,OAAO,GAAG;AACrBC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,KAAK,CAACC,IAAD,EAAO;AACV,YAAMC,SAAS,GAAGC,kBAAkB,CAACF,IAAD,CAApC;AACA,YAAM,EAAEG,IAAF,KAAWH,IAAjB;AACA,WAAK,MAAMI,QAAX,IAAuBH,SAAvB,EAAkC;AAChC,gCAAMG,QAAN,EAAgBJ,IAAhB,EAAsBK,CAAtB;AACA,YAAIL,IAAI,CAACG,IAAL,KAAcA,IAAlB,EAAwB,MAFQ,CAED;AAChC;AACF,KARO;AASRG,IAAAA,IAAI,CAACN,IAAD,EAAO;AACT,YAAMC,SAAS,GAAGC,kBAAkB,CAACF,IAAD,CAApC;AACA,YAAM,EAAEG,IAAF,KAAWH,IAAjB;AACA,WAAK,MAAMI,QAAX,IAAuBH,SAAvB,EAAkC;AAChC,+BAAKG,QAAL,EAAeJ,IAAf,EAAqBK,CAArB;AACA,YAAIL,IAAI,CAACG,IAAL,KAAcA,IAAlB,EAAwB,MAFQ,CAED;AAChC;AACF,KAhBO,EADW,EAAhB,C;;;;AAqBP,SAASD,kBAAT,CAA4BF,IAA5B,EAAkC;AAChC,QAAM;AACJO,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFR,EAAAA,IAFJ;AAGA,QAAM,EAAES,UAAF,KAAiBD,IAAI,CAACE,QAAL,CAAcC,KAArC;AACA,QAAMC,OAAO,GAAGZ,IAAI,CAACa,GAAL,CAAS,YAAT,EAAuBV,IAAvB,IAA+B,GAA/C;AACA,QAAMW,cAAc,GAAIN,IAAI,CAACM,cAAL;AACtBN,EAAAA,IAAI,CAACM,cAAL,IAAuBC,MAAM,CAACC,MAAP,CAAc,IAAd,CADzB;;AAGA,MAAIf,SAAS,GAAGa,cAAc,CAACF,OAAD,CAA9B;;AAEA,MAAI,CAACX,SAAL,EAAgB;AACdA,IAAAA,SAAS,GAAGa,cAAc,CAACF,OAAD,CAAd,GAA0B,EAAtC;AACA,UAAMK,YAAY,GAAG,CAAAC,MAAM,KAAI;AAC7B,UAAIA,MAAM,IAAIA,MAAM,CAACjB,SAArB,EAAgC;AAC9B,aAAK,MAAMG,QAAX,IAAuBc,MAAM,CAACjB,SAA9B,EAAyC;AACvC,cAAIG,QAAQ,CAACJ,IAAb,EAAmB;AACjBS,YAAAA,UAAU,CAACU,IAAX,CAAgBf,QAAQ,CAACJ,IAAzB;AACD;AACDC,UAAAA,SAAS,CAACkB,IAAV,CAAef,QAAQ,CAACgB,IAAT,CAAcC,OAAd,IAAyBjB,QAAQ,CAACgB,IAAjD;AACD;AACF;AACF,KATD;;AAWAH,IAAAA,YAAY,CAAC,2BAAUjB,IAAV,CAAD,CAAZ;;AAEA,QAAIY,OAAO,KAAK,GAAhB,EAAqB;AACnBK,MAAAA,YAAY,CAAC,qCAAoBT,IAApB,EAA0B,GAA1B,CAAD,CAAZ;AACD;AACF;;AAED,SAAOP,SAAP;AACD","sourcesContent":["import { getTagDef, getTagDefForTagName } from \"@marko/babel-utils\";\nimport * as t from \"../../babel-types\";\nimport { enter, exit } from \"../util/plugin-hooks\";\n\n/**\n * Applies custom migrators on tags.\n */\nexport const visitor = {\n MarkoTag: {\n enter(path) {\n const migrators = getMigratorsForTag(path);\n const { node } = path;\n for (const migrator of migrators) {\n enter(migrator, path, t);\n if (path.node !== node) break; // Stop if node is replaced.\n }\n },\n exit(path) {\n const migrators = getMigratorsForTag(path);\n const { node } = path;\n for (const migrator of migrators) {\n exit(migrator, path, t);\n if (path.node !== node) break; // Stop if node is replaced.\n }\n }\n }\n};\n\nfunction getMigratorsForTag(path) {\n const {\n hub: { file }\n } = path;\n const { watchFiles } = file.metadata.marko;\n const tagName = path.get(\"name.value\").node || \"*\";\n const MIGRATOR_CACHE = (file.MIGRATOR_CACHE =\n file.MIGRATOR_CACHE || Object.create(null));\n\n let migrators = MIGRATOR_CACHE[tagName];\n\n if (!migrators) {\n migrators = MIGRATOR_CACHE[tagName] = [];\n const addMigrators = tagDef => {\n if (tagDef && tagDef.migrators) {\n for (const migrator of tagDef.migrators) {\n if (migrator.path) {\n watchFiles.push(migrator.path);\n }\n migrators.push(migrator.hook.default || migrator.hook);\n }\n }\n };\n\n addMigrators(getTagDef(path));\n\n if (tagName !== \"*\") {\n addMigrators(getTagDefForTagName(file, \"*\"));\n }\n }\n\n return migrators;\n}\n"],"file":"migrate.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/plugins/transform.js"],"names":["visitor","MarkoTag","enter","path","transformers","getTransformersForTag","node","transformer","t","exit","hub","file","watchFiles","metadata","marko","tagName","get","TRANSFORMER_CACHE","Object","create","addTransformers","tagDef","push","hook","default"],"mappings":"gEAAA;AACA;AACA,mD;;AAEA;AACA;AACA;AACO,MAAMA,OAAO,GAAG;AACrBC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,KAAK,CAACC,IAAD,EAAO;AACV,YAAMC,YAAY,GAAGC,qBAAqB,CAACF,IAAD,CAA1C;AACA,YAAM,EAAEG,IAAF,KAAWH,IAAjB;;AAEA,WAAK,MAAMI,WAAX,IAA0BH,YAA1B,EAAwC;AACtC,gCAAMG,WAAN,EAAmBJ,IAAnB,EAAyBK,CAAzB;AACA,YAAIL,IAAI,CAACG,IAAL,KAAcA,IAAlB,EAAwB,MAFc,CAEP;AAChC;AACF,KATO;AAURG,IAAAA,IAAI,CAACN,IAAD,EAAO;AACT,YAAMC,YAAY,GAAGC,qBAAqB,CAACF,IAAD,CAA1C;AACA,YAAM,EAAEG,IAAF,KAAWH,IAAjB;;AAEA,WAAK,MAAMI,WAAX,IAA0BH,YAA1B,EAAwC;AACtC,+BAAKG,WAAL,EAAkBJ,IAAlB,EAAwBK,CAAxB;AACA,YAAIL,IAAI,CAACG,IAAL,KAAcA,IAAlB,EAAwB,MAFc,CAEP;AAChC;AACF,KAlBO,EADW,EAAhB,C;;;;AAuBP,SAASD,qBAAT,CAA+BF,IAA/B,EAAqC;AACnC,QAAM;AACJO,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFR,EAAAA,IAFJ;AAGA,QAAM,EAAES,UAAF,KAAiBD,IAAI,CAACE,QAAL,CAAcC,KAArC;AACA,QAAMC,OAAO,GAAGZ,IAAI,CAACa,GAAL,CAAS,YAAT,EAAuBV,IAAvB,IAA+B,GAA/C;AACA,QAAMW,iBAAiB,GAAIN,IAAI,CAACM,iBAAL;AACzBN,EAAAA,IAAI,CAACM,iBAAL,IAA0BC,MAAM,CAACC,MAAP,CAAc,IAAd,CAD5B;;AAGA,MAAIf,YAAY,GAAGa,iBAAiB,CAACF,OAAD,CAApC;;AAEA,MAAI,CAACX,YAAL,EAAmB;AACjBA,IAAAA,YAAY,GAAGa,iBAAiB,CAACF,OAAD,CAAjB,GAA6B,EAA5C;AACA,UAAMK,eAAe,GAAG,CAAAC,MAAM,KAAI;AAChC,UAAIA,MAAM,IAAIA,MAAM,CAACjB,YAArB,EAAmC;AACjC,aAAK,MAAMG,WAAX,IAA0Bc,MAAM,CAACjB,YAAjC,EAA+C;AAC7C,cAAIG,WAAW,CAACJ,IAAhB,EAAsB;AACpBS,YAAAA,UAAU,CAACU,IAAX,CAAgBf,WAAW,CAACJ,IAA5B;AACD;AACDC,UAAAA,YAAY,CAACkB,IAAb,CAAkBf,WAAW,CAACgB,IAAZ,CAAiBC,OAAjB,IAA4BjB,WAAW,CAACgB,IAA1D;AACD;AACF;AACF,KATD;;AAWAH,IAAAA,eAAe,CAAC,2BAAUjB,IAAV,CAAD,CAAf;;AAEA,QAAIY,OAAO,KAAK,GAAhB,EAAqB;AACnBK,MAAAA,eAAe,CAAC,qCAAoBT,IAApB,EAA0B,GAA1B,CAAD,CAAf;AACD;AACF;;AAED,SAAOP,YAAP;AACD","sourcesContent":["import { getTagDef, getTagDefForTagName } from \"@marko/babel-utils\";\nimport * as t from \"../../babel-types\";\nimport { enter, exit } from \"../util/plugin-hooks\";\n\n/**\n * Applies custom transformers on tags.\n */\nexport const visitor = {\n MarkoTag: {\n enter(path) {\n const transformers = getTransformersForTag(path);\n const { node } = path;\n\n for (const transformer of transformers) {\n enter(transformer, path, t);\n if (path.node !== node) break; // Stop if node is replaced.\n }\n },\n exit(path) {\n const transformers = getTransformersForTag(path);\n const { node } = path;\n\n for (const transformer of transformers) {\n exit(transformer, path, t);\n if (path.node !== node) break; // Stop if node is replaced.\n }\n }\n }\n};\n\nfunction getTransformersForTag(path) {\n const {\n hub: { file }\n } = path;\n const { watchFiles } = file.metadata.marko;\n const tagName = path.get(\"name.value\").node || \"*\";\n const TRANSFORMER_CACHE = (file.TRANSFORMER_CACHE =\n file.TRANSFORMER_CACHE || Object.create(null));\n\n let transformers = TRANSFORMER_CACHE[tagName];\n\n if (!transformers) {\n transformers = TRANSFORMER_CACHE[tagName] = [];\n const addTransformers = tagDef => {\n if (tagDef && tagDef.transformers) {\n for (const transformer of tagDef.transformers) {\n if (transformer.path) {\n watchFiles.push(transformer.path);\n }\n transformers.push(transformer.hook.default || transformer.hook);\n }\n }\n };\n\n addTransformers(getTagDef(path));\n\n if (tagName !== \"*\") {\n addTransformers(getTagDefForTagName(file, \"*\"));\n }\n }\n\n return transformers;\n}\n"],"file":"transform.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/util/plugin-hooks.js"],"names":["enter","plugin","args","fn","default","exit","undefined"],"mappings":"kFAAA;;AAEO,SAASA,KAAT,CAAeC,MAAf,EAAuB,GAAGC,IAA1B,EAAgC;AACrC,QAAMC,EAAE;AACLF,EAAAA,MAAM;AACJA,EAAAA,MAAM,CAACD,KAAP;AACEC,EAAAA,MAAM,CAACG,OAAP,IAAkBH,MAAM,CAACG,OAAP,CAAeJ,KADnC;AAECC,EAAAA,MAAM,CAACG,OAHJ,CAAP;AAIAH,EAAAA,MALF;AAMA,MAAI,OAAOE,EAAP,KAAc,UAAlB,EAA8B;AAC5BA,IAAAA,EAAE,CAAC,GAAGD,IAAJ,CAAF;AACD;AACF;;AAEM,SAASG,IAAT,CAAcJ,MAAd,EAAsB,GAAGC,IAAzB,EAA+B;AACpC,QAAMC,EAAE;AACNF,EAAAA,MAAM;AACLA,EAAAA,MAAM,CAACI,IAAP,KAAgBJ,MAAM,CAACG,OAAP,GAAiBH,MAAM,CAACG,OAAP,CAAeC,IAAhC,GAAuCC,SAAvD,CADK,CADR;AAGA,MAAI,OAAOH,EAAP,KAAc,UAAlB,EAA8B;AAC5BA,IAAAA,EAAE,CAAC,GAAGD,IAAJ,CAAF;AACD;AACF","sourcesContent":["// Utilities for executing multi step compiler hooks (migrators & transformers).\n\nexport function enter(plugin, ...args) {\n const fn =\n (plugin &&\n (plugin.enter ||\n (plugin.default && plugin.default.enter) ||\n plugin.default)) ||\n plugin;\n if (typeof fn === \"function\") {\n fn(...args);\n }\n}\n\nexport function exit(plugin, ...args) {\n const fn =\n plugin &&\n (plugin.exit || (plugin.default ? plugin.default.exit : undefined));\n if (typeof fn === \"function\") {\n fn(...args);\n }\n}\n"],"file":"plugin-hooks.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-types/generator/patch.js"],"names":["UNENCLOSED_WHITESPACE_TYPES","Object","assign","Printer","prototype","MarkoDocumentType","node","token","value","MarkoDeclaration","MarkoCDATA","MarkoComment","MarkoPlaceholder","parent","parentBody","body","prev","indexOf","t","isMarkoText","isMarkoPlaceholder","removeTrailingNewline","escape","print","MarkoScriptlet","isProgram","static","length","newline","indent","printSequence","dedent","MarkoClass","MarkoAttribute","default","name","modifier","arguments","printList","isBooleanLiteral","isFunctionExpression","id","async","generator","params","bound","printWithParansIfNeeded","call","MarkoSpreadAttribute","MarkoText","concatToPrev","isMultiLine","test","isRootLevel","word","MarkoTagBody","MarkoTag","isDynamicTag","isStringLiteral","tagName","rawValue","var","attributes","printJoin","separator","spaceSeparator","SELF_CLOSING","voidElements","includes","svgElements","needsParans","hasUnenclosedWhitespace","type"],"mappings":"kGAAA;;AAEA;AACA;AACA,+E;;AAEA,MAAMA,2BAA2B,GAAG;AAClC,mBADkC;AAElC,sBAFkC;AAGlC,uBAHkC;AAIlC,kBAJkC;AAKlC,eALkC;AAMlC,UANkC;AAOlC,sBAPkC,CAApC;;;AAUAC,MAAM,CAACC,MAAP,CAAcC,iBAAQC,SAAtB,EAAiC;AAC/BC,EAAAA,iBAAiB,CAACC,IAAD,EAAO;AACtB,SAAKC,KAAL,CAAW,IAAX;AACA,SAAKA,KAAL,CAAWD,IAAI,CAACE,KAAhB;AACA,SAAKD,KAAL,CAAW,GAAX;AACD,GAL8B;AAM/BE,EAAAA,gBAAgB,CAACH,IAAD,EAAO;AACrB,SAAKC,KAAL,CAAW,IAAX;AACA,SAAKA,KAAL,CAAWD,IAAI,CAACE,KAAhB;AACA,SAAKD,KAAL,CAAW,IAAX;AACD,GAV8B;AAW/BG,EAAAA,UAAU,CAACJ,IAAD,EAAO;AACf,SAAKC,KAAL,CAAW,WAAX;AACA,SAAKA,KAAL,CAAWD,IAAI,CAACE,KAAhB;AACA,SAAKD,KAAL,CAAW,KAAX;AACD,GAf8B;AAgB/BI,EAAAA,YAAY,CAACL,IAAD,EAAO;AACjB,SAAKC,KAAL,CAAW,MAAX;AACA,SAAKA,KAAL,CAAWD,IAAI,CAACE,KAAhB;AACA,SAAKD,KAAL,CAAW,KAAX;AACD,GApB8B;AAqB/BK,EAAAA,gBAAgB,CAACN,IAAD,EAAOO,MAAP,EAAe;AAC7B,QAAIA,MAAJ,EAAY;AACV,YAAMC,UAAU,GAAGD,MAAM,CAACE,IAA1B;AACA,YAAMC,IAAI,GAAGF,UAAU,CAACA,UAAU,CAACG,OAAX,CAAmBX,IAAnB,IAA2B,CAA5B,CAAvB;;AAEA,UAAIU,IAAI,KAAKE,CAAC,CAACC,WAAF,CAAcH,IAAd,KAAuBE,CAAC,CAACE,kBAAF,CAAqBJ,IAArB,CAA5B,CAAR,EAAiE;AAC/D,aAAKK,qBAAL;AACD;AACF;;AAED,SAAKd,KAAL,CAAWD,IAAI,CAACgB,MAAL,GAAc,IAAd,GAAqB,KAAhC;AACA,SAAKC,KAAL,CAAWjB,IAAI,CAACE,KAAhB,EAAuBF,IAAvB;AACA,SAAKC,KAAL,CAAW,GAAX;AACD,GAlC8B;AAmC/BiB,EAAAA,cAAc,CAAClB,IAAD,EAAOO,MAAP,EAAe;AAC3B,SAAKQ,qBAAL;;AAEA,QAAI,EAAEH,CAAC,CAACO,SAAF,CAAYZ,MAAZ,KAAuBA,MAAM,CAACE,IAAP,CAAYE,OAAZ,CAAoBX,IAApB,MAA8B,CAAvD,CAAJ,EAA+D;AAC7D,WAAKC,KAAL,CAAW,IAAX;AACD;;AAED,SAAKA,KAAL,CAAY,GAAED,IAAI,CAACoB,MAAL,GAAc,QAAd,GAAyB,GAAI,GAA3C;;AAEA,QAAIpB,IAAI,CAACS,IAAL,CAAUY,MAAV,KAAqB,CAAzB,EAA4B;AAC1B;AACA,WAAKJ,KAAL,CAAWjB,IAAI,CAACS,IAAL,CAAU,CAAV,CAAX,EAAyBT,IAAzB;AACD,KAHD,MAGO;AACL,WAAKC,KAAL,CAAW,GAAX;AACA,WAAKqB,OAAL;AACA,WAAKC,MAAL;AACA,WAAKC,aAAL,CAAmBxB,IAAI,CAACS,IAAxB,EAA8BT,IAA9B;AACA,WAAKyB,MAAL;AACA,WAAKxB,KAAL,CAAW,GAAX;AACD;AACF,GAvD8B;AAwD/ByB,EAAAA,UAAU,CAAC1B,IAAD,EAAO;AACf,SAAKC,KAAL,CAAW,OAAX;AACA,SAAKA,KAAL,CAAW,GAAX;AACA,SAAKgB,KAAL,CAAWjB,IAAI,CAACS,IAAhB,EAAsBT,IAAtB;AACD,GA5D8B;AA6D/B2B,EAAAA,cAAc,CAAC3B,IAAD,EAAO;AACnB,UAAME,KAAK,GAAGF,IAAI,CAACE,KAAnB;;AAEA,QAAI,CAACF,IAAI,CAAC4B,OAAV,EAAmB;AACjB,WAAK3B,KAAL,CAAWD,IAAI,CAAC6B,IAAhB;;AAEA,UAAI7B,IAAI,CAAC8B,QAAT,EAAmB;AACjB,aAAK7B,KAAL,CAAW,GAAX;AACA,aAAKA,KAAL,CAAWD,IAAI,CAAC8B,QAAhB;AACD;;AAED,UAAI9B,IAAI,CAAC+B,SAAL,IAAkB/B,IAAI,CAAC+B,SAAL,CAAeV,MAArC,EAA6C;AAC3C,aAAKpB,KAAL,CAAW,GAAX;AACA,aAAK+B,SAAL,CAAehC,IAAI,CAAC+B,SAApB,EAA+B/B,IAA/B;AACA,aAAKC,KAAL,CAAW,GAAX;AACD;AACF;;AAED,QAAID,IAAI,CAAC4B,OAAL,IAAgB,CAAChB,CAAC,CAACqB,gBAAF,CAAmB/B,KAAnB,EAA0B,EAAEA,KAAK,EAAE,IAAT,EAA1B,CAArB,EAAiE;AAC/D;AACEU,MAAAA,CAAC,CAACsB,oBAAF,CAAuBhC,KAAvB;AACA,QAAEA,KAAK,CAACiC,EAAN,IAAYjC,KAAK,CAACkC,KAAlB,IAA2BlC,KAAK,CAACmC,SAAnC,CAFF;AAGE;AACA,aAAKpC,KAAL,CAAW,GAAX;AACA,aAAK+B,SAAL,CAAe9B,KAAK,CAACoC,MAArB,EAA6BpC,KAA7B;AACA,aAAKD,KAAL,CAAW,IAAX;AACA,aAAKgB,KAAL,CAAWf,KAAK,CAACO,IAAjB,EAAuBP,KAAvB;AACD,OARD,MAQO;AACL,aAAKD,KAAL,CAAWD,IAAI,CAACuC,KAAL,GAAa,IAAb,GAAoB,GAA/B;AACAC,QAAAA,uBAAuB,CAACC,IAAxB,CAA6B,IAA7B,EAAmCvC,KAAnC,EAA0CF,IAA1C;AACD;AACF;AACF,GA7F8B;AA8F/B0C,EAAAA,oBAAoB,CAAC1C,IAAD,EAAO;AACzB,SAAKC,KAAL,CAAW,KAAX;AACAuC,IAAAA,uBAAuB,CAACC,IAAxB,CAA6B,IAA7B,EAAmCzC,IAAI,CAACE,KAAxC,EAA+CF,IAA/C;AACD,GAjG8B;AAkG/B2C,EAAAA,SAAS,CAAC3C,IAAD,EAAOO,MAAP,EAAe;AACtB,UAAMC,UAAU,GAAGD,MAAM,CAACE,IAA1B;AACA,UAAMC,IAAI,GAAGF,UAAU,CAACA,UAAU,CAACG,OAAX,CAAmBX,IAAnB,IAA2B,CAA5B,CAAvB;AACA,UAAM4C,YAAY,GAAGlC,IAAI,IAAIE,CAAC,CAACE,kBAAF,CAAqBJ,IAArB,CAA7B;AACA,QAAI,EAAER,KAAF,KAAYF,IAAhB;;AAEA,QAAI4C,YAAJ,EAAkB;AAChB,WAAK7B,qBAAL;AACD;;AAED,UAAM8B,WAAW,GAAG,UAAUC,IAAV,CAAe5C,KAAf,CAApB;AACA,UAAM6C,WAAW,GAAG,CAACH,YAAD,IAAiBhC,CAAC,CAACO,SAAF,CAAYZ,MAAZ,CAArC;;AAEA,QAAIwC,WAAJ,EAAiB;AACf,UAAIF,WAAJ,EAAiB;AACf,aAAK5C,KAAL,CAAW,OAAX;AACD,OAFD,MAEO;AACL,aAAKA,KAAL,CAAW,KAAX;AACD;AACF;;AAED,SAAK+C,IAAL,CAAU9C,KAAV;;AAEA,QAAI2C,WAAW,IAAIE,WAAnB,EAAgC;AAC9B,WAAK9C,KAAL,CAAW,OAAX;AACD;AACF,GA5H8B;AA6H/BgD,EAAAA,YAAY,CAACjD,IAAD,EAAO;AACjB,SAAKwB,aAAL,CAAmBxB,IAAI,CAACS,IAAxB,EAA8BT,IAA9B,EAAoC,EAAEuB,MAAM,EAAE,IAAV,EAApC;AACD,GA/H8B;AAgI/B2B,EAAAA,QAAQ,CAAClD,IAAD,EAAO;AACb,UAAMmD,YAAY,GAAG,CAACvC,CAAC,CAACwC,eAAF,CAAkBpD,IAAI,CAAC6B,IAAvB,CAAtB;AACA,UAAMwB,OAAO,GAAG,CAACF,YAAD,IAAiBnD,IAAI,CAAC6B,IAAL,CAAU3B,KAA3C;AACA,UAAMoD,QAAQ,GAAGtD,IAAI,CAACsD,QAAtB;;AAEA;AACED,IAAAA,OAAO,KAAK,OAAZ;AACA,wCAAoCP,IAApC,CAAyCQ,QAAzC,CAFF;AAGE;AACA,WAAKrD,KAAL,CAAWqD,QAAX;AACA;AACD;;AAED,SAAKrD,KAAL,CAAW,GAAX;;AAEA,QAAIqD,QAAJ,EAAc;AACZ,WAAKrD,KAAL,CAAWqD,QAAX;AACD,KAFD,MAEO;AACL,UAAIH,YAAJ,EAAkB;AAChB,aAAKlD,KAAL,CAAW,IAAX;AACA,aAAKgB,KAAL,CAAWjB,IAAI,CAAC6B,IAAhB,EAAsB7B,IAAtB;AACA,aAAKC,KAAL,CAAW,GAAX;AACD,OAJD,MAIO;AACL,aAAKA,KAAL,CAAWoD,OAAX;AACD;;AAED,UAAIrD,IAAI,CAACuD,GAAT,EAAc;AACZ,aAAKtD,KAAL,CAAW,GAAX;AACA,aAAKgB,KAAL,CAAWjB,IAAI,CAACuD,GAAhB,EAAqBvD,IAArB;AACD;;AAED,UAAIA,IAAI,CAAC+B,SAAL,IAAkB/B,IAAI,CAAC+B,SAAL,CAAeV,MAArC,EAA6C;AAC3C,aAAKpB,KAAL,CAAW,GAAX;AACA,aAAK+B,SAAL,CAAehC,IAAI,CAAC+B,SAApB,EAA+B/B,IAA/B;AACA,aAAKC,KAAL,CAAW,GAAX;AACD;;AAED,UAAID,IAAI,CAACS,IAAL,CAAU6B,MAAV,CAAiBjB,MAArB,EAA6B;AAC3B,aAAKpB,KAAL,CAAW,GAAX;AACA,aAAK+B,SAAL,CAAehC,IAAI,CAACS,IAAL,CAAU6B,MAAzB,EAAiCtC,IAAjC;AACA,aAAKC,KAAL,CAAW,GAAX;AACD;;AAED,UAAID,IAAI,CAACwD,UAAL,CAAgBnC,MAApB,EAA4B;AAC1B;AACE,UAAErB,IAAI,CAACwD,UAAL,IAAmBxD,IAAI,CAACwD,UAAL,CAAgB,CAAhB,CAAnB,IAAyCxD,IAAI,CAACwD,UAAL,CAAgB,CAAhB,EAAmB5B,OAA9D,CADF;AAEE;AACA,eAAK3B,KAAL,CAAW,GAAX;AACD;;AAED,aAAKwD,SAAL,CAAezD,IAAI,CAACwD,UAApB,EAAgCxD,IAAhC,EAAsC,EAAE0D,SAAS,EAAEC,cAAb,EAAtC;AACD;AACF;;AAED,QAAIC,yBAAaC,YAAb,CAA0BC,QAA1B,CAAmCT,OAAnC,CAAJ,EAAiD;AAC/C,WAAKpD,KAAL,CAAW,GAAX;AACD,KAFD,MAEO;AACL,KAACD,IAAI,CAACS,IAAL,CAAUA,IAAV,CAAeY,MAAhB;AACAuC,6BAAaG,WAAb,CAAyBD,QAAzB,CAAkCT,OAAlC,CAFK;AAGL;AACA,WAAKpD,KAAL,CAAW,IAAX;AACD,KALM,MAKA;AACL,WAAKA,KAAL,CAAW,GAAX;AACA,WAAKqB,OAAL;AACA,WAAKL,KAAL,CAAWjB,IAAI,CAACS,IAAhB,EAAsBT,IAAtB;AACA,WAAKC,KAAL,CAAW,IAAX;AACA,UAAI,CAACkD,YAAL,EAAmB;AACjB,aAAKlD,KAAL,CAAWoD,OAAX;AACD;AACD,WAAKpD,KAAL,CAAW,GAAX;AACD;AACF,GAvM8B,EAAjC;;;AA0MA,SAAS0D,cAAT,GAA0B;AACxB,OAAK1D,KAAL,CAAW,GAAX;AACD;;AAED,SAASuC,uBAAT,CAAiCtC,KAAjC,EAAwCK,MAAxC,EAAgD;AAC9C,QAAMyD,WAAW,GAAGC,uBAAuB,CAAC/D,KAAD,CAA3C;;AAEA,MAAI8D,WAAJ,EAAiB;AACf,SAAK/D,KAAL,CAAW,GAAX;AACD;;AAED,OAAKgB,KAAL,CAAWf,KAAX,EAAkBK,MAAlB;;AAEA,MAAIyD,WAAJ,EAAiB;AACf,SAAK/D,KAAL,CAAW,GAAX;AACD;AACF;;AAED,SAASgE,uBAAT,CAAiCjE,IAAjC,EAAuC;AACrC,SAAON,2BAA2B,CAACoE,QAA5B,CAAqC9D,IAAI,CAACkE,IAA1C,CAAP;AACD","sourcesContent":["import \"../types/patch\";\n\nimport * as t from \"@babel/types\";\nimport SELF_CLOSING from \"self-closing-tags\";\nimport Printer from \"@babel/generator/lib/printer\";\n\nconst UNENCLOSED_WHITESPACE_TYPES = [\n \"LogicalExpression\",\n \"AssignmentExpression\",\n \"ConditionalExpression\",\n \"BinaryExpression\",\n \"NewExpression\",\n \"Function\",\n \"AssignmentExpression\"\n];\n\nObject.assign(Printer.prototype, {\n MarkoDocumentType(node) {\n this.token(\"<!\");\n this.token(node.value);\n this.token(\">\");\n },\n MarkoDeclaration(node) {\n this.token(\"<?\");\n this.token(node.value);\n this.token(\"?>\");\n },\n MarkoCDATA(node) {\n this.token(\"<![CDATA[\");\n this.token(node.value);\n this.token(\"]]>\");\n },\n MarkoComment(node) {\n this.token(\"<!--\");\n this.token(node.value);\n this.token(\"-->\");\n },\n MarkoPlaceholder(node, parent) {\n if (parent) {\n const parentBody = parent.body;\n const prev = parentBody[parentBody.indexOf(node) - 1];\n\n if (prev && (t.isMarkoText(prev) || t.isMarkoPlaceholder(prev))) {\n this.removeTrailingNewline();\n }\n }\n\n this.token(node.escape ? \"${\" : \"$!{\");\n this.print(node.value, node);\n this.token(\"}\");\n },\n MarkoScriptlet(node, parent) {\n this.removeTrailingNewline();\n\n if (!(t.isProgram(parent) && parent.body.indexOf(node) === 0)) {\n this.token(\"\\n\");\n }\n\n this.token(`${node.static ? \"static\" : \"$\"} `);\n\n if (node.body.length === 1) {\n // TODO should determine if node has unenclosed newlines.\n this.print(node.body[0], node);\n } else {\n this.token(\"{\");\n this.newline();\n this.indent();\n this.printSequence(node.body, node);\n this.dedent();\n this.token(\"}\");\n }\n },\n MarkoClass(node) {\n this.token(\"class\");\n this.token(\" \");\n this.print(node.body, node);\n },\n MarkoAttribute(node) {\n const value = node.value;\n\n if (!node.default) {\n this.token(node.name);\n\n if (node.modifier) {\n this.token(\":\");\n this.token(node.modifier);\n }\n\n if (node.arguments && node.arguments.length) {\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.token(\")\");\n }\n }\n\n if (node.default || !t.isBooleanLiteral(value, { value: true })) {\n if (\n t.isFunctionExpression(value) &&\n !(value.id || value.async || value.generator)\n ) {\n this.token(\"(\");\n this.printList(value.params, value);\n this.token(\") \");\n this.print(value.body, value);\n } else {\n this.token(node.bound ? \":=\" : \"=\");\n printWithParansIfNeeded.call(this, value, node);\n }\n }\n },\n MarkoSpreadAttribute(node) {\n this.token(\"...\");\n printWithParansIfNeeded.call(this, node.value, node);\n },\n MarkoText(node, parent) {\n const parentBody = parent.body;\n const prev = parentBody[parentBody.indexOf(node) - 1];\n const concatToPrev = prev && t.isMarkoPlaceholder(prev);\n let { value } = node;\n\n if (concatToPrev) {\n this.removeTrailingNewline();\n }\n\n const isMultiLine = /[\\r\\n]/g.test(value);\n const isRootLevel = !concatToPrev && t.isProgram(parent);\n\n if (isRootLevel) {\n if (isMultiLine) {\n this.token(\"---\\n\");\n } else {\n this.token(\"-- \");\n }\n }\n\n this.word(value);\n\n if (isMultiLine && isRootLevel) {\n this.token(\"\\n---\");\n }\n },\n MarkoTagBody(node) {\n this.printSequence(node.body, node, { indent: true });\n },\n MarkoTag(node) {\n const isDynamicTag = !t.isStringLiteral(node.name);\n const tagName = !isDynamicTag && node.name.value;\n const rawValue = node.rawValue;\n\n if (\n tagName === \"style\" &&\n /^style(?:\\.[^\\s]+)?\\s*\\{[\\s\\S]*}$/.test(rawValue)\n ) {\n this.token(rawValue);\n return;\n }\n\n this.token(\"<\");\n\n if (rawValue) {\n this.token(rawValue);\n } else {\n if (isDynamicTag) {\n this.token(\"${\");\n this.print(node.name, node);\n this.token(\"}\");\n } else {\n this.token(tagName);\n }\n\n if (node.var) {\n this.token(\"/\");\n this.print(node.var, node);\n }\n\n if (node.arguments && node.arguments.length) {\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.token(\")\");\n }\n\n if (node.body.params.length) {\n this.token(\"|\");\n this.printList(node.body.params, node);\n this.token(\"|\");\n }\n\n if (node.attributes.length) {\n if (\n !(node.attributes && node.attributes[0] && node.attributes[0].default)\n ) {\n this.token(\" \");\n }\n\n this.printJoin(node.attributes, node, { separator: spaceSeparator });\n }\n }\n\n if (SELF_CLOSING.voidElements.includes(tagName)) {\n this.token(\">\");\n } else if (\n !node.body.body.length ||\n SELF_CLOSING.svgElements.includes(tagName)\n ) {\n this.token(\"/>\");\n } else {\n this.token(\">\");\n this.newline();\n this.print(node.body, node);\n this.token(\"</\");\n if (!isDynamicTag) {\n this.token(tagName);\n }\n this.token(\">\");\n }\n }\n});\n\nfunction spaceSeparator() {\n this.token(\" \");\n}\n\nfunction printWithParansIfNeeded(value, parent) {\n const needsParans = hasUnenclosedWhitespace(value);\n\n if (needsParans) {\n this.token(\"(\");\n }\n\n this.print(value, parent);\n\n if (needsParans) {\n this.token(\")\");\n }\n}\n\nfunction hasUnenclosedWhitespace(node) {\n return UNENCLOSED_WHITESPACE_TYPES.includes(node.type);\n}\n"],"file":"patch.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/babel-types/index.js"],"names":[],"mappings":"6GAAA;AACA;AACA;AACA;AACA,kD","sourcesContent":["import \"./types/patch\";\nimport \"./traverse/patch\";\nimport \"./generator/patch\";\nexport * from \"@babel/types\";\nexport { MARKO_TYPES } from \"./types/definitions\";\n"],"file":"index.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-types/traverse/patch.js"],"names":["MARKO_TYPES","forEach","typeName","checkKey","assertKey","checkFn","t","assertFn","NodePath","prototype","opts","node","MARKO_ALIAS_TYPES","aliasName","originalProtoCheck","is","call","originalCrawl","Scope","crawl","patchedVisitors","WeakSet","path","originalTraverse","traverse","visitor","state","hoistableTagVarsByScope","Map","has","add","Object","assign","explode","MarkoTagBody","body","param","get","scope","registerBinding","MarkoTag","tag","tagVar","name","getBindingIdentifiers","curScope","binding","getBinding","parent","hoistableTagVars","set","references","length","movedBindings","ref","hasBinding","hoistableBinding","buildCodeFrameError","movedBinding","getScopeDepth","moveBindingTo","identifier","depth","cur"],"mappings":"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","sourcesContent":["import \"../types/patch\";\n\nimport * as t from \"@babel/types\";\nimport traverse, { NodePath, Scope } from \"@babel/traverse\";\nimport { MARKO_TYPES, MARKO_ALIAS_TYPES } from \"../types/definitions\";\n\nMARKO_TYPES.forEach(typeName => {\n const checkKey = `is${typeName}`;\n const assertKey = `assert${typeName}`;\n const checkFn = t[checkKey];\n const assertFn = t[assertKey];\n NodePath.prototype[checkKey] = function (opts) {\n return checkFn(this.node, opts);\n };\n NodePath.prototype[assertKey] = function (opts) {\n assertFn(this.node, opts);\n };\n});\n\nMARKO_ALIAS_TYPES.forEach(aliasName => {\n const checkKey = `is${aliasName}`;\n const originalProtoCheck = NodePath.prototype[checkKey];\n NodePath.prototype[checkKey] = function (opts) {\n return (\n t.is(aliasName, this.node, opts) ||\n originalProtoCheck.call(this, this.node, opts)\n );\n };\n});\n\n// Adds a one time patch to the scope collector visitors to include\n// Marko bindings for params and tag vars.\nconst originalCrawl = Scope.prototype.crawl;\nconst patchedVisitors = new WeakSet();\n\nScope.prototype.crawl = function () {\n const path = this.path;\n const originalTraverse = path.traverse;\n path.traverse = function (visitor, state) {\n state.hoistableTagVarsByScope = new Map();\n path.traverse = originalTraverse;\n\n if (!patchedVisitors.has(visitor)) {\n patchedVisitors.add(visitor);\n Object.assign(\n traverse.explode(visitor),\n traverse.explode({\n MarkoTagBody(body) {\n for (const param of body.get(\"params\")) {\n body.scope.registerBinding(\"param\", param);\n }\n },\n MarkoTag(tag, state) {\n const tagVar = tag.get(\"var\");\n if (tagVar.node) {\n tag.scope.registerBinding(\"local\", tagVar, tag);\n for (const name in tagVar.getBindingIdentifiers()) {\n let curScope = tag.scope;\n const binding = curScope.getBinding(name);\n\n while ((curScope = curScope.parent)) {\n const hoistableTagVars =\n state.hoistableTagVarsByScope.get(curScope);\n\n if (hoistableTagVars) {\n hoistableTagVars[name] = hoistableTagVars[name]\n ? true\n : binding;\n } else {\n state.hoistableTagVarsByScope.set(curScope, {\n [name]: binding\n });\n }\n }\n }\n }\n }\n })\n );\n }\n\n this.traverse(visitor, state);\n\n if (state.references.length) {\n const movedBindings = new Map();\n for (const ref of state.references) {\n const { name } = ref.node;\n let curScope = ref.scope;\n if (curScope.hasBinding(name)) continue;\n\n do {\n const hoistableBinding =\n state.hoistableTagVarsByScope.get(curScope)?.[name];\n\n if (hoistableBinding) {\n if (hoistableBinding === true) {\n throw ref.buildCodeFrameError(\n \"Ambiguous reference, variable was defined in multiple places and was not shadowed.\"\n );\n }\n\n const movedBinding = movedBindings.get(hoistableBinding);\n if (\n !movedBinding ||\n getScopeDepth(movedBinding) < getScopeDepth(curScope)\n ) {\n movedBindings.set(hoistableBinding, curScope);\n }\n }\n } while ((curScope = curScope.parent));\n }\n\n for (const [binding, scope] of movedBindings) {\n binding.scope.moveBindingTo(binding.identifier.name, scope);\n }\n }\n };\n\n originalCrawl.call(this);\n path.traverse = originalTraverse;\n};\n\nfunction getScopeDepth(scope) {\n let depth = 0;\n let cur = scope;\n while ((cur = cur.parent)) depth++;\n return depth;\n}\n"],"file":"patch.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-types/types/definitions.js"],"names":["valueFieldCommon","value","validate","MarkoDefinitions","MarkoDocumentType","aliases","builder","fields","MarkoDeclaration","MarkoCDATA","MarkoComment","MarkoText","MarkoPlaceholder","visitor","escape","default","MarkoScriptlet","body","static","MarkoClass","MarkoAttribute","name","modifier","optional","arguments","bound","MarkoSpreadAttribute","MarkoTagBody","params","functionCommon","MarkoTag","attributes","rawValue","var","MARKO_TYPES","Object","keys","MARKO_ALIAS_TYPES","Array","from","Set","reduce","all","t","concat"],"mappings":"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","sourcesContent":["import {\n assertNodeType,\n assertValueType,\n arrayOfType,\n chain,\n assertEach\n} from \"@babel/types/lib/definitions/utils\";\n\nimport { functionCommon } from \"@babel/types/lib/definitions/core\";\nconst valueFieldCommon = {\n value: {\n validate: assertValueType(\"string\")\n }\n};\n\nconst MarkoDefinitions = {\n MarkoDocumentType: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"value\"],\n fields: { ...valueFieldCommon }\n },\n\n MarkoDeclaration: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"value\"],\n fields: { ...valueFieldCommon }\n },\n\n MarkoCDATA: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"value\"],\n fields: { ...valueFieldCommon }\n },\n\n MarkoComment: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"value\"],\n fields: { ...valueFieldCommon }\n },\n\n MarkoText: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"value\"],\n fields: { ...valueFieldCommon }\n },\n\n MarkoPlaceholder: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"value\", \"escape\"],\n visitor: [\"value\"],\n fields: {\n value: {\n validate: assertNodeType(\"Expression\")\n },\n escape: {\n validate: assertValueType(\"boolean\"),\n default: true\n }\n }\n },\n\n MarkoScriptlet: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"body\", \"static\"],\n visitor: [\"body\"],\n fields: {\n body: {\n validate: arrayOfType([\"Statement\"])\n },\n static: {\n validate: assertValueType(\"boolean\"),\n default: false\n }\n }\n },\n\n MarkoClass: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"body\"],\n visitor: [\"body\"],\n fields: {\n body: {\n validate: assertNodeType(\"ClassBody\")\n }\n }\n },\n\n MarkoAttribute: {\n aliases: [\"Marko\"],\n builder: [\"name\", \"value\", \"modifier\", \"arguments\", \"default\", \"bound\"],\n visitor: [\"value\", \"arguments\"],\n fields: {\n name: {\n validate: assertValueType(\"string\")\n },\n value: {\n validate: assertNodeType(\"Expression\")\n },\n modifier: {\n validate: assertValueType(\"string\"),\n optional: true\n },\n arguments: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Expression\", \"SpreadElement\"))\n ),\n optional: true\n },\n default: {\n validate: assertValueType(\"boolean\"),\n optional: true\n },\n bound: {\n validate: assertValueType(\"boolean\"),\n optional: true\n }\n }\n },\n\n MarkoSpreadAttribute: {\n aliases: [\"Marko\"],\n builder: [\"value\"],\n visitor: [\"value\"],\n fields: {\n value: {\n validate: assertNodeType(\"Expression\")\n }\n }\n },\n\n MarkoTagBody: {\n aliases: [\"Marko\", \"BlockParent\", \"Scope\"],\n builder: [\"body\", \"params\"],\n visitor: [\"params\", \"body\"],\n fields: {\n params: {\n ...functionCommon.params,\n default: []\n },\n body: {\n validate: arrayOfType([\n \"MarkoTag\",\n \"MarkoCDATA\",\n \"MarkoText\",\n \"MarkoPlaceholder\",\n \"MarkoScriptlet\",\n \"MarkoComment\"\n ]),\n default: []\n }\n }\n },\n\n MarkoTag: {\n aliases: [\"Marko\", \"Statement\"],\n builder: [\"name\", \"attributes\", \"body\", \"arguments\", \"var\"],\n visitor: [\"name\", \"attributes\", \"body\", \"arguments\", \"var\"],\n fields: {\n name: {\n validate: assertNodeType(\"Expression\")\n },\n attributes: {\n validate: arrayOfType([\"MarkoAttribute\", \"MarkoSpreadAttribute\"]),\n default: []\n },\n body: {\n validate: assertNodeType(\"MarkoTagBody\")\n },\n arguments: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Expression\", \"SpreadElement\"))\n ),\n optional: true\n },\n rawValue: {\n validate: assertValueType(\"string\"),\n optional: true\n },\n var: {\n validate: assertNodeType(\"LVal\"),\n optional: true\n }\n }\n }\n};\n\nexport default MarkoDefinitions;\nexport const MARKO_TYPES = Object.keys(MarkoDefinitions);\nexport const MARKO_ALIAS_TYPES = Array.from(\n new Set(\n MARKO_TYPES.reduce((all, t) => all.concat(MarkoDefinitions[t].aliases), [])\n )\n);\n"],"file":"definitions.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-types/types/patch.js"],"names":["TYPES","VISITOR_KEYS","FLIPPED_ALIAS_KEYS","DEPRECATED_KEYS","is","getBindingIdentifiers","babelTypes","keys","MARKO_TYPES","forEach","typeName","definitions","type","Object","includes","push","lowerName","toLowerCase","slice","checkKey","assertKey","node","opts","assert","builder","apply","arguments","MARKO_ALIAS_TYPES","aliasName","originalCheck","generatedValidators","originalIsReferenced","referencedValidators","default","parent","grandparent","var","Error","JSON","stringify"],"mappings":"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","sourcesContent":["/* eslint-disable no-import-assign */\nimport * as babelTypes from \"@babel/types\";\nimport builder from \"@babel/types/lib/builders/builder\";\nimport defineType from \"@babel/types/lib/definitions/utils\";\nimport * as generatedValidators from \"@babel/types/lib/validators/generated\";\nimport * as referencedValidators from \"@babel/types/lib/validators/isReferenced\";\nimport definitions, { MARKO_TYPES, MARKO_ALIAS_TYPES } from \"./definitions\";\n\nconst {\n TYPES,\n VISITOR_KEYS,\n FLIPPED_ALIAS_KEYS,\n DEPRECATED_KEYS,\n is,\n getBindingIdentifiers\n} = babelTypes;\n\ngetBindingIdentifiers.keys[\"MarkoTag\"] = [\"var\"];\ngetBindingIdentifiers.keys[\"MarkoTagBody\"] = [\"params\"];\n\nMARKO_TYPES.forEach(typeName => {\n defineType(typeName, definitions[typeName]);\n});\n\nfor (const type of [\n ...Object.keys(VISITOR_KEYS),\n ...Object.keys(FLIPPED_ALIAS_KEYS),\n ...Object.keys(DEPRECATED_KEYS)\n]) {\n if (!TYPES.includes(type)) TYPES.push(type);\n}\n\nMARKO_TYPES.forEach(typeName => {\n const lowerName = typeName[0].toLowerCase() + typeName.slice(1);\n const checkKey = `is${typeName}`;\n const assertKey = `assert${typeName}`;\n babelTypes[checkKey] = (node, opts) => is(typeName, node, opts);\n babelTypes[assertKey] = (node, opts) => assert(typeName, node, opts);\n babelTypes[typeName] = babelTypes[lowerName] = function () {\n return builder.apply(typeName, arguments);\n };\n});\n\nMARKO_ALIAS_TYPES.forEach(aliasName => {\n const checkKey = `is${aliasName}`;\n const originalCheck = generatedValidators[checkKey];\n generatedValidators[checkKey] = (node, opts) =>\n is(aliasName, node, opts) || originalCheck(node, opts);\n});\n\nconst originalIsReferenced = referencedValidators.default;\nreferencedValidators.default = (node, parent, grandparent) => {\n switch (parent.type) {\n case \"MarkoTag\":\n return parent.var !== node;\n case \"MarkoTagBody\":\n return false;\n default:\n return originalIsReferenced(node, parent, grandparent);\n }\n};\n\nfunction assert(typeName, node, opts) {\n if (!is(typeName, node, opts)) {\n throw new Error(\n `Expected type \"${typeName}\" with option ${JSON.stringify(\n opts\n )}, but instead got \"${node.type}\".`\n );\n }\n}\n"],"file":"patch.js"}
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config.js"],"names":["config","globalThis","window","global","MARKO_CONFIG_KEY","Symbol","output","runtimeId","ast","code","writeVersionComment","ignoreUnrecognizedTags","sourceMaps","meta","translator","translatorReg","pkg","process","cwd","name","dependencies","test","peerDependencies","devDependencies","fileSystem","fs","modules","optimize","undefined","resolveVirtualDependency","cache","Map","hydrateIncludeImports","hot","env","MARKO_CONFIG","Object","assign","JSON","parse"],"mappings":"qJAAA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsJA,kCApJA,IAAIA,MAAJ,CACA,MAAMC,UAAU,GAAG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCC,MAAhC,GAAyCD,MAA5D,CACA,MAAME,gBAAgB,GAAGC,MAAM,CAAC,+BAAD,CAA/B,CAEA,IAAIJ,UAAU,CAACG,gBAAD,CAAd,EAAkC,CAChCJ,MAAM,GAAGC,UAAU,CAACG,gBAAD,CAAnB,CACD,CAFD,MAEO,CACLJ,MAAM,GAAGC,UAAU,CAACG,gBAAD,CAAV,GAA+B,EACtC;AACAE,IAAAA,MAAM,EAAE,MAF8B,EAItC;AACAC,IAAAA,SAAS,EAAE,IAL2B,EAOtC;AACAC,IAAAA,GAAG,EAAE,KARiC,EAUtC;AACAC,IAAAA,IAAI,EAAE,IAXgC,EAatC;AACJ;AACA;AACA,OACIC,mBAAmB,EAAE,IAjBiB,EAmBtC;AACJ;AACA;AACA,OACIC,sBAAsB,EAAE,KAvBc,EAyBtC;AACJ;AACA;AACA;AACA;AACA,OACIC,UAAU,EAAE,KA/B0B,EAiCtC;AACJ;AACA;AACA;AACA,OACIC,IAAI,EAAE,KAtCgC,EAwCtC;AACJ;AACA,OACIC,UAAU,EAAE,CAAC,MAAM,CACjB,MAAMC,aAAa,GAAG,+BAAtB,CACA,IAAID,UAAJ,CACA,IAAIE,GAAJ,CAEA,IAAI,CACFA,GAAG,GAAG,sCAAeC,OAAO,CAACC,GAAR,EAAf,CAAN,CADE,CAEF;AACD,OAHD,CAGE,MAAM,CAAE,CAEV,IAAIF,GAAJ,EAAS,CACP,KAAK,MAAMG,IAAX,IAAmBH,GAAG,CAACI,YAAvB,EAAqC,CACnC,IAAIL,aAAa,CAACM,IAAd,CAAmBF,IAAnB,CAAJ,EAA8B,CAC5B,IAAIL,UAAU,IAAIA,UAAU,KAAKK,IAAjC,EAAuC,CACrC,OACD,CAEDL,UAAU,GAAGK,IAAb,CACD,CACF,CAED,KAAK,MAAMA,IAAX,IAAmBH,GAAG,CAACM,gBAAvB,EAAyC,CACvC,IAAIP,aAAa,CAACM,IAAd,CAAmBF,IAAnB,CAAJ,EAA8B,CAC5B,IAAIL,UAAU,IAAIA,UAAU,KAAKK,IAAjC,EAAuC,CACrC,OACD,CAEDL,UAAU,GAAGK,IAAb,CACD,CACF,CAED,KAAK,MAAMA,IAAX,IAAmBH,GAAG,CAACO,eAAvB,EAAwC,CACtC,IAAIR,aAAa,CAACM,IAAd,CAAmBF,IAAnB,CAAJ,EAA8B,CAC5B,IAAIL,UAAU,IAAIA,UAAU,KAAKK,IAAjC,EAAuC,CACrC,OACD,CAEDL,UAAU,GAAGK,IAAb,CACD,CACF,CACF,CAED,OAAOL,UAAU,IAAI,2BAArB,CACD,CA3CW,GA3C0B,EAwFtC;AACJ;AACA,OACIU,UAAU,EAAEC,WA3F0B,EA4FtC;AACJ;AACA;AACA;AACA,OACIC,OAAO,EAAE,KAjG6B,EAmGtC;AACJ;AACA;AACA,OACIC,QAAQ,EAAEC,SAvG4B,EAyGtC;AACJ;AACA;AACA;AACA,OACIC,wBAAwB,EAAE,IA9GY,EAgHtC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OACIC,KAAK,EAAE,IAAIC,GAAJ,EAxH+B,EA0HtC;AACJ;AACA,OACIC,qBAAqB,EACnB,6GA9HoC,EAgItC;AACJ;AACA,OACIC,GAAG,EAAE,KAnIiC,EAAxC,CAsIA,IAAIhB,OAAO,CAACiB,GAAR,CAAYC,YAAhB,EAA8B,CAC5BC,MAAM,CAACC,MAAP,CAAcrC,MAAd,EAAsBsC,IAAI,CAACC,KAAL,CAAWtB,OAAO,CAACiB,GAAR,CAAYC,YAAvB,CAAtB,EACD,CACF,C,eAEcnC,M,4BAGf,gBAAMA,MAAM,CAACwB,UAAb","sourcesContent":["import fs from \"fs\";\nimport { getRootPackage } from \"lasso-package-root\";\n\nlet config;\nconst globalThis = typeof window === \"undefined\" ? global : window;\nconst MARKO_CONFIG_KEY = Symbol(\"Default Marko Compiler Config\");\n\nif (globalThis[MARKO_CONFIG_KEY]) {\n config = globalThis[MARKO_CONFIG_KEY];\n} else {\n config = globalThis[MARKO_CONFIG_KEY] = {\n // The default output mode for compiled templates\n output: \"html\",\n\n // Override the runtimeid used when calling `marko/components.init` in the `hydrate` output.\n runtimeId: null,\n\n // Have Marko provide the final AST in the compile result.\n ast: false,\n\n // Set the false to have Marko not generate the final code string, useful if just reading metadata or AST.\n code: true,\n\n /**\n * Whether the version should be written to the template as a comment e.g.\n * // Compiled using marko@x.x.x - DO NOT EDIT\n */\n writeVersionComment: true,\n\n /**\n * Whether unrecognized tags should be ignored or not. This flag will\n * be enabled by default when compiling XML.\n */\n ignoreUnrecognizedTags: false,\n\n /**\n * Whether source maps should be output with the compiled templates.\n * When `true` a `map` property will be available on the compile result.\n * When `\"inline\"` the sourcemap will be inlined as a comment in the output code.\n * When `\"both\"` both of the above will be used.\n */\n sourceMaps: false,\n\n /**\n * This option inlines all of the meta data in the template.\n * You can also access this metadata via `compile(...).meta`.\n * This API is sticking around for compatibility purposes.\n */\n meta: false,\n\n /**\n * Allows configuring Marko to compile to different runtimes.\n */\n translator: (() => {\n const translatorReg = /^(@marko\\/|marko-)translator-/;\n let translator;\n let pkg;\n\n try {\n pkg = getRootPackage(process.cwd());\n // eslint-disable-next-line no-empty\n } catch {}\n\n if (pkg) {\n for (const name in pkg.dependencies) {\n if (translatorReg.test(name)) {\n if (translator && translator !== name) {\n return;\n }\n\n translator = name;\n }\n }\n\n for (const name in pkg.peerDependencies) {\n if (translatorReg.test(name)) {\n if (translator && translator !== name) {\n return;\n }\n\n translator = name;\n }\n }\n\n for (const name in pkg.devDependencies) {\n if (translatorReg.test(name)) {\n if (translator && translator !== name) {\n return;\n }\n\n translator = name;\n }\n }\n }\n\n return translator || \"@marko/translator-default\";\n })(),\n\n /**\n * Use a different file system object, eg webpacks CachedInputFileSystem or lasso-caching-fs\n */\n fileSystem: fs,\n /**\n * By default Marko 5 outputs esm, you can optionally specify commonjs.\n *\n * Valid options: esm | cjs\n */\n modules: \"esm\",\n\n /**\n * Enables production mode optimizations if true, or not if false.\n * If left as undefined checks for env === \"production\".\n */\n optimize: undefined,\n\n /**\n * This option should be set if `hydrate` output is specified.\n * Maps a virtual dependency to a resolved file which can be implemented\n * for specific bundlers.\n */\n resolveVirtualDependency: null,\n\n /**\n * Compiling a Marko template may require other (used) Marko templates to compile.\n * To prevent compiling templates more than once, most of the compilation is cached.\n *\n * The default cache strategy is to clear the cache on every macrotask.\n * If the default cache is overwritten it is up to the user to determine when the\n * cache is cleared.\n */\n cache: new Map(),\n\n /**\n * A regexp or function that receives an import path that matches file types known to be client side assets.\n */\n hydrateIncludeImports:\n /\\.(css|less|s[ac]ss|styl|png|jpe?g|gif|svg|ico|webp|avif|mp4|webm|ogg|mp3|wav|flac|aac|woff2?|eot|ttf|otf)$/,\n\n /**\n * Set to true in order to bring in the hot module replacement runtime.\n */\n hot: false\n };\n\n if (process.env.MARKO_CONFIG) {\n Object.assign(config, JSON.parse(process.env.MARKO_CONFIG));\n }\n}\n\nexport default config;\n\nimport { setFS } from \"./taglib/fs\";\nsetFS(config.fileSystem);\n"],"file":"config.js"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["globalConfig","defaultConfig","configure","newConfig","compile","src","filename","config","babelConfig","loadBabelConfig","babelResult","babel","transformAsync","scheduleDefaultClear","buildResult","compileSync","transformSync","compileFile","Promise","resolve","reject","getFs","readFile","err","compileFileSync","readFileSync","getRuntimeEntryFiles","output","requestedTranslator","translator","markoConfig","undefined","requiredPlugins","corePlugin","baseBabelConfig","filenameRelative","path","relative","process","cwd","sourceFileName","basename","sourceType","sourceMaps","code","ast","modules","push","require","loose","plugins","concat","loadPartialConfig","options","map","metadata","marko","meta","clearingDefaultCache","isDefaultCache","setImmediate","_clearDefaults","cache","clear","fileSystem"],"mappings":"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","sourcesContent":["export * as types from \"./babel-types\";\nimport path from \"path\";\nimport * as babel from \"@babel/core\";\nimport corePlugin from \"./babel-plugin\";\nimport defaultConfig from \"./config\";\nimport * as taglib from \"./taglib\";\nimport shouldOptimize from \"./util/should-optimize\";\nimport tryLoadTranslator from \"./util/try-load-translator\";\nexport { taglib };\n\nlet globalConfig = { ...defaultConfig };\nexport function configure(newConfig) {\n globalConfig = { ...defaultConfig, ...newConfig };\n}\n\nexport async function compile(src, filename, config) {\n const babelConfig = loadBabelConfig(filename, config);\n const babelResult = await babel.transformAsync(src, babelConfig);\n scheduleDefaultClear(config);\n return buildResult(babelResult);\n}\n\nexport function compileSync(src, filename, config) {\n const babelConfig = loadBabelConfig(filename, config);\n const babelResult = babel.transformSync(src, babelConfig);\n scheduleDefaultClear(config);\n return buildResult(babelResult);\n}\n\nexport async function compileFile(filename, config) {\n return new Promise((resolve, reject) => {\n getFs(config).readFile(filename, \"utf-8\", (err, src) => {\n if (err) {\n return reject(err);\n }\n\n return resolve(compile(src, filename, config));\n });\n });\n}\n\nexport function compileFileSync(filename, config) {\n const src = getFs(config).readFileSync(filename, \"utf-8\");\n return compileSync(src, filename, config);\n}\n\nexport function getRuntimeEntryFiles(output, requestedTranslator) {\n const translator = tryLoadTranslator(requestedTranslator);\n if (translator && translator.getRuntimeEntryFiles) {\n return translator.getRuntimeEntryFiles(output, shouldOptimize());\n }\n\n return [];\n}\n\nfunction loadBabelConfig(filename, config) {\n const markoConfig = { ...globalConfig, ...config, babelConfig: undefined };\n const requiredPlugins = [[corePlugin, markoConfig]];\n const baseBabelConfig = {\n filenameRelative: filename\n ? path.relative(process.cwd(), filename)\n : undefined,\n sourceFileName: filename ? path.basename(filename) : undefined,\n ...(config && config.babelConfig),\n filename,\n sourceType: \"module\",\n sourceMaps: markoConfig.sourceMaps,\n code: markoConfig.code,\n ast: markoConfig.ast\n };\n\n if (markoConfig.modules === \"cjs\") {\n requiredPlugins.push([\n require.resolve(\"@babel/plugin-transform-modules-commonjs\"),\n { loose: true }\n ]);\n }\n\n baseBabelConfig.plugins = requiredPlugins.concat(\n baseBabelConfig.plugins || []\n );\n\n return babel.loadPartialConfig(baseBabelConfig).options;\n}\n\nfunction buildResult(babelResult) {\n const {\n ast,\n map,\n code,\n metadata: { marko: meta }\n } = babelResult;\n return { ast, map, code, meta };\n}\n\nlet clearingDefaultCache = false;\nfunction scheduleDefaultClear(config) {\n if (\n !clearingDefaultCache &&\n (clearingDefaultCache = isDefaultCache(config))\n ) {\n setImmediate(_clearDefaults);\n }\n}\n\nexport function _clearDefaults() {\n clearingDefaultCache = false;\n globalConfig.cache.clear();\n}\n\nfunction isDefaultCache(config) {\n return !config.cache || config.cache === globalConfig.cache;\n}\n\nfunction getFs(config) {\n return config.fileSystem || globalConfig.fileSystem;\n}\n"],"file":"index.js"}
|
package/dist/register.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/register.js"],"names":["compiler","require","requiredOptions","modules","module","exports","register","extensions","options","filename","_compile","compileFileSync","Object","assign","sourceMaps","code"],"mappings":"AAAA;;AAEA,MAAMA,QAAQ,GAAGC,OAAO,CAAC,GAAD,CAAxB;AACA,MAAMC,eAAe,GAAG,EAAEC,OAAO,EAAE,KAAX,EAAxB;;AAEAC,MAAM,CAACC,OAAP,GAAiBC,QAAjB;AACAA,QAAQ;;AAER,SAASA,QAAT,CAAkB,EAAEC,UAAU,GAAGN,OAAO,CAACM,UAAvB,EAAmC,GAAGC,OAAtC,KAAkD,EAApE,EAAwE;AACtED,EAAAA,UAAU,CAAC,QAAD,CAAV,GAAuB,CAACH,MAAD,EAASK,QAAT;AACrBL,EAAAA,MAAM,CAACM,QAAP;AACEV,EAAAA,QAAQ,CAACW,eAAT;AACEF,EAAAA,QADF;AAEEG,EAAAA,MAAM,CAACC,MAAP;AACE;AACA,IAAEC,UAAU,EAAE,gBAAgB,QAAhB,GAA2B,KAAzC,EAFF;AAGEN,EAAAA,OAHF;AAIEN,EAAAA,eAJF,CAFF;;AAQEa,EAAAA,IATJ;AAUEN,EAAAA,QAVF,CADF;;AAaA,SAAOF,UAAP;AACD","sourcesContent":["\"use strict\";\n\nconst compiler = require(\".\");\nconst requiredOptions = { modules: \"cjs\" };\n\nmodule.exports = register;\nregister();\n\nfunction register({ extensions = require.extensions, ...options } = {}) {\n extensions[\".marko\"] = (module, filename) =>\n module._compile(\n compiler.compileFileSync(\n filename,\n Object.assign(\n // eslint-disable-next-line no-constant-condition\n { sourceMaps: \"MARKO_DEBUG\" ? \"inline\" : false },\n options,\n requiredOptions\n )\n ).code,\n filename\n );\n return extensions;\n}\n"],"file":"register.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/finder/index.js"],"names":["nodePath","require","resolveFrom","silent","taglibFS","taglibLoader","lassoPackageRoot","scanTagsDir","DependencyChain","hasOwnProperty","Object","prototype","findCache","excludedDirs","excludedPackages","reset","clearCache","getModuleRootPackage","dirname","getRootPackage","e","undefined","getAllDependencyNames","pkg","map","dependencies","keys","forEach","name","peerDependencies","devDependencies","find","registeredTaglibs","found","added","helper","alreadyAdded","taglibId","call","addTaglib","taglib","id","push","foundTaglibPackages","rootDirname","process","cwd","rootPkg","__dirname","curDirname","taglibPath","join","existsSync","loadTaglibFromFile","tagsDir","componentsPath","createTaglib","parentDirname","concat","excludeDir","dir","excludePackage","file","curFS","statSync","_","exports"],"mappings":"AAAA;AACA,IAAIA,QAAQ,GAAGC,OAAO,CAAC,MAAD,CAAtB;AACA,IAAIC,WAAW,GAAGD,OAAO,CAAC,cAAD,CAAP,CAAwBE,MAA1C;AACA,IAAIC,QAAQ,GAAGH,OAAO,CAAC,OAAD,CAAtB;AACA,IAAII,YAAY,GAAGJ,OAAO,CAAC,WAAD,CAA1B;AACA,IAAIK,gBAAgB,GAAGL,OAAO,CAAC,oBAAD,CAA9B;AACA,IAAIM,WAAW,GAAGN,OAAO,CAAC,uBAAD,CAAzB;AACA,IAAIO,eAAe,GAAGP,OAAO,CAAC,2BAAD,CAA7B;AACA,IAAIQ,cAAc,GAAGC,MAAM,CAACC,SAAP,CAAiBF,cAAtC;;AAEA,IAAIG,SAAS,GAAG,EAAhB;AACA,IAAIC,YAAY,GAAG,EAAnB;AACA,IAAIC,gBAAgB,GAAG,EAAvB;;AAEA;AACA;AACA;AACA;AACA,SAASC,KAAT,GAAiB;AACfC,EAAAA,UAAU;AACVH,EAAAA,YAAY,GAAG,EAAf;AACAC,EAAAA,gBAAgB,GAAG,EAAnB;AACD;;AAED,SAASG,oBAAT,CAA8BC,OAA9B,EAAuC;AACrC,MAAI;AACF,WAAOZ,gBAAgB,CAACa,cAAjB,CAAgCD,OAAhC,CAAP;AACD,GAFD,CAEE,OAAOE,CAAP,EAAU;AACV,WAAOC,SAAP;AACD;AACF;;AAED,SAASC,qBAAT,CAA+BC,GAA/B,EAAoC;AAClC,MAAIC,GAAG,GAAG,EAAV;;AAEA,MAAID,GAAG,CAACE,YAAR,EAAsB;AACpBf,IAAAA,MAAM,CAACgB,IAAP,CAAYH,GAAG,CAACE,YAAhB,EAA8BE,OAA9B,CAAsC,CAAAC,IAAI,KAAI;AAC5CJ,MAAAA,GAAG,CAACI,IAAD,CAAH,GAAY,IAAZ;AACD,KAFD;AAGD;;AAED,MAAIL,GAAG,CAACM,gBAAR,EAA0B;AACxBnB,IAAAA,MAAM,CAACgB,IAAP,CAAYH,GAAG,CAACM,gBAAhB,EAAkCF,OAAlC,CAA0C,CAAAC,IAAI,KAAI;AAChDJ,MAAAA,GAAG,CAACI,IAAD,CAAH,GAAY,IAAZ;AACD,KAFD;AAGD;;AAED,MAAIL,GAAG,CAACO,eAAR,EAAyB;AACvBpB,IAAAA,MAAM,CAACgB,IAAP,CAAYH,GAAG,CAACO,eAAhB,EAAiCH,OAAjC,CAAyC,CAAAC,IAAI,KAAI;AAC/CJ,MAAAA,GAAG,CAACI,IAAD,CAAH,GAAY,IAAZ;AACD,KAFD;AAGD;;AAED,SAAOlB,MAAM,CAACgB,IAAP,CAAYF,GAAZ,CAAP;AACD;;AAED,SAASO,IAAT,CAAcb,OAAd,EAAuBc,iBAAvB,EAA0C;AACxC,MAAIC,KAAK,GAAGrB,SAAS,CAACM,OAAD,CAArB;AACA,MAAIe,KAAJ,EAAW;AACT,WAAOA,KAAP;AACD;;AAEDA,EAAAA,KAAK,GAAG,EAAR;;AAEA,MAAIC,KAAK,GAAG,EAAZ;;AAEA,MAAIC,MAAM,GAAG;AACXC,IAAAA,YAAY,EAAE,UAAUC,QAAV,EAAoB;AAChC,aAAO5B,cAAc,CAAC6B,IAAf,CAAoBJ,KAApB,EAA2BG,QAA3B,CAAP;AACD,KAHU;AAIXE,IAAAA,SAAS,EAAE,UAAUC,MAAV,EAAkB;AAC3B,UAAIN,KAAK,CAACM,MAAM,CAACC,EAAR,CAAT,EAAsB;AACpB;AACD;;AAEDP,MAAAA,KAAK,CAACM,MAAM,CAACC,EAAR,CAAL,GAAmB,IAAnB;AACAR,MAAAA,KAAK,CAACS,IAAN,CAAWF,MAAX;AACD,KAXU;AAYXG,IAAAA,mBAAmB,EAAE,EAZV,EAAb;;;AAeA,MAAIC,WAAW,GAAGC,OAAO,CAACC,GAAR,EAAlB,CAzBwC,CAyBP;AACjC,MAAIC,OAAO,GAAG9B,oBAAoB,CAACC,OAAD,CAAlC;AACA,MAAI6B,OAAJ,EAAa;AACXH,IAAAA,WAAW,GAAGG,OAAO,CAACC,SAAtB,CADW,CACsB;AAClC;;AAED;AACA,MAAIC,UAAU,GAAG/B,OAAjB;AACA;AACA,SAAO,IAAP,EAAa;AACX,QAAI,CAACL,YAAY,CAACoC,UAAD,CAAjB,EAA+B;AAC7B,UAAIC,UAAU,GAAGlD,QAAQ,CAACmD,IAAT,CAAcF,UAAd,EAA0B,YAA1B,CAAjB;AACA,UAAIT,MAAJ;;AAEA,UAAIY,UAAU,CAACF,UAAD,CAAd,EAA4B;AAC1BV,QAAAA,MAAM,GAAGnC,YAAY,CAACgD,kBAAb,CAAgCH,UAAhC,CAAT;AACAf,QAAAA,MAAM,CAACI,SAAP,CAAiBC,MAAjB;AACD;;AAED,UAAI,CAACA,MAAD,IAAWA,MAAM,CAACc,OAAP,KAAmBjC,SAAlC,EAA6C;AAC3C,YAAIkC,cAAc,GAAGvD,QAAQ,CAACmD,IAAT,CAAcF,UAAd,EAA0B,YAA1B,CAArB;;AAEA;AACEG,QAAAA,UAAU,CAACG,cAAD,CAAV;AACA,SAAC1C,YAAY,CAAC0C,cAAD,CADb;AAEA,SAACpB,MAAM,CAACC,YAAP,CAAoBmB,cAApB,CAHH;AAIE;AACA,cAAIf,MAAM,GAAGnC,YAAY,CAACmD,YAAb,CAA0BD,cAA1B,CAAb;AACAhD,UAAAA,WAAW;AACTgD,UAAAA,cADS;AAETvD,UAAAA,QAAQ,CAACkB,OAAT,CAAiBqC,cAAjB,CAFS;AAGT,sBAHS;AAITf,UAAAA,MAJS;AAKT,cAAIhC,eAAJ,CAAoB,CAAC+C,cAAD,CAApB,CALS,CAAX;;AAOApB,UAAAA,MAAM,CAACI,SAAP,CAAiBC,MAAjB;AACD;AACF;AACF;;AAED,QAAIS,UAAU,KAAKL,WAAnB,EAAgC;AAC9B;AACD;;AAED,QAAIa,aAAa,GAAGzD,QAAQ,CAACkB,OAAT,CAAiB+B,UAAjB,CAApB;AACA,QAAI,CAACQ,aAAD,IAAkBA,aAAa,KAAKR,UAAxC,EAAoD;AAClD;AACD;AACDA,IAAAA,UAAU,GAAGQ,aAAb;AACD;;AAED,MAAIV,OAAJ,EAAa;AACX;AACAzB,IAAAA,qBAAqB,CAACyB,OAAD,CAArB,CAA+BpB,OAA/B,CAAuC,CAAAC,IAAI,KAAI;AAC7C,UAAI,CAACd,gBAAgB,CAACc,IAAD,CAArB,EAA6B;AAC3B,YAAIsB,UAAU,GAAGhD,WAAW;AAC1B6C,QAAAA,OAAO,CAACC,SADkB;AAE1BhD,QAAAA,QAAQ,CAACmD,IAAT,CAAcvB,IAAd,EAAoB,YAApB,CAF0B,CAA5B;;AAIA,YAAIsB,UAAJ,EAAgB;AACd,cAAIV,MAAM,GAAGnC,YAAY,CAACgD,kBAAb,CAAgCH,UAAhC,CAAb;AACAf,UAAAA,MAAM,CAACI,SAAP,CAAiBC,MAAjB;AACD;AACF;AACF,KAXD;AAYD;;AAEDP,EAAAA,KAAK,GAAGA,KAAK,CAACyB,MAAN,CAAa1B,iBAAb,CAAR;;AAEApB,EAAAA,SAAS,CAACM,OAAD,CAAT,GAAqBe,KAArB;;AAEA,SAAOA,KAAP;AACD;;AAED,SAASjB,UAAT,GAAsB;AACpBJ,EAAAA,SAAS,GAAG,EAAZ;AACD;;AAED,SAAS+C,UAAT,CAAoBC,GAApB,EAAyB;AACvB/C,EAAAA,YAAY,CAAC+C,GAAD,CAAZ,GAAoB,IAApB;AACD;;AAED,SAASC,cAAT,CAAwBjC,IAAxB,EAA8B;AAC5Bd,EAAAA,gBAAgB,CAACc,IAAD,CAAhB,GAAyB,IAAzB;AACD;;AAED,SAASwB,UAAT,CAAoBU,IAApB,EAA0B;AACxB,MAAI;AACF1D,IAAAA,QAAQ,CAAC2D,KAAT,CAAeC,QAAf,CAAwBF,IAAxB;AACA,WAAO,IAAP;AACD,GAHD,CAGE,OAAOG,CAAP,EAAU;AACV,WAAO,KAAP;AACD;AACF;;AAEDC,OAAO,CAACnD,KAAR,GAAgBA,KAAhB;AACAmD,OAAO,CAACnC,IAAR,GAAeA,IAAf;AACAmC,OAAO,CAAClD,UAAR,GAAqBA,UAArB;AACAkD,OAAO,CAACP,UAAR,GAAqBA,UAArB;AACAO,OAAO,CAACL,cAAR,GAAyBA,cAAzB","sourcesContent":["\"use strict\";\nvar nodePath = require(\"path\");\nvar resolveFrom = require(\"resolve-from\").silent;\nvar taglibFS = require(\"../fs\");\nvar taglibLoader = require(\"../loader\");\nvar lassoPackageRoot = require(\"lasso-package-root\");\nvar scanTagsDir = require(\"../loader/scanTagsDir\");\nvar DependencyChain = require(\"../loader/DependencyChain\");\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar findCache = {};\nvar excludedDirs = {};\nvar excludedPackages = {};\n\n/**\n * Reset all internal state to the default state. This\n * was added for testing purposes.\n */\nfunction reset() {\n clearCache();\n excludedDirs = {};\n excludedPackages = {};\n}\n\nfunction getModuleRootPackage(dirname) {\n try {\n return lassoPackageRoot.getRootPackage(dirname);\n } catch (e) {\n return undefined;\n }\n}\n\nfunction getAllDependencyNames(pkg) {\n var map = {};\n\n if (pkg.dependencies) {\n Object.keys(pkg.dependencies).forEach(name => {\n map[name] = true;\n });\n }\n\n if (pkg.peerDependencies) {\n Object.keys(pkg.peerDependencies).forEach(name => {\n map[name] = true;\n });\n }\n\n if (pkg.devDependencies) {\n Object.keys(pkg.devDependencies).forEach(name => {\n map[name] = true;\n });\n }\n\n return Object.keys(map);\n}\n\nfunction find(dirname, registeredTaglibs) {\n var found = findCache[dirname];\n if (found) {\n return found;\n }\n\n found = [];\n\n var added = {};\n\n var helper = {\n alreadyAdded: function (taglibId) {\n return hasOwnProperty.call(added, taglibId);\n },\n addTaglib: function (taglib) {\n if (added[taglib.id]) {\n return;\n }\n\n added[taglib.id] = true;\n found.push(taglib);\n },\n foundTaglibPackages: {}\n };\n\n var rootDirname = process.cwd(); // Don't search up past this directory\n var rootPkg = getModuleRootPackage(dirname);\n if (rootPkg) {\n rootDirname = rootPkg.__dirname; // Use the package's root directory as the top-level directory\n }\n\n // First walk up the directory tree looking for marko.json files or components/ directories\n let curDirname = dirname;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!excludedDirs[curDirname]) {\n let taglibPath = nodePath.join(curDirname, \"marko.json\");\n let taglib;\n\n if (existsSync(taglibPath)) {\n taglib = taglibLoader.loadTaglibFromFile(taglibPath);\n helper.addTaglib(taglib);\n }\n\n if (!taglib || taglib.tagsDir === undefined) {\n let componentsPath = nodePath.join(curDirname, \"components\");\n\n if (\n existsSync(componentsPath) &&\n !excludedDirs[componentsPath] &&\n !helper.alreadyAdded(componentsPath)\n ) {\n let taglib = taglibLoader.createTaglib(componentsPath);\n scanTagsDir(\n componentsPath,\n nodePath.dirname(componentsPath),\n \"components\",\n taglib,\n new DependencyChain([componentsPath])\n );\n helper.addTaglib(taglib);\n }\n }\n }\n\n if (curDirname === rootDirname) {\n break;\n }\n\n let parentDirname = nodePath.dirname(curDirname);\n if (!parentDirname || parentDirname === curDirname) {\n break;\n }\n curDirname = parentDirname;\n }\n\n if (rootPkg) {\n // Now look for `marko.json` from installed packages\n getAllDependencyNames(rootPkg).forEach(name => {\n if (!excludedPackages[name]) {\n let taglibPath = resolveFrom(\n rootPkg.__dirname,\n nodePath.join(name, \"marko.json\")\n );\n if (taglibPath) {\n var taglib = taglibLoader.loadTaglibFromFile(taglibPath);\n helper.addTaglib(taglib);\n }\n }\n });\n }\n\n found = found.concat(registeredTaglibs);\n\n findCache[dirname] = found;\n\n return found;\n}\n\nfunction clearCache() {\n findCache = {};\n}\n\nfunction excludeDir(dir) {\n excludedDirs[dir] = true;\n}\n\nfunction excludePackage(name) {\n excludedPackages[name] = true;\n}\n\nfunction existsSync(file) {\n try {\n taglibFS.curFS.statSync(file);\n return true;\n } catch (_) {\n return false;\n }\n}\n\nexports.reset = reset;\nexports.find = find;\nexports.clearCache = clearCache;\nexports.excludeDir = excludeDir;\nexports.excludePackage = excludePackage;\n"],"file":"index.js"}
|
package/dist/taglib/fs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/taglib/fs.js"],"names":["curFS","setFS","fs"],"mappings":"oFAAO,IAAIA,KAAJ,C;AACA,SAASC,KAAT,CAAeC,EAAf,EAAmB;AACxB,kBAAAF,KAAK,GAAGE,EAAR;AACD","sourcesContent":["export let curFS;\nexport function setFS(fs) {\n curFS = fs;\n}\n"],"file":"fs.js"}
|
package/dist/taglib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/taglib/index.js"],"names":["excludeDir","finder","excludePackage","registeredTaglibs","loadedTranslatorsTaglibs","Map","lookupCache","Object","create","register","markoHTMLTaglib","markoSVGTaglib","markoMathTaglib","buildLookup","dirname","requestedTranslator","translator","Array","isArray","taglibs","Error","has","set","map","id","props","loadTaglib","taglibsForDir","find","concat","get","cacheKey","it","join","lookup","Lookup","i","length","taglib","addTaglib","imports","importedTaglib","hasTaglib","push","clearCaches","loader","clearCache","_loader","_finder","loadTaglibFromProps","createTaglib"],"mappings":"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","sourcesContent":["import loader from \"./loader\";\nimport finder from \"./finder\";\nimport Lookup from \"./lookup\";\nimport tryLoadTranslator from \"../util/try-load-translator\";\n\nexport const excludeDir = finder.excludeDir;\nexport const excludePackage = finder.excludePackage;\n\nimport markoHTMLTaglib from \"./marko-html.json\";\nimport markoSVGTaglib from \"./marko-svg.json\";\nimport markoMathTaglib from \"./marko-math.json\";\n\nconst registeredTaglibs = [];\nconst loadedTranslatorsTaglibs = new Map();\nlet lookupCache = Object.create(null);\n\nregister(\"marko/html\", markoHTMLTaglib);\nregister(\"marko/svg\", markoSVGTaglib);\nregister(\"marko/math\", markoMathTaglib);\n\nexport function buildLookup(dirname, requestedTranslator) {\n const translator = tryLoadTranslator(requestedTranslator);\n if (!translator || !Array.isArray(translator.taglibs)) {\n throw new Error(\n \"@marko/compiler: Invalid translator provided to buildLookup(dir, translator)\"\n );\n }\n\n if (!loadedTranslatorsTaglibs.has(translator)) {\n loadedTranslatorsTaglibs.set(\n translator,\n translator.taglibs.map(([id, props]) => loadTaglib(id, props))\n );\n }\n\n const taglibsForDir = finder.find(\n dirname,\n registeredTaglibs.concat(loadedTranslatorsTaglibs.get(translator))\n );\n\n const cacheKey = taglibsForDir.map(it => it.id).join();\n let lookup = lookupCache[cacheKey];\n\n if (!lookup) {\n lookup = lookupCache[cacheKey] = new Lookup();\n for (let i = taglibsForDir.length; i--; ) {\n const taglib = taglibsForDir[i];\n lookup.addTaglib(taglib);\n if (taglib.imports) {\n for (const importedTaglib of taglib.imports) {\n if (!lookup.hasTaglib(importedTaglib)) {\n lookup.addTaglib(importedTaglib);\n }\n }\n }\n }\n }\n\n return lookup;\n}\n\nexport function register(id, props) {\n registeredTaglibs.push(loadTaglib(id, props));\n}\n\nexport function clearCaches() {\n loader.clearCache();\n finder.clearCache();\n lookupCache = Object.create(null);\n}\n\n// Used by legacy compiler api.\nexport const _loader = loader;\nexport const _finder = finder;\n\nfunction loadTaglib(id, props) {\n return loader.loadTaglibFromProps(loader.createTaglib(id), props);\n}\n"],"file":"index.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/Attribute.js"],"names":["Attribute","constructor","name","type","required","allowExpressions","setFlag","pattern","module","exports"],"mappings":"AAAA;;AAEA,MAAMA,SAAN,CAAgB;AACdC,EAAAA,WAAW,CAACC,IAAD,EAAO;AAChB,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAKC,IAAL,GAAY,IAAZ;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKD,IAAL,GAAY,IAAZ;AACA,SAAKE,gBAAL,GAAwB,IAAxB;AACA,SAAKC,OAAL,GAAe,IAAf;AACA,SAAKC,OAAL,GAAe,IAAf;AACD,GATa;;;AAYhBC,MAAM,CAACC,OAAP,GAAiBT,SAAjB","sourcesContent":["\"use strict\";\n\nclass Attribute {\n constructor(name) {\n this.name = name;\n this.type = null;\n this.required = false;\n this.type = null;\n this.allowExpressions = true;\n this.setFlag = null;\n this.pattern = null;\n }\n}\n\nmodule.exports = Attribute;\n"],"file":"Attribute.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/DependencyChain.js"],"names":["DependencyChain","constructor","array","append","str","concat","toString","join","module","exports"],"mappings":"AAAA;;AAEA,MAAMA,eAAN,CAAsB;AACpBC,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,SAAKA,KAAL,GAAaA,KAAK,IAAI,EAAtB;AACD;;AAEDC,EAAAA,MAAM,CAACC,GAAD,EAAM;AACV,WAAO,IAAIJ,eAAJ,CAAoB,KAAKE,KAAL,CAAWG,MAAX,CAAkBD,GAAlB,CAApB,CAAP;AACD;;AAEDE,EAAAA,QAAQ,GAAG;AACT,WAAO,MAAM,KAAKJ,KAAL,CAAWK,IAAX,CAAgB,KAAhB,CAAN,GAA+B,GAAtC;AACD,GAXmB;;;AActBC,MAAM,CAACC,OAAP,GAAiBT,eAAjB","sourcesContent":["\"use strict\";\n\nclass DependencyChain {\n constructor(array) {\n this.array = array || [];\n }\n\n append(str) {\n return new DependencyChain(this.array.concat(str));\n }\n\n toString() {\n return \"[\" + this.array.join(\" → \") + \"]\";\n }\n}\n\nmodule.exports = DependencyChain;\n"],"file":"DependencyChain.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/Property.js"],"names":["Property","constructor","name","type","value","undefined","module","exports"],"mappings":"AAAA;;AAEA,MAAMA,QAAN,CAAe;AACbC,EAAAA,WAAW,GAAG;AACZ,SAAKC,IAAL,GAAY,IAAZ;AACA,SAAKC,IAAL,GAAY,QAAZ;AACA,SAAKC,KAAL,GAAaC,SAAb;AACD,GALY;;;AAQfC,MAAM,CAACC,OAAP,GAAiBP,QAAjB","sourcesContent":["\"use strict\";\n\nclass Property {\n constructor() {\n this.name = null;\n this.type = \"string\";\n this.value = undefined;\n }\n}\n\nmodule.exports = Property;\n"],"file":"Property.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/Tag.js"],"names":["ok","require","path","hasOwnProperty","Object","prototype","Tag","constructor","filePath","dir","dirname","migrators","attributes","transformers","patternAttributes","addAttribute","attr","pattern","push","name","dynamicAttribute","targetProperty","undefined","toString","taglibId","forEachAttribute","callback","thisObj","attrName","call","getAttribute","attribute","i","len","length","patternAttribute","test","hasAttribute","addNestedTag","nestedTag","nestedTags","isNestedTag","hasNestedTags","toJSON","setTaglib","taglib","id","taglibPath","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\nvar ok = require(\"assert\").ok;\nvar path = require(\"path\");\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nclass Tag {\n constructor(filePath) {\n this.filePath = filePath;\n if (filePath) {\n this.dir = path.dirname(filePath);\n }\n\n this.migrators = [];\n this.attributes = {};\n this.transformers = [];\n this.patternAttributes = [];\n }\n\n addAttribute(attr) {\n attr.filePath = this.filePath;\n\n if (attr.pattern) {\n this.patternAttributes.push(attr);\n } else {\n if (attr.name === \"*\") {\n attr.dynamicAttribute = true;\n\n if (attr.targetProperty === undefined || attr.targetProperty === \"\") {\n attr.targetProperty = null;\n }\n }\n\n this.attributes[attr.name] = attr;\n }\n }\n toString() {\n return \"[Tag: <\" + this.name + \"@\" + this.taglibId + \">]\";\n }\n forEachAttribute(callback, thisObj) {\n for (var attrName in this.attributes) {\n if (hasOwnProperty.call(this.attributes, attrName)) {\n callback.call(thisObj, this.attributes[attrName]);\n }\n }\n }\n getAttribute(attrName) {\n var attributes = this.attributes;\n\n // try by exact match first\n var attribute = attributes[attrName] || attributes[\"*\"];\n\n if (attribute === undefined && this.patternAttributes) {\n // try searching by pattern\n for (var i = 0, len = this.patternAttributes.length; i < len; i++) {\n var patternAttribute = this.patternAttributes[i];\n if (patternAttribute.pattern.test(attrName)) {\n attribute = patternAttribute;\n break;\n }\n }\n }\n\n return attribute;\n }\n\n hasAttribute(attrName) {\n return hasOwnProperty.call(this.attributes, attrName);\n }\n\n addNestedTag(nestedTag) {\n ok(nestedTag.name, '\"nestedTag.name\" is required');\n\n if (!this.nestedTags) {\n this.nestedTags = {};\n }\n\n nestedTag.isNestedTag = true;\n\n if (!nestedTag.targetProperty) {\n nestedTag.targetProperty = nestedTag.name;\n }\n\n this.nestedTags[nestedTag.name] = nestedTag;\n }\n\n hasNestedTags() {\n return this.nestedTags != null;\n }\n\n toJSON() {\n return this;\n }\n\n setTaglib(taglib) {\n this.taglibId = taglib ? taglib.id : null;\n this.taglibPath = taglib ? taglib.path : null;\n }\n}\n\nmodule.exports = Tag;\n"],"file":"Tag.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/Taglib.js"],"names":["ok","require","path","loaders","hasOwnProperty","Object","prototype","handleImport","taglib","importedTaglib","importsLookup","call","imports","push","forEach","nestedImportedTaglib","Taglib","constructor","filePath","id","dirname","tags","migrators","transformers","attributes","patternAttributes","addAttribute","attribute","key","pattern","name","Error","inspect","getAttribute","i","len","length","patternAttribute","test","addTag","tag","arguments","JSON","stringify","taglibId","addImport","loadTaglibFromFile","toJSON","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\nvar ok = require(\"assert\").ok;\nvar path = require(\"path\");\nvar loaders = require(\"./loaders\");\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction handleImport(taglib, importedTaglib) {\n var importsLookup = taglib.importsLookup || (taglib.importsLookup = {});\n if (hasOwnProperty.call(importsLookup, importedTaglib.path)) {\n return;\n }\n\n importsLookup[importedTaglib.path] = importedTaglib;\n\n if (!taglib.imports) {\n taglib.imports = [];\n }\n\n taglib.imports.push(importedTaglib);\n\n if (importedTaglib.imports) {\n importedTaglib.imports.forEach(function (nestedImportedTaglib) {\n handleImport(taglib, nestedImportedTaglib);\n });\n }\n}\n\nclass Taglib {\n constructor(filePath) {\n ok(filePath, '\"filePath\" expected');\n this.filePath = this.path /* deprecated */ = this.id = filePath;\n this.dirname = path.dirname(this.filePath);\n this.tags = {};\n this.migrators = [];\n this.transformers = [];\n this.attributes = {};\n this.patternAttributes = [];\n this.imports = null;\n this.importsLookup = null;\n }\n\n addAttribute(attribute) {\n ok(attribute.key, '\"key\" is required for global attributes');\n\n attribute.filePath = this.filePath;\n\n if (!attribute.pattern && !attribute.name) {\n throw new Error(\n \"Invalid attribute: \" + require(\"util\").inspect(attribute)\n );\n }\n\n this.attributes[attribute.key] = attribute;\n }\n getAttribute(name) {\n var attribute = this.attributes[name];\n if (!attribute) {\n for (var i = 0, len = this.patternAttributes.length; i < len; i++) {\n var patternAttribute = this.patternAttributes[i];\n if (patternAttribute.pattern.test(name)) {\n attribute = patternAttribute;\n }\n }\n }\n return attribute;\n }\n addTag(tag) {\n ok(arguments.length === 1, \"Invalid args\");\n if (!tag.name) {\n throw new Error('\"tag.name\" is required: ' + JSON.stringify(tag));\n }\n this.tags[tag.name] = tag;\n tag.taglibId = this.id || this.path;\n }\n\n addImport(path) {\n var importedTaglib = loaders.loadTaglibFromFile(path);\n handleImport(this, importedTaglib);\n }\n\n toJSON() {\n return {\n path: this.path,\n tags: this.tags,\n attributes: this.attributes,\n patternAttributes: this.patternAttributes,\n imports: this.imports\n };\n }\n}\n\nmodule.exports = Taglib;\n"],"file":"Taglib.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/Transformer.js"],"names":["nextTransformerId","Transformer","constructor","id","name","tag","path","_func","toString","module","exports"],"mappings":"AAAA;AACA,IAAIA,iBAAiB,GAAG,CAAxB;;AAEA,MAAMC,WAAN,CAAkB;AAChBC,EAAAA,WAAW,GAAG;AACZ,SAAKC,EAAL,GAAUH,iBAAiB,EAA3B;AACA,SAAKI,IAAL,GAAY,IAAZ;AACA,SAAKC,GAAL,GAAW,IAAX;AACA,SAAKC,IAAL,GAAY,IAAZ;AACA,SAAKC,KAAL,GAAa,IAAb;AACD;;AAEDC,EAAAA,QAAQ,GAAG;AACT,WAAO,0BAA0B,KAAKF,IAA/B,GAAsC,GAA7C;AACD,GAXe;;;AAclBG,MAAM,CAACC,OAAP,GAAiBT,WAAjB","sourcesContent":["\"use strict\";\nvar nextTransformerId = 0;\n\nclass Transformer {\n constructor() {\n this.id = nextTransformerId++;\n this.name = null;\n this.tag = null;\n this.path = null;\n this._func = null;\n }\n\n toString() {\n return \"[Taglib.Transformer: \" + this.path + \"]\";\n }\n}\n\nmodule.exports = Transformer;\n"],"file":"Transformer.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/cache.js"],"names":["cache","get","key","put","value","clear","exports"],"mappings":"aAAA,IAAIA,KAAK,GAAG,EAAZ;;AAEA,SAASC,GAAT,CAAaC,GAAb,EAAkB;AAChB,SAAOF,KAAK,CAACE,GAAD,CAAZ;AACD;;AAED,SAASC,GAAT,CAAaD,GAAb,EAAkBE,KAAlB,EAAyB;AACvBJ,EAAAA,KAAK,CAACE,GAAD,CAAL,GAAaE,KAAb;AACD;;AAED,SAASC,KAAT,GAAiB;AACfL,EAAAA,KAAK,GAAG,EAAR;AACD;;AAEDM,OAAO,CAACL,GAAR,GAAcA,GAAd;AACAK,OAAO,CAACH,GAAR,GAAcA,GAAd;AACAG,OAAO,CAACD,KAAR,GAAgBA,KAAhB","sourcesContent":["var cache = {};\n\nfunction get(key) {\n return cache[key];\n}\n\nfunction put(key, value) {\n cache[key] = value;\n}\n\nfunction clear() {\n cache = {};\n}\n\nexports.get = get;\nexports.put = put;\nexports.clear = clear;\n"],"file":"cache.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/index.js"],"names":["cache","require","types","loaders","DependencyChain","loadTaglibFromProps","taglib","taglibProps","loadTaglibFromFile","filePath","clearCache","clear","createTaglib","Taglib","loadTag","tagProps","tag","Tag","loadTagFromProps","exports"],"mappings":"aAAA,IAAIA,KAAK,GAAGC,OAAO,CAAC,SAAD,CAAnB;;AAEA,IAAIC,KAAK,GAAGD,OAAO,CAAC,SAAD,CAAnB;AACA,IAAIE,OAAO,GAAGF,OAAO,CAAC,WAAD,CAArB;AACA,IAAIG,eAAe,GAAGH,OAAO,CAAC,mBAAD,CAA7B;;AAEA,SAASI,mBAAT,CAA6BC,MAA7B,EAAqCC,WAArC,EAAkD;AAChD,SAAOJ,OAAO,CAACE,mBAAR,CAA4BC,MAA5B,EAAoCC,WAApC,CAAP;AACD;;AAED,SAASC,kBAAT,CAA4BC,QAA5B,EAAsC;AACpC,SAAON,OAAO,CAACK,kBAAR,CAA2BC,QAA3B,CAAP;AACD;;AAED,SAASC,UAAT,GAAsB;AACpBV,EAAAA,KAAK,CAACW,KAAN;AACD;;AAED,SAASC,YAAT,CAAsBH,QAAtB,EAAgC;AAC9B,SAAO,IAAIP,KAAK,CAACW,MAAV,CAAiBJ,QAAjB,CAAP;AACD;;AAED,SAASK,OAAT,CAAiBC,QAAjB,EAA2BN,QAA3B,EAAqC;AACnC,MAAIO,GAAG,GAAG,IAAId,KAAK,CAACe,GAAV,CAAcR,QAAd,CAAV;AACAN,EAAAA,OAAO,CAACe,gBAAR;AACEF,EAAAA,GADF;AAEED,EAAAA,QAFF;AAGE,MAAIX,eAAJ,CAAoBK,QAAQ,GAAG,CAACA,QAAD,CAAH,GAAgB,EAA5C,CAHF;;AAKA,SAAOO,GAAP;AACD;;AAEDG,OAAO,CAACT,UAAR,GAAqBA,UAArB;AACAS,OAAO,CAACP,YAAR,GAAuBA,YAAvB;AACAO,OAAO,CAACd,mBAAR,GAA8BA,mBAA9B;AACAc,OAAO,CAACX,kBAAR,GAA6BA,kBAA7B;AACAW,OAAO,CAACL,OAAR,GAAkBA,OAAlB","sourcesContent":["var cache = require(\"./cache\");\n\nvar types = require(\"./types\");\nvar loaders = require(\"./loaders\");\nvar DependencyChain = require(\"./DependencyChain\");\n\nfunction loadTaglibFromProps(taglib, taglibProps) {\n return loaders.loadTaglibFromProps(taglib, taglibProps);\n}\n\nfunction loadTaglibFromFile(filePath) {\n return loaders.loadTaglibFromFile(filePath);\n}\n\nfunction clearCache() {\n cache.clear();\n}\n\nfunction createTaglib(filePath) {\n return new types.Taglib(filePath);\n}\n\nfunction loadTag(tagProps, filePath) {\n var tag = new types.Tag(filePath);\n loaders.loadTagFromProps(\n tag,\n tagProps,\n new DependencyChain(filePath ? [filePath] : [])\n );\n return tag;\n}\n\nexports.clearCache = clearCache;\nexports.createTaglib = createTaglib;\nexports.loadTaglibFromProps = loadTaglibFromProps;\nexports.loadTaglibFromFile = loadTaglibFromFile;\nexports.loadTag = loadTag;\n"],"file":"index.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/json-file-reader.js"],"names":["taglibFS","require","stripJsonComments","fsReadOptions","encoding","exports","readFileSync","path","json","String","curFS","taglibProps","JSON","parse","e","Error"],"mappings":"aAAA,IAAIA,QAAQ,GAAGC,OAAO,CAAC,OAAD,CAAtB;AACA,IAAIC,iBAAiB,GAAGD,OAAO,CAAC,qBAAD,CAA/B;AACA,IAAIE,aAAa,GAAG,EAAEC,QAAQ,EAAE,MAAZ,EAApB;;AAEAC,OAAO,CAACC,YAAR,GAAuB,UAAUC,IAAV,EAAgB;AACrC,MAAIC,IAAI,GAAGC,MAAM,CAACT,QAAQ,CAACU,KAAT,CAAeJ,YAAf,CAA4BC,IAA5B,EAAkCJ,aAAlC,CAAD,CAAjB;;AAEA,MAAI;AACF,QAAIQ,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWX,iBAAiB,CAACM,IAAD,CAA5B,CAAlB;AACA,WAAOG,WAAP;AACD,GAHD,CAGE,OAAOG,CAAP,EAAU;AACV,UAAM,IAAIC,KAAJ;AACJ,4CAAwCR,IAAxC,GAA+C,YAA/C,GAA8DO,CAD1D,CAAN;;AAGD;AACF,CAXD","sourcesContent":["var taglibFS = require(\"../fs\");\nvar stripJsonComments = require(\"strip-json-comments\");\nvar fsReadOptions = { encoding: \"utf8\" };\n\nexports.readFileSync = function (path) {\n var json = String(taglibFS.curFS.readFileSync(path, fsReadOptions));\n\n try {\n var taglibProps = JSON.parse(stripJsonComments(json));\n return taglibProps;\n } catch (e) {\n throw new Error(\n 'Unable to parse JSON file at path \"' + path + '\". Error: ' + e\n );\n }\n};\n"],"file":"json-file-reader.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/loadAttributeFromProps.js"],"names":["assert","require","raptorRegexp","propertyHandlers","types","createError","hasOwnProperty","Object","prototype","AttrLoader","constructor","attr","dependencyChain","ok","load","attrProps","arguments","length","type","toString","value","charAt","ref","substring","targetProperty","defaultValue","pattern","patternRegExp","simple","name","allowExpressions","preserveName","required","removeDashes","description","setFlag","setContextFlag","ignore","autocomplete","enum","deprecated","html","loadAttributeFromProps","attrName","Attribute","attrLoader","err","isSupportedProperty","call","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\n\nvar assert = require(\"assert\");\nvar raptorRegexp = require(\"raptor-regexp\");\nvar propertyHandlers = require(\"property-handlers\");\nvar types = require(\"./types\");\nvar createError = require(\"raptor-util/createError\");\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nclass AttrLoader {\n constructor(attr, dependencyChain) {\n assert.ok(attr, '\"attr\" is required');\n assert.ok(dependencyChain, '\"dependencyChain\" is required');\n\n this.attr = attr;\n this.dependencyChain = dependencyChain;\n }\n\n load(attrProps) {\n assert.ok(arguments.length === 1);\n\n if (attrProps == null) {\n attrProps = {};\n } else if (typeof attrProps === \"string\") {\n attrProps = {\n type: attrProps\n };\n } else {\n assert.ok(typeof attrProps === \"object\", 'Invalid \"attrProps\"');\n }\n\n propertyHandlers(attrProps, this, this.dependencyChain.toString());\n }\n\n /**\n * The attribute type. One of the following:\n * - string (the default)\n * - expression (a JavaScript expression)\n * - number\n * - integer\n * - int\n * - boolean\n * - float\n * - double\n * - object\n * - array\n *\n */\n type(value) {\n var attr = this.attr;\n if (value.charAt(0) === \"#\") {\n attr.ref = value.substring(1);\n } else {\n attr.type = value;\n }\n }\n\n /**\n * The name of the target property to use when mapping\n * the attribute to a property on the target object.\n */\n targetProperty(value) {\n var attr = this.attr;\n attr.targetProperty = value;\n }\n /**\n * The \"default-value\" property allows a default value\n * to be provided when the attribute is not declared\n * on the custom tag.\n */\n defaultValue(value) {\n var attr = this.attr;\n attr.defaultValue = value;\n }\n /**\n * The \"pattern\" property allows the attribute\n * to be matched based on a simplified regular expression.\n *\n * Example:\n *\n * \"pattern\": \"myprefix-*\"\n */\n pattern(value) {\n var attr = this.attr;\n if (value === true) {\n var patternRegExp = raptorRegexp.simple(attr.name);\n attr.pattern = patternRegExp;\n }\n }\n\n /**\n * If \"allow-expressions\" is set to true (the default) then\n * the the attribute value will be parsed to find any dynamic\n * parts.\n */\n allowExpressions(value) {\n var attr = this.attr;\n attr.allowExpressions = value;\n }\n\n /**\n * By default, the Marko compiler maps an attribute\n * to a property by removing all dashes from the attribute\n * name and converting each character after a dash to\n * an uppercase character (e.g. \"my-attr\" --> \"myAttr\").\n *\n * Setting \"preserve-name\" to true will prevent this from\n * happening for the attribute.\n */\n preserveName(value) {\n var attr = this.attr;\n attr.preserveName = value;\n }\n /**\n * Declares an attribute as required. Currently, this is\n * not enforced and is only used for documentation purposes.\n *\n * Example:\n * \"required\": true\n */\n required(value) {\n var attr = this.attr;\n attr.required = value === true;\n }\n /**\n * This is the opposite of \"preserve-name\" and will result\n * in dashes being removed from the attribute if set to true.\n */\n removeDashes(value) {\n var attr = this.attr;\n attr.removeDashes = value === true;\n }\n /**\n * The description of the attribute. Only used for documentation.\n */\n description(value) {\n this.attr.description = value;\n }\n\n /**\n * The \"set-flag\" property allows a \"flag\" to be added to a Node instance\n * at compile time if the attribute is found on the node. This is helpful\n * if an attribute uses a pattern and a transformer wants to have a simple\n * check to see if the Node has an attribute that matched the pattern.\n *\n * Example:\n *\n * \"set-flag\": \"myCustomFlag\"\n *\n * A Node instance can be checked if it has a flag set as shown below:\n *\n * if (node.hasFlag('myCustomFlag')) { ... }\n *\n *\n */\n setFlag(value) {\n var attr = this.attr;\n attr.setFlag = value;\n }\n\n /**\n * The \"set-context-flag\" property allows a \"flag\" to be added to the CompilerContext instance\n * at compile time if the attribute is found on the node. This is helpful\n * if an attribute uses a pattern and a transformer wants to have a simple\n * check to see if any Node in the template has an attribute that matched the pattern.\n *\n * Example:\n *\n * \"set-context-flag\": \"myCustomFlag\"\n *\n * A Node instance can be checked if it has a flag set as shown below:\n *\n * if (context.isFlagSet('myCustomFlag')) { ... }\n *\n *\n */\n setContextFlag(value) {\n var attr = this.attr;\n attr.setContextFlag = value;\n }\n\n /**\n * An attribute can be marked for ignore. Ignored attributes\n * will be ignored during compilation.\n */\n ignore(value) {\n var attr = this.attr;\n if (value === true) {\n attr.ignore = true;\n }\n }\n\n autocomplete(value) {\n this.attr.autocomplete = value;\n }\n\n enum(value) {\n this.attr.enum = value;\n }\n\n deprecated(value) {\n this.attr.deprecated = value;\n }\n\n name(value) {\n this.attr.name = value;\n }\n\n html(value) {\n this.attr.html = value === true;\n }\n}\n\nfunction loadAttributeFromProps(attrName, attrProps, dependencyChain) {\n assert.ok(typeof attrName === \"string\");\n assert.ok(dependencyChain, '\"dependencyChain\" is required');\n\n var attr = new types.Attribute(attrName);\n\n var attrLoader = new AttrLoader(attr, dependencyChain);\n\n try {\n attrLoader.load(attrProps);\n } catch (err) {\n throw createError(\n 'Unable to load attribute \"' +\n attrName +\n '\" (' +\n dependencyChain +\n \"): \" +\n err,\n err\n );\n }\n\n return attr;\n}\n\nloadAttributeFromProps.isSupportedProperty = function (name) {\n return hasOwnProperty.call(AttrLoader.prototype, name);\n};\n\nmodule.exports = loadAttributeFromProps;\n"],"file":"loadAttributeFromProps.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/loadAttributes.js"],"names":["ok","require","loaders","module","exports","loadAttributes","value","parent","dependencyChain","attrName","attrProps","attr","loadAttributeFromProps","append","addAttribute"],"mappings":"aAAA,IAAIA,EAAE,GAAGC,OAAO,CAAC,QAAD,CAAP,CAAkBD,EAA3B;AACA,IAAIE,OAAO,GAAGD,OAAO,CAAC,WAAD,CAArB;;AAEAE,MAAM,CAACC,OAAP,GAAiB,SAASC,cAAT,CAAwBC,KAAxB,EAA+BC,MAA/B,EAAuCC,eAAvC,EAAwD;AACvER,EAAAA,EAAE,CAACO,MAAD,CAAF;AACAP,EAAAA,EAAE,CAACQ,eAAD,CAAF;;AAEA,OAAK,MAAMC,QAAX,IAAuBH,KAAvB,EAA8B;AAC5B,UAAMI,SAAS,GAAGJ,KAAK,CAACG,QAAD,CAAvB;AACA,QAAIE,IAAI,GAAGT,OAAO,CAACU,sBAAR;AACTH,IAAAA,QADS;AAETC,IAAAA,SAFS;AAGTF,IAAAA,eAAe,CAACK,MAAhB,CAAuB,MAAMJ,QAA7B,CAHS,CAAX;;;AAMAF,IAAAA,MAAM,CAACO,YAAP,CAAoBH,IAApB;AACD;AACF,CAdD","sourcesContent":["var ok = require(\"assert\").ok;\nvar loaders = require(\"./loaders\");\n\nmodule.exports = function loadAttributes(value, parent, dependencyChain) {\n ok(parent);\n ok(dependencyChain);\n\n for (const attrName in value) {\n const attrProps = value[attrName];\n var attr = loaders.loadAttributeFromProps(\n attrName,\n attrProps,\n dependencyChain.append(\"@\" + attrName)\n );\n\n parent.addAttribute(attr);\n }\n};\n"],"file":"loadAttributes.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/loadTagFromFile.js"],"names":["jsonFileReader","require","types","cache","loaders","ok","loadTagFromFile","filePath","tag","get","Tag","put","tagProps","readFileSync","loadTagFromProps","module","exports"],"mappings":"aAAA,IAAIA,cAAc,GAAGC,OAAO,CAAC,oBAAD,CAA5B;AACA,IAAIC,KAAK,GAAGD,OAAO,CAAC,SAAD,CAAnB;AACA,IAAIE,KAAK,GAAGF,OAAO,CAAC,SAAD,CAAnB;AACA,IAAIG,OAAO,GAAGH,OAAO,CAAC,WAAD,CAArB;;AAEA,IAAII,EAAE,GAAGJ,OAAO,CAAC,QAAD,CAAP,CAAkBI,EAA3B;;AAEA,SAASC,eAAT,CAAyBC,QAAzB,EAAmC;AACjCF,EAAAA,EAAE,CAACE,QAAD,EAAW,wBAAX,CAAF;;AAEA,MAAIC,GAAG,GAAGL,KAAK,CAACM,GAAN,CAAUF,QAAV,CAAV;;AAEA;AACA;AACA,MAAI,CAACC,GAAL,EAAU;AACRA,IAAAA,GAAG,GAAG,IAAIN,KAAK,CAACQ,GAAV,CAAcH,QAAd,CAAN;AACAJ,IAAAA,KAAK,CAACQ,GAAN,CAAUJ,QAAV,EAAoBC,GAApB;;AAEA,QAAII,QAAQ,GAAGZ,cAAc,CAACa,YAAf,CAA4BN,QAA5B,CAAf;AACAH,IAAAA,OAAO,CAACU,gBAAR,CAAyBN,GAAzB,EAA8BI,QAA9B;AACD;;AAED,SAAOJ,GAAP;AACD;;AAEDO,MAAM,CAACC,OAAP,GAAiBV,eAAjB","sourcesContent":["var jsonFileReader = require(\"./json-file-reader\");\nvar types = require(\"./types\");\nvar cache = require(\"./cache\");\nvar loaders = require(\"./loaders\");\n\nvar ok = require(\"assert\").ok;\n\nfunction loadTagFromFile(filePath) {\n ok(filePath, '\"filePath\" is required');\n\n var tag = cache.get(filePath);\n\n // Only load a tag once by caching the loaded tags using the file\n // system file path as the key\n if (!tag) {\n tag = new types.Tag(filePath);\n cache.put(filePath, tag);\n\n var tagProps = jsonFileReader.readFileSync(filePath);\n loaders.loadTagFromProps(tag, tagProps);\n }\n\n return tag;\n}\n\nmodule.exports = loadTagFromFile;\n"],"file":"loadTagFromFile.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/loadTagFromProps.js"],"names":["ok","require","resolveFrom","silent","propertyHandlers","isObjectEmpty","nodePath","createError","taglibFS","types","loaders","markoModules","hasOwnProperty","Object","prototype","resolveRelative","dirname","value","removeDashes","str","replace","match","lower","toUpperCase","hasAttributes","tagProps","attributes","name","call","startsWith","normalizeHook","path","hook","TagLoader","constructor","tag","dependencyChain","filePath","dir","load","type","targetProperty","preserveName","toString","_handleVar","nestedVariable","nameFromAttribute","Error","addNestedVariable","parts","split","i","part","hasNestedTag","hasAttr","nestedTagTargetProperty","length","substring","attrProps","k","propNameDashes","isSupportedProperty","isSupportedAttributeProperty","keys","join","attrName","attr","loadAttributeFromProps","append","addAttribute","nestedTag","Tag","loadTagFromProps","isNestedTagRepeated","endsWith","slice","nestedTagName","isRepeated","addNestedTag","renderer","template","resolve","curFS","statSync","_","loadAttributes","migrator","migrate","Array","isArray","forEach","migrators","push","codeGenerator","translate","translator","nodeFactory","parse","parser","transformer","transform","transformers","analyze","analyzer","nestedTags","nestedTagDef","openTagOnly","description","autocomplete","parseOptions","deprecated","attributeGroups","concat","html","htmlType","featureFlags","tagLoader","err","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\n\nvar ok = require(\"assert\").ok;\nvar resolveFrom = require(\"resolve-from\").silent;\nvar propertyHandlers = require(\"property-handlers\");\nvar isObjectEmpty = require(\"raptor-util/isObjectEmpty\");\nvar nodePath = require(\"path\");\nvar createError = require(\"raptor-util/createError\");\nvar taglibFS = require(\"../fs\");\nvar types = require(\"./types\");\nvar loaders = require(\"./loaders\");\nvar markoModules = require(\"../../../modules\");\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveRelative(dirname, value) {\n return value[0] === \".\" ? resolveFrom(dirname, value) : value;\n}\n\nfunction removeDashes(str) {\n return str.replace(/-([a-z])/g, function (match, lower) {\n return lower.toUpperCase();\n });\n}\n\nfunction hasAttributes(tagProps) {\n if (tagProps.attributes != null) {\n return true;\n }\n\n for (var name in tagProps) {\n if (hasOwnProperty.call(tagProps, name) && name.startsWith(\"@\")) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction normalizeHook(dirname, value) {\n if (typeof value === \"string\") {\n value = resolveRelative(dirname, value);\n return {\n path: value,\n get hook() {\n return markoModules.require(value);\n }\n };\n }\n return { hook: value };\n}\n\n/**\n * We load tag definition using this class. Properties in the taglib\n * definition (which is just a JavaScript object with properties)\n * are mapped to handler methods in an instance of this type.\n *\n * @param {Tag} tag The initially empty Tag instance that we populate\n * @param {String} dirname The full file system path associated with the tag being loaded\n * @param {String} path An informational path associated with this tag (used for error reporting)\n */\nclass TagLoader {\n constructor(tag, dependencyChain) {\n this.tag = tag;\n this.dependencyChain = dependencyChain;\n\n this.filePath = tag.filePath;\n this.dirname = tag.dir || tag.dirname;\n }\n\n load(tagProps) {\n if (!hasAttributes(tagProps)) {\n // allow any attributes if no attributes are declared\n tagProps.attributes = {\n \"*\": {\n type: \"string\",\n targetProperty: null,\n preserveName: false\n }\n };\n }\n\n propertyHandlers(tagProps, this, this.dependencyChain.toString());\n }\n\n _handleVar(value, dependencyChain) {\n var tag = this.tag;\n\n var nestedVariable;\n\n if (typeof value === \"string\") {\n nestedVariable = {\n name: value\n };\n } else {\n nestedVariable = {};\n\n propertyHandlers(\n value,\n {\n name: function (value) {\n nestedVariable.name = value;\n },\n\n nameFromAttribute: function (value) {\n nestedVariable.nameFromAttribute = value;\n }\n },\n dependencyChain.toString()\n );\n\n if (!nestedVariable.name && !nestedVariable.nameFromAttribute) {\n throw new Error(\n 'The \"name\" or \"name-from-attribute\" attribute is required for a nested variable (' +\n dependencyChain +\n \")\"\n );\n }\n }\n\n tag.addNestedVariable(nestedVariable);\n }\n\n /**\n * This is handler is for any properties that didn't match\n * one of the default property handlers. This is used to\n * match properties in the form of \"@attr_name\" or\n * \"<nested_tag_name>\"\n */\n \"*\"(name, value) {\n var tag = this.tag;\n var dependencyChain = this.dependencyChain;\n var parts = name.split(/\\s+|\\s+[,]\\s+/);\n\n var i;\n var part;\n\n var hasNestedTag = false;\n var hasAttr = false;\n var nestedTagTargetProperty = null;\n\n // We do one pass to figure out if there is an\n // attribute or nested tag or both\n for (i = 0; i < parts.length; i++) {\n part = parts[i];\n if (part.startsWith(\"@\")) {\n hasAttr = true;\n\n if (i === 0) {\n // Use the first attribute value as the name of the target property\n nestedTagTargetProperty = part.substring(1);\n }\n } else if (part.startsWith(\"<\")) {\n hasNestedTag = true;\n } else {\n // Unmatched property that is not an attribute or a\n // nested tag\n return false;\n }\n }\n\n var attrProps = {};\n var tagProps = {};\n var k;\n\n if (value != null && typeof value === \"object\") {\n for (k in value) {\n if (hasOwnProperty.call(value, k)) {\n if (k.startsWith(\"@\") || k.startsWith(\"<\")) {\n // Move over all of the attributes and nested tags\n // to the tag definition.\n tagProps[k] = value[k];\n delete value[k];\n } else {\n // The property is not a shorthand attribute or shorthand\n // tag so move it over to either the tag definition\n // or the attribute definition or both the tag definition\n // and attribute definition.\n var propNameDashes = removeDashes(k);\n\n if (\n isSupportedProperty(propNameDashes) &&\n loaders.isSupportedAttributeProperty(propNameDashes)\n ) {\n // Move over all of the properties that are associated with a tag\n // and attribute\n tagProps[k] = value[k];\n attrProps[k] = value[k];\n delete value[k];\n } else if (isSupportedProperty(propNameDashes)) {\n // Move over all of the properties that are associated with a tag\n tagProps[k] = value[k];\n delete value[k];\n } else if (loaders.isSupportedAttributeProperty(propNameDashes)) {\n // Move over all of the properties that are associated with an attr\n attrProps[k] = value[k];\n delete value[k];\n }\n }\n }\n }\n\n // If there are any left over properties then something is wrong\n // with the user's taglib.\n if (!isObjectEmpty(value)) {\n throw new Error(\n \"Unsupported properties of [\" + Object.keys(value).join(\", \") + \"]\"\n );\n }\n\n var type = attrProps.type;\n if (!type && hasAttr && hasNestedTag) {\n // If we have an attribute and a nested tag then default\n // the attribute type to \"expression\"\n attrProps.type = \"expression\";\n }\n } else if (typeof value === \"string\") {\n if (hasNestedTag && hasAttr) {\n tagProps = attrProps = {\n type: value\n };\n } else if (hasNestedTag) {\n tagProps = {\n type: value\n };\n } else {\n attrProps = {\n type: value\n };\n }\n }\n\n // Now that we have separated out attribute properties and tag properties\n // we need to create the actual attributes and nested tags\n for (i = 0; i < parts.length; i++) {\n part = parts[i];\n if (part.startsWith(\"@\")) {\n // This is a shorthand attribute\n var attrName = part.substring(1);\n\n var attr = loaders.loadAttributeFromProps(\n attrName,\n attrProps,\n dependencyChain.append(part)\n );\n\n tag.addAttribute(attr);\n } else if (part.startsWith(\"<\")) {\n // This is a shorthand nested tag\n let nestedTag = new types.Tag(this.filePath);\n\n loadTagFromProps(nestedTag, tagProps, dependencyChain.append(part));\n\n // We use the '[]' suffix to indicate that a nested tag\n // can be repeated\n var isNestedTagRepeated = false;\n if (part.endsWith(\"[]\")) {\n isNestedTagRepeated = true;\n part = part.slice(0, -2);\n }\n\n var nestedTagName = part.substring(1, part.length - 1);\n nestedTag.name = nestedTagName;\n nestedTag.isRepeated = nestedTag.isRepeated || isNestedTagRepeated;\n // Use the name of the attribute as the target property unless\n // this target property was explicitly provided\n nestedTag.targetProperty =\n attrProps.targetProperty || nestedTagTargetProperty;\n tag.addNestedTag(nestedTag);\n\n if (!nestedTag.isRepeated) {\n let attr = loaders.loadAttributeFromProps(\n nestedTag.targetProperty,\n { type: \"object\" },\n dependencyChain.append(part)\n );\n\n tag.addAttribute(attr);\n }\n } else {\n return false;\n }\n }\n }\n\n /**\n * The tag name\n * @param {String} value The tag name\n */\n name(value) {\n var tag = this.tag;\n tag.name = value;\n }\n\n /**\n * The path to the renderer JS module to use for this tag.\n *\n * NOTE: We use the equivalent of require.resolve to resolve the JS module\n * \t\t and use the tag directory as the \"from\".\n *\n * @param {String} value The renderer path\n */\n renderer(value) {\n this.tag.renderer = resolveRelative(this.dirname, value);\n }\n\n /**\n * A tag can use a renderer or a template to do the rendering. If\n * a template is provided then the value should be the path to the\n * template to use to render the custom tag.\n */\n template(value) {\n var tag = this.tag;\n var dirname = this.dirname;\n\n var path = nodePath.resolve(dirname, value);\n\n try {\n taglibFS.curFS.statSync(path);\n tag.template = path;\n } catch (_) {\n throw new Error('Template at path \"' + path + '\" does not exist.');\n }\n }\n\n /**\n * An Object where each property maps to an attribute definition.\n * The property key will be the attribute name and the property value\n * will be the attribute definition. Example:\n * {\n * \"attributes\": {\n * \"foo\": \"string\",\n * \"bar\": \"expression\"\n * }\n * }\n */\n attributes(value) {\n var tag = this.tag;\n\n loaders.loadAttributes(\n value,\n tag,\n this.dependencyChain.append(\"attributes\")\n );\n }\n\n /**\n * Deprecated\n */\n migrator(value) {\n this.migrate(value);\n }\n /**\n * A custom tag can be mapped to module that is used\n * migrate deprecated features to modern features.\n */\n migrate(value) {\n if (Array.isArray(value)) {\n value.forEach(this.migrate, this);\n } else {\n this.tag.migrators.push(normalizeHook(this.dirname, value));\n }\n }\n\n /**\n * Deprecated\n */\n codeGenerator(value) {\n this.translate(value);\n }\n\n /**\n * A custom tag can be mapped to module that is is used\n * to generate compile-time code for the custom tag. A\n * node type is created based on the methods and methods\n * exported by the code codegen module.\n */\n translate(value) {\n this.tag.translator = normalizeHook(this.dirname, value);\n }\n\n /**\n * Deprecated\n */\n nodeFactory(value) {\n this.parse(value);\n }\n\n /**\n * A custom tag can be mapped to a compile-time Node that gets\n * added to the parsed Abstract Syntax Tree (AST). The Node can\n * then generate custom JS code at compile time. The value\n * should be a path to a JS module that gets resolved using the\n * equivalent of require.resolve(path)\n */\n parse(value) {\n this.tag.parser = normalizeHook(this.dirname, value);\n }\n\n /**\n * Deprecated\n */\n transformer(value) {\n this.transform(value);\n }\n\n /**\n * If a custom tag has an associated transformer then the transformer\n * will be called on the compile-time Node. The transformer can manipulate\n * the AST using the DOM-like API to change how the code gets generated.\n */\n transform(value) {\n if (Array.isArray(value)) {\n value.forEach(this.transform, this);\n } else {\n this.tag.transformers.push(normalizeHook(this.dirname, value));\n }\n }\n\n /**\n * A custom tag can be mapped to module that is is used\n * to analyze code and cache the result in memory.\n * This analysis data should be read by translate hooks.\n */\n analyze(value) {\n this.tag.analyzer = normalizeHook(this.dirname, value);\n }\n\n /**\n * The tag type.\n */\n type(value) {\n var tag = this.tag;\n tag.type = value;\n }\n\n isRepeated(value) {\n var tag = this.tag;\n tag.isRepeated = value;\n }\n\n targetProperty(value) {\n var tag = this.tag;\n tag.targetProperty = value;\n }\n\n /**\n * Declare a nested tag.\n *\n * Example:\n * {\n * ...\n * \"nested-tags\": {\n * \"tab\": {\n * \"target-property\": \"tabs\",\n * \"is-repeated\": true\n * }\n * }\n * }\n */\n nestedTags(value) {\n var filePath = this.filePath;\n var tag = this.tag;\n\n for (const nestedTagName in value) {\n const nestedTagDef = value[nestedTagName];\n var dependencyChain = this.dependencyChain.append(\n `nestedTags[\"${nestedTagName}\"]`\n );\n var nestedTag = new types.Tag(filePath);\n\n loadTagFromProps(nestedTag, nestedTagDef, dependencyChain);\n\n nestedTag.name = nestedTagName;\n tag.addNestedTag(nestedTag);\n\n if (!nestedTag.isRepeated) {\n let attr = loaders.loadAttributeFromProps(\n nestedTag.targetProperty,\n { type: \"object\" },\n dependencyChain\n );\n\n tag.addAttribute(attr);\n }\n }\n }\n\n openTagOnly(value) {\n this.tag.openTagOnly = value;\n }\n\n /**\n * The description of the tag. Only used for documentation.\n */\n description(value) {\n this.tag.description = value;\n }\n\n autocomplete(value) {\n this.tag.autocomplete = value;\n }\n\n parseOptions(value) {\n this.tag.parseOptions = value;\n }\n\n deprecated(value) {\n this.tag.deprecated = value;\n }\n\n attributeGroups(value) {\n if (!value) {\n return;\n }\n\n var attributeGroups =\n this.tag.attributeGroups || (this.tag.attributeGroups = []);\n this.tag.attributeGroups = attributeGroups.concat(value);\n }\n\n html(value) {\n this.tag.html = value === true;\n }\n\n htmlType(value) {\n this.tag.htmlType = value;\n }\n\n featureFlags(value) {\n this.tag.featureFlags = value;\n }\n}\n\nfunction isSupportedProperty(name) {\n return hasOwnProperty.call(TagLoader.prototype, name);\n}\n\nfunction loadTagFromProps(tag, tagProps, dependencyChain) {\n ok(typeof tagProps === \"object\", 'Invalid \"tagProps\"');\n ok(dependencyChain, '\"dependencyChain\" is required');\n\n var tagLoader = new TagLoader(tag, dependencyChain);\n\n try {\n tagLoader.load(tagProps);\n } catch (err) {\n throw createError(\n \"Unable to load tag (\" + dependencyChain + \"): \" + err,\n err\n );\n }\n\n return tag;\n}\n\nmodule.exports = loadTagFromProps;\n\nloadTagFromProps.isSupportedProperty = isSupportedProperty;\n"],"file":"loadTagFromProps.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/taglib/loader/loadTaglibFromFile.js"],"names":["jsonFileReader","require","types","cache","loaders","ok","loadFromFile","filePath","taglib","get","Taglib","put","taglibProps","readFileSync","loadTaglibFromProps","module","exports"],"mappings":"aAAA,IAAIA,cAAc,GAAGC,OAAO,CAAC,oBAAD,CAA5B;AACA,IAAIC,KAAK,GAAGD,OAAO,CAAC,SAAD,CAAnB;AACA,IAAIE,KAAK,GAAGF,OAAO,CAAC,SAAD,CAAnB;AACA,IAAIG,OAAO,GAAGH,OAAO,CAAC,WAAD,CAArB;;AAEA,IAAII,EAAE,GAAGJ,OAAO,CAAC,QAAD,CAAP,CAAkBI,EAA3B;;AAEA,SAASC,YAAT,CAAsBC,QAAtB,EAAgC;AAC9BF,EAAAA,EAAE,CAACE,QAAD,EAAW,wBAAX,CAAF;;AAEA,MAAIC,MAAM,GAAGL,KAAK,CAACM,GAAN,CAAUF,QAAV,CAAb;;AAEA;AACA;AACA,MAAI,CAACC,MAAL,EAAa;AACXA,IAAAA,MAAM,GAAG,IAAIN,KAAK,CAACQ,MAAV,CAAiBH,QAAjB,CAAT;AACAJ,IAAAA,KAAK,CAACQ,GAAN,CAAUJ,QAAV,EAAoBC,MAApB;;AAEA,QAAII,WAAW,GAAGZ,cAAc,CAACa,YAAf,CAA4BN,QAA5B,CAAlB;AACAH,IAAAA,OAAO,CAACU,mBAAR,CAA4BN,MAA5B,EAAoCI,WAApC;AACD;;AAED,SAAOJ,MAAP;AACD;;AAEDO,MAAM,CAACC,OAAP,GAAiBV,YAAjB","sourcesContent":["var jsonFileReader = require(\"./json-file-reader\");\nvar types = require(\"./types\");\nvar cache = require(\"./cache\");\nvar loaders = require(\"./loaders\");\n\nvar ok = require(\"assert\").ok;\n\nfunction loadFromFile(filePath) {\n ok(filePath, '\"filePath\" is required');\n\n var taglib = cache.get(filePath);\n\n // Only load a taglib once by caching the loaded taglibs using the file\n // system file path as the key\n if (!taglib) {\n taglib = new types.Taglib(filePath);\n cache.put(filePath, taglib);\n\n var taglibProps = jsonFileReader.readFileSync(filePath);\n loaders.loadTaglibFromProps(taglib, taglibProps);\n }\n\n return taglib;\n}\n\nmodule.exports = loadFromFile;\n"],"file":"loadTaglibFromFile.js"}
|