blob: d126d9bffc8bde6f5cd11c3d331b66f65bef4585 [file] [log] [blame]
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/bundler/globals.ts"],"names":[],"mappings":";;AAAA,6BAA+B;AAC/B,+BAAiC;AACjC,uBAAyB;AAGzB,6CAA2C;AAG3C;IAEI,iBAAoB,MAAqB,EAAU,QAAkB;QAAjD,WAAM,GAAN,MAAM,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAU;IAAI,CAAC;IAEnE,qBAAG,GAAV,UAAW,MAAoB,EAAE,WAAqB,EAAE,cAA0B;QAAlF,iBAkBC;QAhBG,IAAM,KAAK,GAAiB,EAAE,CAAC;QAE/B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,UAAC,IAAgB,EAAE,gBAAgB;YACvD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,UAAU,EAAE,gBAAgB;gBAC7D,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;oBAC3D,gBAAgB,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACP,CAAC,EAAE;gBACC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACrB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,gBAAgB,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,cAAc,CAAC,CAAC;IACvB,CAAC;IAEO,gCAAc,GAAtB,UAAuB,KAAmB;QAEtC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE;YAE3C,IAAM,MAAI,GAAG,qBAAqB,CAAC;YAEnC,KAAK,CAAC,IAAI,CAAC,IAAI,wBAAU,CAAC,MAAI,EAAE,MAAI,EAChC,EAAE,CAAC,GAAG,GAAG,qCAAqC;gBAC9C,EAAE,CAAC,GAAG,GAAG,yCAAyC,EAClD,SAAS,EAAE;gBACP,IAAI,wBAAU,CAAC,UAAU,CAAC;gBAC1B,IAAI,wBAAU,CAAC,QAAQ,CAAC;aAC3B,CAAC,CACL,CAAC;SACL;IACL,CAAC;IAEO,8BAAY,GAApB,UAAqB,KAAmB;QAAxC,iBAgBC;QAdG,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAM,IAAI,GAAG,kBAAkB,CAAC;QAEhC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC1D,IAAI,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACzB,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACjC;YACD,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE;YACR,KAAK,CAAC,IAAI,CAAC,IAAI,wBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;SACjE;IACL,CAAC;IACL,cAAC;AAAD,CAAC,AA1DD,IA0DC;AA1DY,0BAAO","sourcesContent":["import * as async from \"async\";\nimport * as lodash from \"lodash\";\nimport * as os from \"os\";\n\nimport { Configuration } from \"../shared/configuration\";\nimport { BundleItem } from \"./bundle-item\";\nimport { Resolver } from \"./resolve/resolver\";\n\nexport class Globals {\n\n constructor(private config: Configuration, private resolver: Resolver) { }\n\n public add(buffer: BundleItem[], entrypoints: string[], onGlobalsAdded: () => void) {\n\n const items: BundleItem[] = [];\n\n this.addConstants(items);\n this.addNodeGlobals(items);\n\n async.eachSeries(items, (item: BundleItem, onGlobalResolved) => {\n async.eachSeries(item.dependencies, (dependency, onModuleResolved) => {\n this.resolver.resolveModule(item.filename, dependency, buffer, () => {\n onModuleResolved();\n });\n }, () => {\n buffer.unshift(item);\n entrypoints.unshift(item.filename);\n onGlobalResolved();\n });\n }, onGlobalsAdded);\n }\n\n private addNodeGlobals(items: BundleItem[]): void {\n\n if (this.config.bundlerOptions.addNodeGlobals) {\n\n const name = \"bundle/node-globals\";\n\n items.push(new BundleItem(name, name,\n os.EOL + \"global.process=require('_process');\" +\n os.EOL + \"global.Buffer=require('buffer').Buffer;\",\n undefined, [\n new BundleItem(\"_process\"),\n new BundleItem(\"buffer\")\n ])\n );\n }\n }\n\n private addConstants(items: BundleItem[]): void {\n\n let source = \"\";\n const name = \"bundle/constants\";\n\n Object.keys(this.config.bundlerOptions.constants).forEach((key) => {\n let value = this.config.bundlerOptions.constants[key];\n if (!lodash.isString(value)) {\n value = JSON.stringify(value);\n }\n source += os.EOL + \"global.\" + key + \"=\" + value + \";\";\n });\n\n if (source) {\n items.push(new BundleItem(name, name, source, undefined, []));\n }\n }\n}\n"]}