fiverr / page-timing

⏱ Measure browser timing and do something with it

Home Page:https://opensource.fiverr.com/page-timing/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inconsistent bundle

omrilotan opened this issue · comments

Expected Behaviour
Bundle (dist file) should be safe for older browsers

Result
Bundle includes arrow functions, spread operators, const...

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.pageTiming=t():e.pageTiming=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);const r=["connectEnd","connectStart","domComplete","domContentLoadedEventEnd","domContentLoadedEventStart","domInteractive","domLoading","domainLookupEnd","domainLookupStart","fetchStart","loadEventEnd","loadEventStart","navigationStart","redirectEnd","redirectStart","requestStart","responseEnd","responseStart","secureConnectionStart","unloadEventEnd","unloadEventStart"],o=e=>Array.isArray(e)?e.filter(e=>r.includes(e)):r,a=()=>window.performance.getEntriesByType?window.performance.getEntriesByType("paint"):[],i=e=>e?a().filter(({name:t})=>e.includes(t)):a(),c=(()=>{if("function"!=typeof WeakMap)return(e,t)=>t();const e=new WeakMap;return(t,n)=>e.has(t)?e.get(t):e.set(t,n()).get(t)})(),u={},d=e=>Math.max(window.performance.timing[e]-(()=>c(u,()=>window.performance.timeOrigin||window.performance.timing.navigationStart))(),0),f={},p=()=>c(f,()=>"performance"in window&&"Performance"in window&&performance instanceof Performance);async function s(e,t){const{performance:n}=window,r=Math.random().toString(32).substr(2),[o,a]=["start","end"].map(e=>[t,e,r].join("-"));n.mark(o);const i=await e();return n.mark(a),n.measure(t,o,a),n.clearMarks(o),n.clearMarks(a),i}n.d(t,"pageTiming",(function(){return l})),n.d(t,"measure",(function(){return s}));const m=(e,[t,n])=>[...e,[t,n]];function l({metrics:e,reducer:t=m,accumulator:n=[]}={}){return p()?(n=o(e).reduce((e,n,r,o)=>{const a=d(n);return a>0?t(e,[n,a],r,o):e},n),n=i(e).reduce((e,{name:n,startTime:r},o,a)=>r>0?t(e,[n,r],o,a):e,n)):n}}])}));

Reproduce

  • clone repo
  • npm i
  • npm run build

Addressed in #12