{"version":3,"sources":["/tools/static-assets/server/npm-rebuild.js"],"names":["process","env","METEOR_SKIP_NPM_REBUILD","exit","fs","require","path","spawn","rebuildArgs","get","rebuilds","e","code","binDir","dirname","execPath","PATH","delimiter","npmCmd","platform","npmCmdPath","join","existsSync","rebuild","i","dir","stdio","cwd","__dirname","on"],"mappings":"AAAA;AACA;AACA;AACA,IAAIA,OAAO,CAACC,GAAR,CAAYC,uBAAhB,EAAyC;AACvCF,EAAAA,OAAO,CAACG,IAAR,CAAa,CAAb;AACD;;AAED,IAAIC,EAAE,GAAGC,OAAO,CAAC,IAAD,CAAhB;;AACA,IAAIC,IAAI,GAAGD,OAAO,CAAC,MAAD,CAAlB;;AACA,IAAIE,KAAK,GAAGF,OAAO,CAAC,eAAD,CAAP,CAAyBE,KAArC;;AACA,IAAIC,WAAW,GAAGH,OAAO,CAAC,uBAAD,CAAP,CAAiCI,GAAjC,EAAlB;;AAEA,IAAI;AACF;AACA,MAAIC,QAAQ,GAAGL,OAAO,CAAC,qBAAD,CAAtB;AACD,CAHD,CAGE,OAAOM,CAAP,EAAU;AACV,MAAIA,CAAC,CAACC,IAAF,KAAW,kBAAf,EAAmC;AACjC,UAAMD,CAAN;AACD,GAHS,CAKV;AACA;;;AACAX,EAAAA,OAAO,CAACG,IAAR,CAAa,CAAb;AACD,C,CAED;;;AACA,IAAIU,MAAM,GAAGP,IAAI,CAACQ,OAAL,CAAad,OAAO,CAACe,QAArB,CAAb;AACAf,OAAO,CAACC,GAAR,CAAYe,IAAZ,GAAmBH,MAAM,GAAGP,IAAI,CAACW,SAAd,GAA0BjB,OAAO,CAACC,GAAR,CAAYe,IAAzD;AAEA,IAAIE,MAAM,GAAG,KAAb;;AACA,IAAIlB,OAAO,CAACmB,QAAR,KAAqB,OAAzB,EAAkC;AAChC,MAAIC,UAAU,GAAGd,IAAI,CAACe,IAAL,CAAUR,MAAV,EAAkB,SAAlB,CAAjB;;AACA,MAAIT,EAAE,CAACkB,UAAH,CAAcF,UAAd,CAAJ,EAA+B;AAC7BF,IAAAA,MAAM,GAAGE,UAAT;AACD;AACF;;AAED,SAASG,OAAT,CAAiBC,CAAjB,EAAoB;AAClB,MAAIC,GAAG,GAAGf,QAAQ,IAAIA,QAAQ,CAACc,CAAD,CAA9B;;AAEA,MAAI,CAAEC,GAAN,EAAW;AACT;AACAlB,IAAAA,KAAK,CAACW,MAAD,EAAS,CAAC,SAAD,EAAY,QAAZ,CAAT,EAAgC;AACnCQ,MAAAA,KAAK,EAAE;AAD4B,KAAhC,CAAL;AAIA;AACD;;AAEDnB,EAAAA,KAAK,CAACW,MAAD,EAASV,WAAT,EAAsB;AACzBmB,IAAAA,GAAG,EAAErB,IAAI,CAACe,IAAL,CAAUO,SAAV,EAAqBH,GAArB,CADoB;AAEzBC,IAAAA,KAAK,EAAE;AAFkB,GAAtB,CAAL,CAGGG,EAHH,CAGM,MAHN,EAGc,UAAUjB,IAAV,EAAgB;AAC5B,QAAIA,IAAI,KAAK,CAAb,EAAgB;AACdZ,MAAAA,OAAO,CAACG,IAAR,CAAaS,IAAb;AACD,KAFD,MAEO;AACLW,MAAAA,OAAO,CAACC,CAAC,GAAG,CAAL,CAAP;AACD;AACF,GATD;AAUD;;AAEDD,OAAO,CAAC,CAAD,CAAP","sourcesContent":["// If a developer wants to go to the trouble of building on exactly the\n// same architecture as the production machine, then it should be possible\n// to skip running `npm rebuild`.\nif (process.env.METEOR_SKIP_NPM_REBUILD) {\n process.exit(0);\n}\n\nvar fs = require(\"fs\");\nvar path = require(\"path\");\nvar spawn = require(\"child_process\").spawn;\nvar rebuildArgs = require(\"./npm-rebuild-args.js\").get();\n\ntry {\n // This JSON file gets written in meteor/tools/isobuild/bundler.js.\n var rebuilds = require(\"./npm-rebuilds.json\");\n} catch (e) {\n if (e.code !== \"MODULE_NOT_FOUND\") {\n throw e;\n }\n\n // If npm-rebuilds.json was not written, assume there is nothing that\n // needs to be rebuilt.\n process.exit(0);\n}\n\n// Make sure the npm finds this exact version of node in its $PATH.\nvar binDir = path.dirname(process.execPath);\nprocess.env.PATH = binDir + path.delimiter + process.env.PATH;\n\nvar npmCmd = \"npm\";\nif (process.platform === \"win32\") {\n var npmCmdPath = path.join(binDir, \"npm.cmd\");\n if (fs.existsSync(npmCmdPath)) {\n npmCmd = npmCmdPath;\n }\n}\n\nfunction rebuild(i) {\n var dir = rebuilds && rebuilds[i];\n\n if (! dir) {\n // Print Node/V8/etc. versions for diagnostic purposes.\n spawn(npmCmd, [\"version\", \"--json\"], {\n stdio: \"inherit\"\n });\n\n return;\n }\n\n spawn(npmCmd, rebuildArgs, {\n cwd: path.join(__dirname, dir),\n stdio: \"inherit\"\n }).on(\"exit\", function (code) {\n if (code !== 0) {\n process.exit(code);\n } else {\n rebuild(i + 1);\n }\n });\n}\n\nrebuild(0);\n"],"file":"tools/static-assets/server/npm-rebuild.js.map"}