JezK
Edit File: hoisted-tree-builder.js.map
{"version":3,"file":"hoisted-tree-builder.js","names":["invariant","require","getParent","key","treesByKey","parentKey","slice","lastIndexOf","buildTree","resolver","linker","patterns","ignoreHoisted","trees","getFlatHoistedTree","flatTree","workspaceLayout","hoisted","virtualManifestName","filter","indexOf","hoistedByKey","info","ref","pkg","_reference","children","name","version","manifest","tree","parent","split","length","push"],"sourceRoot":"../src","sources":["hoisted-tree-builder.js"],"sourcesContent":["/* @flow */\n\nimport type PackageResolver from './package-resolver.js';\nimport type PackageLinker from './package-linker.js';\nimport type {HoistManifest} from './package-hoister.js';\n\nconst invariant = require('invariant');\n\nexport type HoistedTree = {\n name: string,\n version: string,\n manifest: HoistManifest,\n children?: HoistedTrees,\n};\nexport type HoistedTrees = Array<HoistedTree>;\n\nexport function getParent(key: string, treesByKey: Object): Object {\n const parentKey = key.slice(0, key.lastIndexOf('#'));\n return treesByKey[parentKey];\n}\n\nexport async function buildTree(\n resolver: PackageResolver,\n linker: PackageLinker,\n patterns: Array<string>,\n ignoreHoisted?: boolean,\n): Promise<HoistedTrees> {\n const treesByKey = {};\n const trees = [];\n const flatTree = await linker.getFlatHoistedTree(patterns);\n\n // If using workspaces, filter out the virtual manifest\n const {workspaceLayout} = resolver;\n const hoisted =\n workspaceLayout && workspaceLayout.virtualManifestName\n ? flatTree.filter(([key]) => key.indexOf(workspaceLayout.virtualManifestName) === -1)\n : flatTree;\n\n const hoistedByKey = {};\n for (const [key, info] of hoisted) {\n hoistedByKey[key] = info;\n }\n\n // build initial trees\n for (const [, info] of hoisted) {\n const ref = info.pkg._reference;\n // const parent = getParent(info.key, treesByKey);\n const children = [];\n // let depth = 0;\n invariant(ref, 'expected reference');\n\n // check parent to obtain next depth\n // if (parent && parent.depth > 0) {\n // depth = parent.depth + 1;\n // } else {\n // depth = 0;\n // }\n\n treesByKey[info.key] = {\n name: info.pkg.name,\n version: info.pkg.version,\n children,\n manifest: info,\n };\n }\n\n // add children\n for (const [, info] of hoisted) {\n const tree = treesByKey[info.key];\n const parent = getParent(info.key, treesByKey);\n if (!tree) {\n continue;\n }\n\n if (info.key.split('#').length === 1) {\n trees.push(tree);\n continue;\n }\n\n if (parent) {\n parent.children.push(tree);\n }\n }\n\n return trees;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAGC,OAAO,CAAC,WAAW,CAAC;AAU/B,SAASC,SAAS,CAACC,GAAW,EAAEC,UAAkB,EAAU;EACjE,IAAMC,SAAS,GAAGF,GAAG,CAACG,KAAK,CAAC,CAAC,EAAEH,GAAG,CAACI,WAAW,CAAC,GAAG,CAAC,CAAC;EACpD,OAAOH,UAAU,CAACC,SAAS,CAAC;AAC9B;AAAC,SAEqBG,SAAS;EAAA;AAAA;AAAA;EAAA,+FAAxB,iBACLC,QAAyB,EACzBC,MAAqB,EACrBC,QAAuB,EACvBC,aAAuB;IAAA;IAAA;MAAA;QAAA;UAEjBR,UAAU,GAAG,CAAC,CAAC;UACfS,KAAK,GAAG,EAAE;UAAA;UAAA,OACOH,MAAM,CAACI,kBAAkB,CAACH,QAAQ,CAAC;QAAA;UAApDI,QAAQ;UAEd;UACOC,eAAe,GAAIP,QAAQ,CAA3BO,eAAe;UAChBC,OAAO,GACXD,eAAe,IAAIA,eAAe,CAACE,mBAAmB,GAClDH,QAAQ,CAACI,MAAM,CAAC;YAAA;cAAEhB,GAAG;YAAA,OAAMA,GAAG,CAACiB,OAAO,CAACJ,eAAe,CAACE,mBAAmB,CAAC,KAAK,CAAC,CAAC;UAAA,EAAC,GACnFH,QAAQ;UAERM,YAAY,GAAG,CAAC,CAAC;UAAA,uCACGJ,OAAO;UAAA;YAAjC,oDAAmC;cAAA,iEAAvBd,GAAG,mBAAEmB,IAAI;cACnBD,YAAY,CAAClB,GAAG,CAAC,GAAGmB,IAAI;YAC1B;;YAEA;UAAA;YAAA;UAAA;YAAA;UAAA;UAAA,wCACuBL,OAAO;UAAA;YAA9B,uDAAgC;cAAA,mEAAlBK,KAAI;cACVC,GAAG,GAAGD,KAAI,CAACE,GAAG,CAACC,UAAU,EAC/B;cACMC,QAAQ,GAAG,EAAE,EACnB;cACA1B,SAAS,CAACuB,GAAG,EAAE,oBAAoB,CAAC;;cAEpC;cACA;cACA;cACA;cACA;cACA;;cAEAnB,UAAU,CAACkB,KAAI,CAACnB,GAAG,CAAC,GAAG;gBACrBwB,IAAI,EAAEL,KAAI,CAACE,GAAG,CAACG,IAAI;gBACnBC,OAAO,EAAEN,KAAI,CAACE,GAAG,CAACI,OAAO;gBACzBF,QAAQ,EAARA,QAAQ;gBACRG,QAAQ,EAAEP;cACZ,CAAC;YACH;;YAEA;UAAA;YAAA;UAAA;YAAA;UAAA;UAAA,wCACuBL,OAAO;UAAA;UAAA;QAAA;UAAA;YAAA;YAAA;UAAA;UAAA,mEAAhBK,MAAI;UACVQ,IAAI,GAAG1B,UAAU,CAACkB,MAAI,CAACnB,GAAG,CAAC;UAC3B4B,MAAM,GAAG7B,SAAS,CAACoB,MAAI,CAACnB,GAAG,EAAEC,UAAU,CAAC;UAAA,IACzC0B,IAAI;YAAA;YAAA;UAAA;UAAA;QAAA;UAAA,MAILR,MAAI,CAACnB,GAAG,CAAC6B,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,KAAK,CAAC;YAAA;YAAA;UAAA;UAClCpB,KAAK,CAACqB,IAAI,CAACJ,IAAI,CAAC;UAAC;QAAA;UAInB,IAAIC,MAAM,EAAE;YACVA,MAAM,CAACL,QAAQ,CAACQ,IAAI,CAACJ,IAAI,CAAC;UAC5B;QAAC;UAAA;UAAA;QAAA;UAAA;UAAA;QAAA;UAAA;UAAA;UAAA;QAAA;UAAA;UAAA;UAAA;QAAA;UAAA,iCAGIjB,KAAK;QAAA;QAAA;UAAA;MAAA;IAAA;EAAA,CACb;EAAA;AAAA"}