puppeteer-lambda
Version:
run puppeteer in lambda
1 lines • 5.82 kB
JavaScript
module.exports=function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=1)}([function(e,r,t){"use strict";(function(r){var n=t(10),o="stable-headless-chromium-amazonlinux-2017-03.zip",u=n.join(r,"../chrome/"+o),a=process.env.CHROME_BUCKET,s=process.env.CHROME_KEY||o,c=n.join(n.sep,"tmp"),i=process.env.HEADLESS_CHROME_FILE||n.join(c,"headless-chromium"),l=process.env.DEBUG;e.exports={launchOptionForLambda:["--no-sandbox","--disable-gpu","--single-process"],localChromePath:u,headlessFilePath:"https://github.com/adieuadieu/serverless-chrome/releases/download/v1.0.0-55/stable-headless-chromium-amazonlinux-2017-03.zip",remoteChromeS3Bucket:a,remoteChromeS3Key:s,setupChromePath:c,executablePath:i,headlessExecutable:"headless-chromium",DEBUG:l}}).call(this,"/")},function(e,r,t){"use strict";var n=a(t(2)),o=a(t(3)),u=a(t(4));function a(e){return e&&e.__esModule?e:{default:e}}var s,c=new(t(5).S3)({apiVersion:"2006-03-01"}),i=t(6),l=t(7),f=t(8),p=t(9),d=t(0),b=t(11),h=null,m=!1;r.getBrowser=(s=(0,u.default)(n.default.mark(function e(t){var u,a;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=null!==h,!e.t0){e.next=5;break}return e.next=4,g();case 4:e.t0=e.sent;case 5:if(!e.t0){e.next=7;break}return e.abrupt("return",h);case 7:if(null!==h||m){e.next=30;break}if(m=!0,!((u=process.env.CUSTOM_CHROME&&"true"==process.env.CUSTOM_CHROME)||process.env.CHROME_BUCKET&&process.env.CHROME_KEY)){e.next=18;break}return e.next=13,E(u);case 13:return e.next=15,p.launch((0,o.default)({headless:!0,executablePath:d.executablePath,args:d.launchOptionForLambda,dumpio:!!r.DEBUG,ignoreHTTPSErrors:!0},t));case 15:h=e.sent,e.next=21;break;case 18:return e.next=20,p.launch((0,o.default)({dumpio:!!r.DEBUG,ignoreHTTPSErrors:!0},t));case 20:h=e.sent;case 21:return e.next=23,h.version();case 23:return a=e.sent,b.debugLog("Launch chrome: "+a),m=!1,h.on("disconnected",function(){h=null,console.warn("*****Suggest not to close browser in Lambda ENV, if close it , the Browser object is considered disposed and cannot be used anymore.****")}),e.abrupt("return",h);case 30:return e.next=32,f.delay(50);case 32:if(!h){e.next=30;break}case 33:return m=!1,e.abrupt("return",h);case 35:case"end":return e.stop()}},e,void 0)})),function(e){return s.apply(this,arguments)});var x,v,g=(x=(0,u.default)(n.default.mark(function e(){var r;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,h.version();case 3:r=e.sent,b.debugLog("current browser version: "+r),e.next=12;break;case 7:return e.prev=7,e.t0=e.catch(0),h=null,b.debugLog(e.t0),e.abrupt("return",!1);case 12:return e.abrupt("return",!0);case 13:case"end":return e.stop()}},e,void 0,[[0,7]])})),function(){return x.apply(this,arguments)}),E=(v=(0,u.default)(n.default.mark(function e(r){return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y();case 2:if(e.sent){e.next=18;break}if(e.t0=r,!e.t0){e.next=8;break}return e.next=7,C();case 7:e.t0=e.sent;case 8:if(!e.t0){e.next=14;break}return b.debugLog("setup local chrome"),e.next=12,S();case 12:e.next=17;break;case 14:return b.debugLog("setup s3 chrome"),e.next=17,O();case 17:b.debugLog("setup done");case 18:case"end":return e.stop()}},e,void 0)})),function(e){return v.apply(this,arguments)}),C=function(){return new f(function(e,r){i.exists(d.localChromePath,function(r){e(r)})})};r.existsLocalChrome=C;var y=function(){return new f(function(e,r){i.access(d.executablePath,i.constants.F_OK,function(r){r?(b.debugLog(r),e(!1)):e(!0)})})};r.existsExecutableChrome=y;var S=function(){return new f(function(e,r){i.createReadStream(d.localChromePath).on("error",function(e){return r(e)}).pipe(l.Extract({path:d.setupChromePath}).on("close",function(){i.chmodSync(d.setupChromePath+"/"+d.headlessExecutable,493),e()}).on("error",function(e){return r(e)}))})},O=function(){return new f(function(e,r){var t={Bucket:d.remoteChromeS3Bucket,Key:d.remoteChromeS3Key};c.getObject(t).createReadStream().on("error",function(e){return r(e)}).pipe(l.Extract({path:d.setupChromePath}).on("close",function(){i.chmodSync(d.setupChromePath+"/"+d.headlessExecutable,493),e()}).on("error",function(e){return r(e)}))})}},function(e,r){e.exports=require("babel-runtime/regenerator")},function(e,r){e.exports=require("babel-runtime/core-js/object/assign")},function(e,r){e.exports=require("babel-runtime/helpers/asyncToGenerator")},function(e,r){e.exports=require("aws-sdk")},function(e,r){e.exports=require("fs")},function(e,r){e.exports=require("unzipper")},function(e,r){e.exports=require("bluebird")},function(e,r){e.exports=require("puppeteer")},function(e,r){e.exports=require("path")},function(e,r,t){"use strict";var n,o=t(12),u=(n=o)&&n.__esModule?n:{default:n};var a=t(0);r.debugLog=function(e){if(a.DEBUG){var r=e;"function"==typeof e&&(r=e()),u.default.resolve(r).then(function(e){return console.log(e)})}}},function(e,r){e.exports=require("babel-runtime/core-js/promise")}]);