@marko/compiler 5.20.8 → 5.21.1
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 -9
- package/dist/babel-plugin/parser.js +389 -277
- 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/taglib/marko-html.json +3 -0
- package/dist/traverse.d.ts +16 -9
- package/dist/types.d.ts +30 -5
- 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/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/parse-arguments.js +0 -15
- package/dist/babel-plugin/util/parse-arguments.js.map +0 -1
- package/dist/babel-plugin/util/parse-attributes.js +0 -89
- package/dist/babel-plugin/util/parse-attributes.js.map +0 -1
- package/dist/babel-plugin/util/parse-classname-shorthand.js +0 -65
- package/dist/babel-plugin/util/parse-classname-shorthand.js.map +0 -1
- package/dist/babel-plugin/util/parse-id-shorthand.js +0 -34
- package/dist/babel-plugin/util/parse-id-shorthand.js.map +0 -1
- package/dist/babel-plugin/util/parse-params.js +0 -10
- package/dist/babel-plugin/util/parse-params.js.map +0 -1
- package/dist/babel-plugin/util/parse-var.js +0 -8
- package/dist/babel-plugin/util/parse-var.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/file.js"],"names":["CWD","process","cwd","MarkoFile","File","addHelper","Error","buildCodeFrameError","node","msg","SyntaxError","loc","frame","code","start","line","column","end","undefined","highlightCode","finalMsg","path","relative","opts","filename","err","Object","defineProperty","get","set"],"mappings":"uJAAA;AACA;AACA;AACA,MAAMA,GAAG,GAAGC,OAAO,CAACC,GAAR,EAAZ;;AAEO,MAAMC,SAAN,SAAwBC,UAAxB,CAA6B;AAClCC,EAAAA,SAAS,GAAG;AACV,UAAM,IAAIC,KAAJ,CAAU,qDAAV,CAAN;AACD;;AAEDC,EAAAA,mBAAmB,CAACC,IAAD,EAAOC,GAAP,EAAYH,KAAK,GAAGI,WAApB,EAAiC;AAClD,UAAM,EAAEC,GAAF,KAAUH,IAAhB;AACA,UAAMI,KAAK;AACTD,IAAAA,GAAG;AACH;AACE,SAAKE,IADP;AAEE;AACEC,MAAAA,KAAK,EAAE;AACLC,QAAAA,IAAI,EAAEJ,GAAG,CAACG,KAAJ,CAAUC,IADX;AAELC,QAAAA,MAAM,EAAEL,GAAG,CAACG,KAAJ,CAAUE,MAAV,GAAmB,CAFtB,EADT;;AAKEC,MAAAA,GAAG;AACDN,MAAAA,GAAG,CAACM,GAAJ,IAAWN,GAAG,CAACG,KAAJ,CAAUC,IAAV,KAAmBJ,GAAG,CAACM,GAAJ,CAAQF,IAAtC;AACI;AACEA,QAAAA,IAAI,EAAEJ,GAAG,CAACM,GAAJ,CAAQF,IADhB;AAEEC,QAAAA,MAAM,EAAEL,GAAG,CAACM,GAAJ,CAAQD,MAAR,GAAiB,CAF3B,EADJ;;AAKIE,MAAAA,SAXR,EAFF;;AAeE,MAAEC,aAAa,EAAE,IAAjB,EAfF,CAFF;;;AAoBA,UAAMC,QAAQ,GAAI,GAAEC,cAAKC,QAAL,CAActB,GAAd,EAAmB,KAAKuB,IAAL,CAAUC,QAA7B,CAAuC;AACzDb,IAAAA,GAAG,GAAI,IAAGA,GAAG,CAACG,KAAJ,CAAUC,IAAK,IAAGJ,GAAG,CAACG,KAAJ,CAAUE,MAAV,GAAmB,CAAE,GAA9C,GAAmD;AACvD,SAAIP,GAAI,KAAIG,KAAK,IAAI,EAAG,EAFzB;;AAIA,UAAMa,GAAG,GAAG,IAAInB,KAAJ,EAAZ;;AAEA;AACAoB,IAAAA,MAAM,CAACC,cAAP,CAAsBF,GAAtB,EAA2B,SAA3B,EAAsC;AACpCG,MAAAA,GAAG,GAAG;AACJ,eAAOR,QAAP;AACD,OAHmC;AAIpCS,MAAAA,GAAG,GAAG,CAAE,CAJ4B,EAAtC;;AAMA,WAAOJ,GAAP;AACD,GAzCiC,C","sourcesContent":["import path from \"path\";\nimport { File } from \"@babel/core\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nconst CWD = process.cwd();\n\nexport class MarkoFile extends File {\n addHelper() {\n throw new Error(\"addHelper is not supported during a Marko transform\");\n }\n\n buildCodeFrameError(node, msg, Error = SyntaxError) {\n const { loc } = node;\n const frame =\n loc &&\n codeFrameColumns(\n this.code,\n {\n start: {\n line: loc.start.line,\n column: loc.start.column + 1\n },\n end:\n loc.end && loc.start.line === loc.end.line\n ? {\n line: loc.end.line,\n column: loc.end.column + 1\n }\n : undefined\n },\n { highlightCode: true }\n );\n\n const finalMsg = `${path.relative(CWD, this.opts.filename)}${\n loc ? `(${loc.start.line},${loc.start.column + 1})` : \"\"\n }: ${msg}\\n${frame || \"\"}`;\n\n const err = new Error();\n\n // Prevent babel from changing our error message.\n Object.defineProperty(err, \"message\", {\n get() {\n return finalMsg;\n },\n set() {}\n });\n return err;\n }\n}\n"],"file":"file.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/babel-plugin/index.js"],"names":["SOURCE_FILES","WeakMap","api","markoOpts","assertVersion","translator","output","optimize","undefined","cache","using","shouldOptimize","translate","Error","resolveVirtualDependency","curOpts","name","manipulateOptions","opts","parserOverride","code","prevFS","curFS","fileSystem","file","getMarkoFile","finalAst","t","cloneNode","ast","set","pre","metadata","sourceFile","get","taglibLookup","___taglibLookup","rootTranslators","buildCodeFrameError","buildError","hub","marko","shallowClone","MarkoFile","prototype","bind","___getMarkoFile","id","taglibsById","addPlugin","push","traverseAll","watchFiles","filter","unique","fileOpts","compileCache","Map","filename","isSource","isMigrate","canCache","contentHash","update","digest","cacheKey","cached","watchFile","mtime","Infinity","statSync","time","path","dirname","type","program","sourceType","body","directives","meta","macros","deps","tags","start","end","length","loc","line","column","scope","crawl","rootMigrators","migrator","migrators","migrate","rootTransformers","transformer","transformers","transform","taglibId","filePath","endsWith","Date","now","analyze","e","delete","data","clone","key","v","Ctor","constructor","Array","Object","Set","RegExp","mergeVisitors","all","isArray","visitors","merge","explode","Program","mergedVisitors","state","enter","_call","traverse","exit","arr","plugin","hook","default","item","i","list","indexOf"],"mappings":"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","sourcesContent":["import path from \"path\";\nimport { createHash } from \"crypto\";\nimport * as t from \"../babel-types\";\nimport { getLoc, getTemplateId } from \"@marko/babel-utils\";\nimport { visitors } from \"@babel/traverse\";\nimport { buildLookup } from \"../taglib\";\nimport { parseMarko } from \"./parser\";\nimport { visitor as migrate } from \"./plugins/migrate\";\nimport { visitor as transform } from \"./plugins/transform\";\nimport { MarkoFile } from \"./file\";\nimport { curFS, setFS } from \"../taglib/fs\";\nimport tryLoadTranslator from \"../util/try-load-translator\";\nimport shouldOptimize from \"../util/should-optimize\";\n\nconst SOURCE_FILES = new WeakMap();\n\nexport default (api, markoOpts) => {\n api.assertVersion(7);\n const translator = (markoOpts.translator = tryLoadTranslator(\n markoOpts.translator\n ));\n markoOpts.output = markoOpts.output || \"html\";\n\n if (markoOpts.optimize === undefined) {\n api.cache.using(shouldOptimize);\n markoOpts.optimize = shouldOptimize();\n }\n\n if (!translator || !translator.translate) {\n throw new Error(\n \"@marko/compiler: translator must provide a translate visitor object\"\n );\n }\n\n if (\n markoOpts.output === \"hydrate\" &&\n typeof markoOpts.resolveVirtualDependency !== \"function\"\n ) {\n throw new Error(\n `@marko/compiler: the \"resolveVirtualDependency\" option must be supplied when output is \"hydrate\".`\n );\n }\n\n let curOpts;\n\n return {\n name: \"marko\",\n manipulateOptions(opts) {\n curOpts = opts;\n },\n parserOverride(code) {\n let prevFS = curFS;\n setFS(markoOpts.fileSystem);\n try {\n const file = getMarkoFile(code, curOpts, markoOpts);\n const finalAst = t.cloneNode(file.ast, true);\n SOURCE_FILES.set(finalAst, file);\n return finalAst;\n } finally {\n setFS(prevFS);\n }\n },\n pre(file) {\n let prevFS = curFS;\n curOpts = undefined;\n setFS(markoOpts.fileSystem);\n try {\n if (markoOpts.output === \"source\" || markoOpts.output === \"migrate\") {\n return file;\n }\n\n const { ast, metadata } = file;\n const sourceFile = SOURCE_FILES.get(ast);\n const taglibLookup = sourceFile.___taglibLookup;\n const rootTranslators = [];\n const { buildCodeFrameError } = file;\n const { buildError } = file.hub;\n metadata.marko = shallowClone(sourceFile.metadata.marko);\n file.buildCodeFrameError = MarkoFile.prototype.buildCodeFrameError;\n file.hub.buildError = file.buildCodeFrameError.bind(file);\n file.markoOpts = markoOpts;\n file.___taglibLookup = taglibLookup;\n file.___getMarkoFile = getMarkoFile;\n\n if (markoOpts.output !== \"hydrate\") {\n for (const id in taglibLookup.taglibsById) {\n addPlugin(\n metadata.marko,\n rootTranslators,\n taglibLookup.taglibsById[id].translator\n );\n }\n }\n\n rootTranslators.push(translator.translate);\n traverseAll(file, rootTranslators);\n file.buildCodeFrameError = buildCodeFrameError;\n file.hub.buildError = buildError;\n file.markoOpts =\n file.___taglibLookup =\n file.___getMarkoFile =\n undefined;\n\n metadata.marko.watchFiles = metadata.marko.watchFiles.filter(unique);\n } finally {\n setFS(prevFS);\n }\n }\n };\n};\n\nexport function getMarkoFile(code, fileOpts, markoOpts) {\n const { translator } = markoOpts;\n let compileCache = markoOpts.cache.get(translator);\n\n if (!compileCache) {\n markoOpts.cache.set(translator, (compileCache = new Map()));\n }\n\n const { filename } = fileOpts;\n const isSource = markoOpts.output === \"source\";\n const isMigrate = markoOpts.output === \"migrate\";\n const canCache = !(isSource || isMigrate);\n const id = getTemplateId(markoOpts.optimize, filename);\n const contentHash = canCache && createHash(\"MD5\").update(code).digest(\"hex\");\n const cacheKey = canCache && createHash(\"MD5\").update(id).digest(\"hex\");\n\n let cached = canCache && compileCache.get(cacheKey);\n\n if (cached) {\n if (cached.contentHash !== contentHash) {\n // File content changed, invalidate the cache.\n cached = undefined;\n } else {\n for (const watchFile of cached.file.metadata.marko.watchFiles) {\n let mtime = Infinity;\n try {\n mtime = markoOpts.fileSystem.statSync(watchFile).mtime;\n // eslint-disable-next-line no-empty\n } catch {}\n\n if (mtime > cached.time) {\n // Some dependency changed, invalidate the cache.\n cached = undefined;\n break;\n }\n }\n }\n }\n\n if (cached) {\n return cached.file;\n }\n\n const taglibLookup = buildLookup(path.dirname(filename), translator);\n\n const file = new MarkoFile(fileOpts, {\n code,\n ast: {\n type: \"File\",\n program: {\n type: \"Program\",\n sourceType: \"module\",\n body: [],\n directives: []\n }\n }\n });\n\n const meta = (file.metadata.marko = {\n id,\n macros: {},\n deps: [],\n tags: [],\n watchFiles: []\n });\n\n file.markoOpts = markoOpts;\n file.___taglibLookup = taglibLookup;\n file.___getMarkoFile = getMarkoFile;\n\n file.ast.start = file.ast.program.start = 0;\n file.ast.end = file.ast.program.end = code.length - 1;\n file.ast.loc = file.ast.program.loc = {\n start: { line: 0, column: 0 },\n end: getLoc(file, file.ast.end)\n };\n\n parseMarko(file);\n\n if (isSource) {\n return file;\n }\n\n file.path.scope.crawl(); // Initialize bindings.\n\n const rootMigrators = [];\n for (const id in taglibLookup.taglibsById) {\n for (const migrator of taglibLookup.taglibsById[id].migrators) {\n addPlugin(meta, rootMigrators, migrator);\n }\n }\n\n rootMigrators.push(migrate);\n traverseAll(file, rootMigrators);\n\n if (isMigrate) {\n return file;\n }\n\n const rootTransformers = [];\n for (const id in taglibLookup.taglibsById) {\n for (const transformer of taglibLookup.taglibsById[id].transformers) {\n addPlugin(meta, rootTransformers, transformer);\n }\n }\n\n rootTransformers.push(transform);\n traverseAll(file, rootTransformers);\n\n for (const taglibId in taglibLookup.taglibsById) {\n const { filePath } = taglibLookup.taglibsById[taglibId];\n\n if (\n filePath[filePath.length - 5] === \".\" &&\n filePath.endsWith(\"marko.json\")\n ) {\n meta.watchFiles.push(filePath);\n }\n }\n\n compileCache.set(cacheKey, {\n time: Date.now(),\n file,\n contentHash\n });\n\n if (translator.analyze) {\n try {\n traverseAll(file, translator.analyze);\n } catch (e) {\n compileCache.delete(cacheKey);\n throw e;\n }\n }\n\n return file;\n}\n\nfunction shallowClone(data) {\n const clone = {};\n\n for (const key in data) {\n const v = data[key];\n\n if (v !== undefined) {\n if (v === null || typeof v !== \"object\") {\n clone[key] = v;\n } else {\n const Ctor = v.constructor;\n\n switch (Ctor) {\n case Array:\n clone[key] = [...v];\n break;\n case Object:\n case null:\n clone[key] = { ...v };\n break;\n case Map:\n case Set:\n case Date:\n case RegExp:\n clone[key] = new Ctor(v);\n break;\n\n default:\n throw new Error(`Unsupported metadata type of ${Ctor.name}`);\n }\n }\n }\n }\n\n return clone;\n}\n\nfunction mergeVisitors(all) {\n if (Array.isArray(all)) {\n if (all.length === 1) {\n all = all[0];\n } else {\n return visitors.merge(all);\n }\n }\n\n return visitors.explode(all);\n}\n\nfunction traverseAll(file, visitors) {\n const program = file.path;\n const { Program, ...mergedVisitors } = mergeVisitors(visitors);\n program.state = {};\n\n // Traverse only walks into children by default\n // This manually traverses into the Program node as well.\n if (!(Program && Program.enter && program._call(Program.enter))) {\n program.traverse(mergedVisitors, program.state);\n\n if (Program && Program.exit) {\n program._call(Program.exit);\n }\n }\n}\n\nfunction addPlugin(meta, arr, plugin) {\n if (plugin) {\n const hook = plugin.hook.default || plugin.hook;\n\n if (plugin.path) {\n meta.watchFiles.push(plugin.path);\n }\n\n if (Array.isArray(hook)) {\n arr.push(...hook);\n } else {\n arr.push(hook);\n }\n }\n}\n\nfunction unique(item, i, list) {\n return list.indexOf(item) === i;\n}\n"],"file":"index.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/babel-plugin/parser.js"],"names":["EMPTY_OBJECT","EMPTY_ARRAY","htmlTrimStart","t","replace","htmlTrimEnd","htmlTrim","isAttributeTag","node","isStringLiteral","name","value","parseMarko","file","code","htmlParseOptions","markoOpts","watchFiles","metadata","marko","pushTagBody","getTagBody","pushContainer","currentTag","isProgram","get","preserveWhitespace","path","preservingWhitespaceUntil","wasSelfClosing","handledTagName","onNext","handlers","onDocumentType","pos","endPos","markoDocumentType","onDeclaration","markoDeclaration","onComment","markoComment","onCDATA","markoCDATA","onText","parser","shouldTrim","body","length","prev","prevIndex","isMarkoClass","isMarkoComment","isMarkoScriptlet","undefined","originalValue","indexOf","isMarkoText","test","markoText","prevBody","next","onPlaceholder","escape","withinBody","markoPlaceholder","onScriptlet","line","block","buildCodeFrameError","loc","markoScriptlet","onOpenTagName","event","tagName","tagNameExpression","exec","tagDef","tagNameStartPos","concise","tagNameNode","templateLiteral","templateElement","raw","cooked","stringLiteral","markoTag","markoTagBody","parseOptions","setParseOptions","rootOnly","onOpenTag","tagNameEndPos","selfClosed","state","enterParsedTextContentState","enterStaticTextContentState","rawOpenTag","set","substring","ignoreAttributes","var","params","argument","shorthandId","shorthandClassNames","attributes","onCloseTag","tag","isConcise","start","end","push","hook","default","parentPath","onfinish","onError","message","includes","isOpenTagOnly","openTagOnly","ignoreNonstandardStringPlaceholders","parse","opts","filename"],"mappings":"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","sourcesContent":["import { createParser } from \"htmljs-parser\";\nimport parseAttributes from \"./util/parse-attributes\";\nimport parseArguments from \"./util/parse-arguments\";\nimport parseParams from \"./util/parse-params\";\nimport parseVar from \"./util/parse-var\";\nimport parseIDShorthand from \"./util/parse-id-shorthand\";\nimport parseClassnameShorthand from \"./util/parse-classname-shorthand\";\nimport * as t from \"../babel-types\";\nimport {\n withLoc,\n getLoc,\n getLocRange,\n parseScript,\n parseExpression,\n getTagDefForTagName\n} from \"@marko/babel-utils\";\n\nconst EMPTY_OBJECT = {};\nconst EMPTY_ARRAY = [];\nconst htmlTrimStart = t => t.replace(/^[\\n\\r]\\s*/, \"\");\nconst htmlTrimEnd = t => t.replace(/[\\n\\r]\\s*$/, \"\");\nconst htmlTrim = t => htmlTrimStart(htmlTrimEnd(t));\nconst isAttributeTag = node =>\n t.isStringLiteral(node.name) && node.name.value[0] === \"@\";\n\nexport function parseMarko(file) {\n const { code } = file;\n const { htmlParseOptions = {} } = file.markoOpts;\n const { watchFiles } = file.metadata.marko;\n const pushTagBody = node => getTagBody().pushContainer(\"body\", node);\n const getTagBody = () =>\n currentTag.isProgram() ? currentTag : currentTag.get(\"body\");\n let { preserveWhitespace } = htmlParseOptions;\n let currentTag = file.path;\n let preservingWhitespaceUntil = preserveWhitespace;\n let wasSelfClosing = false;\n let handledTagName = false;\n let onNext;\n\n const handlers = {\n onDocumentType({ value, pos, endPos }) {\n const node = withLoc(file, t.markoDocumentType(value), pos, endPos);\n pushTagBody(node);\n /* istanbul ignore next */\n onNext = onNext && onNext(node);\n },\n\n onDeclaration({ value, pos, endPos }) {\n const node = withLoc(file, t.markoDeclaration(value), pos, endPos);\n pushTagBody(node);\n /* istanbul ignore next */\n onNext = onNext && onNext(node);\n },\n\n onComment({ value, pos, endPos }) {\n const node = withLoc(file, t.markoComment(value), pos, endPos);\n pushTagBody(node);\n onNext = onNext && onNext(node);\n },\n\n onCDATA({ value, pos, endPos }) {\n const node = withLoc(file, t.markoCDATA(value), pos, endPos);\n pushTagBody(node);\n onNext = onNext && onNext(node);\n },\n\n onText({ value }, parser) {\n const shouldTrim = !preservingWhitespaceUntil;\n const { body } = getTagBody().node;\n let pos = parser.pos - value.length;\n\n if (shouldTrim) {\n if (htmlTrim(value) === \"\") {\n return;\n }\n\n // Find previous non-scriptlet/@tag.\n let prev;\n let prevIndex = body.length;\n while (prevIndex > 0) {\n prev = body[--prevIndex];\n\n if (\n t.isMarkoClass(prev) ||\n t.isMarkoComment(prev) ||\n t.isMarkoScriptlet(prev) ||\n isAttributeTag(prev)\n ) {\n prev = undefined;\n } else {\n break;\n }\n }\n\n if (!prev) {\n const originalValue = value;\n value = htmlTrimStart(value);\n pos += originalValue.indexOf(value);\n } else if (\n t.isMarkoText(prev) &&\n /\\s/.test(prev.value[prev.value.length - 1])\n ) {\n const originalValue = value;\n value = value.replace(/^\\s+/, \"\");\n pos += originalValue.indexOf(value);\n }\n }\n\n const endPos = pos + value.length;\n const node = withLoc(file, t.markoText(value), pos, endPos);\n const prevBody = getTagBody().node.body;\n pushTagBody(node);\n onNext && onNext(node);\n onNext =\n shouldTrim &&\n (next => {\n if (!next || prevBody.indexOf(next) === -1) {\n node.value = htmlTrimEnd(node.value);\n }\n\n node.value = node.value.replace(/\\s+/g, \" \");\n });\n },\n\n onPlaceholder({ escape, value, withinBody, pos, endPos }) {\n if (withinBody) {\n const node = withLoc(\n file,\n t.markoPlaceholder(\n parseExpression(\n file,\n value,\n pos + (escape ? 2 /* ${ */ : 3) /* $!{ */\n ),\n escape\n ),\n pos,\n endPos\n );\n\n pushTagBody(node);\n onNext = onNext && onNext(node);\n }\n },\n\n onScriptlet({ value, line, block, pos, endPos }) {\n if (!line && !block) {\n throw file.buildCodeFrameError(\n { loc: getLocRange(file, pos, endPos) },\n \"<% scriptlets %> are no longer supported.\"\n );\n }\n\n pos -= 1; // Include $.\n // Scriptlets are ignored as content and don't call `onNext`.\n pushTagBody(\n withLoc(\n file,\n t.markoScriptlet(\n parseScript(file, value, pos + 2 /** Ignores leading `$ ` */).body\n ),\n pos,\n endPos\n )\n );\n },\n\n onOpenTagName(event) {\n const { pos, endPos } = event;\n const tagName = event.tagName || \"div\";\n const [, tagNameExpression] =\n /^\\$\\{([\\s\\S]*)\\}/.exec(tagName) || EMPTY_ARRAY;\n const tagDef = !tagNameExpression && getTagDefForTagName(file, tagName);\n const tagNameStartPos = pos + (event.concise ? 0 : 1); // Account for leading `<`.\n\n handledTagName = true;\n\n if (tagNameExpression === \"\") {\n throw file.buildCodeFrameError(\n { loc: getLocRange(file, tagNameStartPos + 1, tagNameStartPos + 3) },\n \"Missing expression for <${dynamic}> tag.\"\n );\n }\n\n let tagNameNode;\n\n if (tagNameExpression) {\n tagNameNode = parseExpression(\n file,\n tagNameExpression,\n tagNameStartPos + 2 /* ${ */\n );\n\n if (t.isStringLiteral(tagNameNode)) {\n // convert to template literal just so that we don't mistake it for a native tag.\n tagNameNode = t.templateLiteral(\n [\n t.templateElement({\n raw: tagNameNode.value,\n cooked: tagNameNode.value\n })\n ],\n []\n );\n }\n } else {\n tagNameNode = withLoc(\n file,\n t.stringLiteral(tagName),\n tagNameStartPos,\n tagNameStartPos + tagName.length\n );\n }\n\n const node = withLoc(\n file,\n t.markoTag(tagNameNode, [], t.markoTagBody()),\n pos,\n endPos\n );\n\n if (tagDef) {\n node.tagDef = tagDef;\n\n const { parseOptions } = tagDef;\n if (parseOptions) {\n event.setParseOptions(parseOptions);\n\n if (parseOptions.rootOnly && !currentTag.isProgram()) {\n throw file.buildCodeFrameError(\n { loc: getLocRange(file, pos, endPos) },\n `\"${tagName}\" tags must be at the root of your Marko template.`\n );\n }\n }\n }\n\n [currentTag] = pushTagBody(node);\n\n // @tags are not treated as content and do not call next.\n if (!isAttributeTag(node)) {\n onNext = onNext && onNext(node);\n }\n },\n\n onOpenTag(event, parser) {\n if (!handledTagName) {\n // There is a bug in htmljs parser where a single top level concise mode tag with nothing else\n // does not emit the openTagNameEvent.\n handlers.onOpenTagName(event);\n }\n\n handledTagName = false;\n const { pos, endPos, tagNameEndPos } = event;\n const { tagDef } = currentTag.node;\n const parseOptions = (tagDef && tagDef.parseOptions) || EMPTY_OBJECT;\n wasSelfClosing = event.selfClosed;\n\n if (parseOptions.state === \"parsed-text\") {\n parser.enterParsedTextContentState();\n } else if (parseOptions.state === \"static-text\") {\n parser.enterStaticTextContentState();\n }\n\n if (parseOptions.rawOpenTag) {\n currentTag.set(\n \"rawValue\",\n parser.substring(pos, endPos).replace(/^<|\\/>$|>$/g, \"\")\n );\n }\n\n if (!parseOptions.ignoreAttributes) {\n currentTag.set(\"var\", parseVar(file, event.var));\n currentTag.get(\"body\").set(\"params\", parseParams(file, event.params));\n currentTag.set(\"arguments\", parseArguments(file, event.argument));\n currentTag.set(\n \"attributes\",\n parseIDShorthand(\n file,\n event.shorthandId,\n parseClassnameShorthand(\n file,\n event.shorthandClassNames,\n parseAttributes(file, event.attributes, tagNameEndPos)\n )\n )\n );\n }\n\n if (!preservingWhitespaceUntil && parseOptions.preserveWhitespace) {\n preservingWhitespaceUntil = currentTag;\n }\n },\n\n onCloseTag(event, parser) {\n let { pos, endPos } = event;\n const tag = currentTag;\n const { node } = tag;\n const { tagDef } = node;\n const isConcise = code[node.start - 1] !== \"<\";\n\n if (preservingWhitespaceUntil === currentTag) {\n preservingWhitespaceUntil = undefined;\n }\n\n if (!pos) {\n pos = parser.pos;\n }\n\n if (!endPos) {\n endPos = pos;\n\n if (wasSelfClosing && !isConcise) {\n endPos += 2; // account for \"/>\"\n }\n }\n\n node.end = endPos;\n node.loc.end = getLoc(file, endPos);\n\n if (\n !isConcise &&\n !wasSelfClosing &&\n code[pos + 1] !== \"/\" &&\n !currentTag.get(\"name\").isStringLiteral()\n ) {\n throw file.buildCodeFrameError(\n { loc: getLocRange(file, pos, endPos) },\n `Invalid ending for dynamic tag, expected \"</>\".`\n );\n }\n\n if (tagDef && tagDef.parser) {\n if (tagDef.parser.path) {\n watchFiles.push(tagDef.parser.path);\n }\n /* istanbul ignore next */\n (tagDef.parser.hook.default || tagDef.parser.hook)(tag, t);\n }\n\n currentTag = currentTag.parentPath.parentPath || file.path;\n },\n\n onfinish() {\n onNext = onNext && onNext();\n },\n\n onError({ message, pos, endPos }) {\n if (message.includes(\"EOF\")) endPos = pos;\n throw file.buildCodeFrameError(\n { loc: getLocRange(file, pos, endPos) },\n message\n );\n }\n };\n\n createParser(handlers, {\n isOpenTagOnly(name) {\n const { parseOptions = EMPTY_OBJECT } =\n getTagDefForTagName(file, name) || EMPTY_OBJECT;\n return parseOptions.openTagOnly;\n },\n ignoreNonstandardStringPlaceholders: true,\n ...htmlParseOptions\n }).parse(code, file.opts.filename);\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,15 +0,0 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.default = void 0;var _babelUtils = require("@marko/babel-utils");var _default =
|
|
2
|
-
|
|
3
|
-
(file, details) => {
|
|
4
|
-
if (details) {
|
|
5
|
-
let startPos = details.pos;
|
|
6
|
-
|
|
7
|
-
if (file.code[startPos] !== "(" && file.code[startPos + 1] === "(") {
|
|
8
|
-
// Fix bug in htmljs-parser with attribute argument positions
|
|
9
|
-
startPos++;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
return (0, _babelUtils.parseExpression)(file, `_(${details.value})`, startPos - 1).arguments;
|
|
13
|
-
}
|
|
14
|
-
};exports.default = _default;
|
|
15
|
-
//# sourceMappingURL=parse-arguments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/util/parse-arguments.js"],"names":["file","details","startPos","pos","code","value","arguments"],"mappings":"gEAAA,gD;;AAEe,CAACA,IAAD,EAAOC,OAAP,KAAmB;AAChC,MAAIA,OAAJ,EAAa;AACX,QAAIC,QAAQ,GAAGD,OAAO,CAACE,GAAvB;;AAEA,QAAIH,IAAI,CAACI,IAAL,CAAUF,QAAV,MAAwB,GAAxB,IAA+BF,IAAI,CAACI,IAAL,CAAUF,QAAQ,GAAG,CAArB,MAA4B,GAA/D,EAAoE;AAClE;AACAA,MAAAA,QAAQ;AACT;;AAED,WAAO,iCAAgBF,IAAhB,EAAuB,KAAIC,OAAO,CAACI,KAAM,GAAzC,EAA6CH,QAAQ,GAAG,CAAxD,EAA2DI,SAAlE;AACD;AACF,C","sourcesContent":["import { parseExpression } from \"@marko/babel-utils\";\n\nexport default (file, details) => {\n if (details) {\n let startPos = details.pos;\n\n if (file.code[startPos] !== \"(\" && file.code[startPos + 1] === \"(\") {\n // Fix bug in htmljs-parser with attribute argument positions\n startPos++;\n }\n\n return parseExpression(file, `_(${details.value})`, startPos - 1).arguments;\n }\n};\n"],"file":"parse-arguments.js"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var t = _interopRequireWildcard(require("../../babel-types"));
|
|
2
|
-
var _babelUtils = require("@marko/babel-utils");
|
|
3
|
-
var _parseArguments = _interopRequireDefault(require("./parse-arguments"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function (nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}var _default =
|
|
4
|
-
|
|
5
|
-
(file, attributes, startPos) => {
|
|
6
|
-
const code = file.code;
|
|
7
|
-
let attrEndPos = startPos;
|
|
8
|
-
|
|
9
|
-
return attributes.map((attr) => {
|
|
10
|
-
let attrStartPos = attr.default ?
|
|
11
|
-
attr.pos :
|
|
12
|
-
code.indexOf(attr.name, attrEndPos);
|
|
13
|
-
|
|
14
|
-
if (attr.name.startsWith("...")) {
|
|
15
|
-
let attrExpression = attr.name.slice(3);
|
|
16
|
-
|
|
17
|
-
if (attr.argument) {
|
|
18
|
-
attrExpression += `(${attr.argument.value})`;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
attrEndPos = attrStartPos + attrExpression.length;
|
|
22
|
-
|
|
23
|
-
const value = (0, _babelUtils.parseExpression)(file, attrExpression, attrStartPos + 3);
|
|
24
|
-
|
|
25
|
-
// TODO: Inline merge object literals.
|
|
26
|
-
return (0, _babelUtils.withLoc)(
|
|
27
|
-
file,
|
|
28
|
-
t.markoSpreadAttribute(value),
|
|
29
|
-
attrStartPos,
|
|
30
|
-
attrEndPos);
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const match = /:(.*)$/.exec(attr.name);
|
|
35
|
-
const modifier = match && match[1];
|
|
36
|
-
let name = attr.name;
|
|
37
|
-
let value;
|
|
38
|
-
|
|
39
|
-
if (modifier) {
|
|
40
|
-
name = name.slice(0, name.length - modifier.length - 1);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (attr.value) {
|
|
44
|
-
attrEndPos = attr.endPos;
|
|
45
|
-
|
|
46
|
-
if (attr.method) {
|
|
47
|
-
if (code[attrStartPos] !== "(") {
|
|
48
|
-
// fix bug in htmljs parser position.
|
|
49
|
-
attrStartPos = code.indexOf("(", attrStartPos);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (code[attrEndPos] === "}") {
|
|
53
|
-
// fix bug in htmljs parser position.
|
|
54
|
-
attrEndPos++;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const prefix = "function";
|
|
58
|
-
value = (0, _babelUtils.parseExpression)(
|
|
59
|
-
file,
|
|
60
|
-
prefix + code.slice(attrStartPos, attrEndPos), // We use the raw value to ignore things like non standard placeholders.
|
|
61
|
-
attrStartPos - prefix.length);
|
|
62
|
-
|
|
63
|
-
} else {
|
|
64
|
-
const valueStart = attr.pos + 1; // Add one to account for "=".
|
|
65
|
-
const rawValue = code.slice(valueStart, attrEndPos); // We use the raw value to ignore things like non standard placeholders.
|
|
66
|
-
|
|
67
|
-
value = (0, _babelUtils.parseExpression)(file, rawValue, valueStart);
|
|
68
|
-
}
|
|
69
|
-
} else {
|
|
70
|
-
attrEndPos = attr.argument ? attr.argument.endPos + 1 : attr.endPos;
|
|
71
|
-
value = t.booleanLiteral(true);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return (0, _babelUtils.withLoc)(
|
|
75
|
-
file,
|
|
76
|
-
t.markoAttribute(
|
|
77
|
-
name,
|
|
78
|
-
value,
|
|
79
|
-
modifier,
|
|
80
|
-
(0, _parseArguments.default)(file, attr.argument),
|
|
81
|
-
Boolean(attr.default),
|
|
82
|
-
Boolean(attr.bound)),
|
|
83
|
-
|
|
84
|
-
attrStartPos,
|
|
85
|
-
attrEndPos);
|
|
86
|
-
|
|
87
|
-
});
|
|
88
|
-
};exports.default = _default;
|
|
89
|
-
//# sourceMappingURL=parse-attributes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/util/parse-attributes.js"],"names":["file","attributes","startPos","code","attrEndPos","map","attr","attrStartPos","default","pos","indexOf","name","startsWith","attrExpression","slice","argument","value","length","t","markoSpreadAttribute","match","exec","modifier","endPos","method","prefix","valueStart","rawValue","booleanLiteral","markoAttribute","Boolean","bound"],"mappings":"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","sourcesContent":["import * as t from \"../../babel-types\";\nimport { withLoc, parseExpression } from \"@marko/babel-utils\";\nimport parseArguments from \"./parse-arguments\";\n\nexport default (file, attributes, startPos) => {\n const code = file.code;\n let attrEndPos = startPos;\n\n return attributes.map(attr => {\n let attrStartPos = attr.default\n ? attr.pos\n : code.indexOf(attr.name, attrEndPos);\n\n if (attr.name.startsWith(\"...\")) {\n let attrExpression = attr.name.slice(3);\n\n if (attr.argument) {\n attrExpression += `(${attr.argument.value})`;\n }\n\n attrEndPos = attrStartPos + attrExpression.length;\n\n const value = parseExpression(file, attrExpression, attrStartPos + 3);\n\n // TODO: Inline merge object literals.\n return withLoc(\n file,\n t.markoSpreadAttribute(value),\n attrStartPos,\n attrEndPos\n );\n }\n\n const match = /:(.*)$/.exec(attr.name);\n const modifier = match && match[1];\n let name = attr.name;\n let value;\n\n if (modifier) {\n name = name.slice(0, name.length - modifier.length - 1);\n }\n\n if (attr.value) {\n attrEndPos = attr.endPos;\n\n if (attr.method) {\n if (code[attrStartPos] !== \"(\") {\n // fix bug in htmljs parser position.\n attrStartPos = code.indexOf(\"(\", attrStartPos);\n }\n\n if (code[attrEndPos] === \"}\") {\n // fix bug in htmljs parser position.\n attrEndPos++;\n }\n\n const prefix = \"function\";\n value = parseExpression(\n file,\n prefix + code.slice(attrStartPos, attrEndPos), // We use the raw value to ignore things like non standard placeholders.\n attrStartPos - prefix.length\n );\n } else {\n const valueStart = attr.pos + 1; // Add one to account for \"=\".\n const rawValue = code.slice(valueStart, attrEndPos); // We use the raw value to ignore things like non standard placeholders.\n\n value = parseExpression(file, rawValue, valueStart);\n }\n } else {\n attrEndPos = attr.argument ? attr.argument.endPos + 1 : attr.endPos;\n value = t.booleanLiteral(true);\n }\n\n return withLoc(\n file,\n t.markoAttribute(\n name,\n value,\n modifier,\n parseArguments(file, attr.argument),\n Boolean(attr.default),\n Boolean(attr.bound)\n ),\n attrStartPos,\n attrEndPos\n );\n });\n};\n"],"file":"parse-attributes.js"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.default = void 0;var _babelUtils = require("@marko/babel-utils");
|
|
2
|
-
var t = _interopRequireWildcard(require("../../babel-types"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function (nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}var _default =
|
|
3
|
-
|
|
4
|
-
(file, shorthands, attributes) => {
|
|
5
|
-
if (!shorthands) {
|
|
6
|
-
return attributes;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const classAttr = attributes.find(({ name }) => name === "class");
|
|
10
|
-
const classParts = shorthands.map(({ rawParts }) => {
|
|
11
|
-
const nodes = rawParts.map((part) =>
|
|
12
|
-
part.expression ?
|
|
13
|
-
(0, _babelUtils.parseExpression)(file, part.expression, part.pos) :
|
|
14
|
-
(0, _babelUtils.withLoc)(file, t.stringLiteral(part.text), part.pos, part.endPos));
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (nodes.length === 1) {
|
|
18
|
-
return nodes[0];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return nodes.reduce((a, b) => t.binaryExpression("+", a, b));
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
let shorthandNode;
|
|
25
|
-
if (classParts.length === 1) {
|
|
26
|
-
shorthandNode = classParts[0];
|
|
27
|
-
} else if (classParts.every((node) => t.isStringLiteral(node))) {
|
|
28
|
-
const combinedStartPos = shorthands[0].rawParts[0].pos;
|
|
29
|
-
const lastParts = shorthands[shorthands.length - 1].rawParts;
|
|
30
|
-
const combinedEndPos = lastParts[lastParts.length - 1].endPos;
|
|
31
|
-
shorthandNode = (0, _babelUtils.withLoc)(
|
|
32
|
-
file,
|
|
33
|
-
t.stringLiteral(classParts.map((node) => node.value).join(" ")),
|
|
34
|
-
combinedStartPos,
|
|
35
|
-
combinedEndPos);
|
|
36
|
-
|
|
37
|
-
} else {
|
|
38
|
-
shorthandNode = t.arrayExpression(classParts);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (classAttr) {
|
|
42
|
-
if (t.isArrayExpression(classAttr.value)) {
|
|
43
|
-
if (t.isArrayExpression(shorthandNode)) {
|
|
44
|
-
classAttr.value.elements.push(...shorthandNode.elements);
|
|
45
|
-
} else {
|
|
46
|
-
classAttr.value.elements.push(shorthandNode);
|
|
47
|
-
}
|
|
48
|
-
} else if (
|
|
49
|
-
t.isStringLiteral(classAttr.value) &&
|
|
50
|
-
t.isStringLiteral(shorthandNode))
|
|
51
|
-
{
|
|
52
|
-
classAttr.value.value = `${shorthandNode.value} ${classAttr.value.value}`;
|
|
53
|
-
} else if (t.isArrayExpression(shorthandNode)) {
|
|
54
|
-
shorthandNode.elements.push(classAttr.value);
|
|
55
|
-
classAttr.value = shorthandNode;
|
|
56
|
-
} else {
|
|
57
|
-
classAttr.value = t.arrayExpression([shorthandNode, classAttr.value]);
|
|
58
|
-
}
|
|
59
|
-
} else {
|
|
60
|
-
attributes.push(t.markoAttribute("class", shorthandNode));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return attributes;
|
|
64
|
-
};exports.default = _default;
|
|
65
|
-
//# sourceMappingURL=parse-classname-shorthand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/util/parse-classname-shorthand.js"],"names":["file","shorthands","attributes","classAttr","find","name","classParts","map","rawParts","nodes","part","expression","pos","t","stringLiteral","text","endPos","length","reduce","a","b","binaryExpression","shorthandNode","every","node","isStringLiteral","combinedStartPos","lastParts","combinedEndPos","value","join","arrayExpression","isArrayExpression","elements","push","markoAttribute"],"mappings":"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","sourcesContent":["import { withLoc, parseExpression } from \"@marko/babel-utils\";\nimport * as t from \"../../babel-types\";\n\nexport default (file, shorthands, attributes) => {\n if (!shorthands) {\n return attributes;\n }\n\n const classAttr = attributes.find(({ name }) => name === \"class\");\n const classParts = shorthands.map(({ rawParts }) => {\n const nodes = rawParts.map(part =>\n part.expression\n ? parseExpression(file, part.expression, part.pos)\n : withLoc(file, t.stringLiteral(part.text), part.pos, part.endPos)\n );\n\n if (nodes.length === 1) {\n return nodes[0];\n }\n\n return nodes.reduce((a, b) => t.binaryExpression(\"+\", a, b));\n });\n\n let shorthandNode;\n if (classParts.length === 1) {\n shorthandNode = classParts[0];\n } else if (classParts.every(node => t.isStringLiteral(node))) {\n const combinedStartPos = shorthands[0].rawParts[0].pos;\n const lastParts = shorthands[shorthands.length - 1].rawParts;\n const combinedEndPos = lastParts[lastParts.length - 1].endPos;\n shorthandNode = withLoc(\n file,\n t.stringLiteral(classParts.map(node => node.value).join(\" \")),\n combinedStartPos,\n combinedEndPos\n );\n } else {\n shorthandNode = t.arrayExpression(classParts);\n }\n\n if (classAttr) {\n if (t.isArrayExpression(classAttr.value)) {\n if (t.isArrayExpression(shorthandNode)) {\n classAttr.value.elements.push(...shorthandNode.elements);\n } else {\n classAttr.value.elements.push(shorthandNode);\n }\n } else if (\n t.isStringLiteral(classAttr.value) &&\n t.isStringLiteral(shorthandNode)\n ) {\n classAttr.value.value = `${shorthandNode.value} ${classAttr.value.value}`;\n } else if (t.isArrayExpression(shorthandNode)) {\n shorthandNode.elements.push(classAttr.value);\n classAttr.value = shorthandNode;\n } else {\n classAttr.value = t.arrayExpression([shorthandNode, classAttr.value]);\n }\n } else {\n attributes.push(t.markoAttribute(\"class\", shorthandNode));\n }\n\n return attributes;\n};\n"],"file":"parse-classname-shorthand.js"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.default = void 0;var _babelUtils = require("@marko/babel-utils");
|
|
2
|
-
var t = _interopRequireWildcard(require("../../babel-types"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function (nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}var _default =
|
|
3
|
-
|
|
4
|
-
(file, shorthand, attributes) => {
|
|
5
|
-
if (!shorthand) {
|
|
6
|
-
return attributes;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const idAttr = attributes.find(({ name }) => name === "id");
|
|
10
|
-
if (idAttr) {
|
|
11
|
-
throw file.buildCodeFrameError(
|
|
12
|
-
idAttr,
|
|
13
|
-
"Cannot have shorthand id and id attribute.");
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const idParts = shorthand.rawParts.map((part) =>
|
|
18
|
-
part.expression ?
|
|
19
|
-
(0, _babelUtils.parseExpression)(file, part.expression, part.pos) :
|
|
20
|
-
(0, _babelUtils.withLoc)(file, t.stringLiteral(part.text), part.pos, part.endPos));
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
attributes.push(
|
|
24
|
-
t.markoAttribute(
|
|
25
|
-
"id",
|
|
26
|
-
idParts.length === 1 ?
|
|
27
|
-
idParts[0] :
|
|
28
|
-
idParts.reduce((a, b) => t.binaryExpression("+", a, b))));
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return attributes;
|
|
33
|
-
};exports.default = _default;
|
|
34
|
-
//# sourceMappingURL=parse-id-shorthand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/util/parse-id-shorthand.js"],"names":["file","shorthand","attributes","idAttr","find","name","buildCodeFrameError","idParts","rawParts","map","part","expression","pos","t","stringLiteral","text","endPos","push","markoAttribute","length","reduce","a","b","binaryExpression"],"mappings":"gEAAA;AACA,8D;;AAEe,CAACA,IAAD,EAAOC,SAAP,EAAkBC,UAAlB,KAAiC;AAC9C,MAAI,CAACD,SAAL,EAAgB;AACd,WAAOC,UAAP;AACD;;AAED,QAAMC,MAAM,GAAGD,UAAU,CAACE,IAAX,CAAgB,CAAC,EAAEC,IAAF,EAAD,KAAcA,IAAI,KAAK,IAAvC,CAAf;AACA,MAAIF,MAAJ,EAAY;AACV,UAAMH,IAAI,CAACM,mBAAL;AACJH,IAAAA,MADI;AAEJ,gDAFI,CAAN;;AAID;;AAED,QAAMI,OAAO,GAAGN,SAAS,CAACO,QAAV,CAAmBC,GAAnB,CAAuB,CAAAC,IAAI;AACzCA,EAAAA,IAAI,CAACC,UAAL;AACI,mCAAgBX,IAAhB,EAAsBU,IAAI,CAACC,UAA3B,EAAuCD,IAAI,CAACE,GAA5C,CADJ;AAEI,2BAAQZ,IAAR,EAAca,CAAC,CAACC,aAAF,CAAgBJ,IAAI,CAACK,IAArB,CAAd,EAA0CL,IAAI,CAACE,GAA/C,EAAoDF,IAAI,CAACM,MAAzD,CAHU,CAAhB;;;AAMAd,EAAAA,UAAU,CAACe,IAAX;AACEJ,EAAAA,CAAC,CAACK,cAAF;AACE,MADF;AAEEX,EAAAA,OAAO,CAACY,MAAR,KAAmB,CAAnB;AACIZ,EAAAA,OAAO,CAAC,CAAD,CADX;AAEIA,EAAAA,OAAO,CAACa,MAAR,CAAe,CAACC,CAAD,EAAIC,CAAJ,KAAUT,CAAC,CAACU,gBAAF,CAAmB,GAAnB,EAAwBF,CAAxB,EAA2BC,CAA3B,CAAzB,CAJN,CADF;;;;AASA,SAAOpB,UAAP;AACD,C","sourcesContent":["import { withLoc, parseExpression } from \"@marko/babel-utils\";\nimport * as t from \"../../babel-types\";\n\nexport default (file, shorthand, attributes) => {\n if (!shorthand) {\n return attributes;\n }\n\n const idAttr = attributes.find(({ name }) => name === \"id\");\n if (idAttr) {\n throw file.buildCodeFrameError(\n idAttr,\n \"Cannot have shorthand id and id attribute.\"\n );\n }\n\n const idParts = shorthand.rawParts.map(part =>\n part.expression\n ? parseExpression(file, part.expression, part.pos)\n : withLoc(file, t.stringLiteral(part.text), part.pos, part.endPos)\n );\n\n attributes.push(\n t.markoAttribute(\n \"id\",\n idParts.length === 1\n ? idParts[0]\n : idParts.reduce((a, b) => t.binaryExpression(\"+\", a, b))\n )\n );\n\n return attributes;\n};\n"],"file":"parse-id-shorthand.js"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.default = void 0;var _babelUtils = require("@marko/babel-utils");var _default =
|
|
2
|
-
|
|
3
|
-
(file, details) => {
|
|
4
|
-
if (details) {
|
|
5
|
-
return (0, _babelUtils.parseExpression)(file, `(${details.value})=>{}`, details.pos).params;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
return [];
|
|
9
|
-
};exports.default = _default;
|
|
10
|
-
//# sourceMappingURL=parse-params.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/util/parse-params.js"],"names":["file","details","value","pos","params"],"mappings":"gEAAA,gD;;AAEe,CAACA,IAAD,EAAOC,OAAP,KAAmB;AAChC,MAAIA,OAAJ,EAAa;AACX,WAAO,iCAAgBD,IAAhB,EAAuB,IAAGC,OAAO,CAACC,KAAM,OAAxC,EAAgDD,OAAO,CAACE,GAAxD,EAA6DC,MAApE;AACD;;AAED,SAAO,EAAP;AACD,C","sourcesContent":["import { parseExpression } from \"@marko/babel-utils\";\n\nexport default (file, details) => {\n if (details) {\n return parseExpression(file, `(${details.value})=>{}`, details.pos).params;\n }\n\n return [];\n};\n"],"file":"parse-params.js"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.default = void 0;var _babelUtils = require("@marko/babel-utils");var _default =
|
|
2
|
-
|
|
3
|
-
(file, details) => {
|
|
4
|
-
if (details) {
|
|
5
|
-
return (0, _babelUtils.parseExpression)(file, `${details.value}=1`, details.pos + 1).left;
|
|
6
|
-
}
|
|
7
|
-
};exports.default = _default;
|
|
8
|
-
//# sourceMappingURL=parse-var.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/babel-plugin/util/parse-var.js"],"names":["file","details","value","pos","left"],"mappings":"gEAAA,gD;;AAEe,CAACA,IAAD,EAAOC,OAAP,KAAmB;AAChC,MAAIA,OAAJ,EAAa;AACX,WAAO,iCAAgBD,IAAhB,EAAuB,GAAEC,OAAO,CAACC,KAAM,IAAvC,EAA4CD,OAAO,CAACE,GAAR,GAAc,CAA1D,EAA6DC,IAApE;AACD;AACF,C","sourcesContent":["import { parseExpression } from \"@marko/babel-utils\";\n\nexport default (file, details) => {\n if (details) {\n return parseExpression(file, `${details.value}=1`, details.pos + 1).left;\n }\n};\n"],"file":"parse-var.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":"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","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"}
|