From 35aeca3b5a3d7b20abec568f7c44c11afcd12482 Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Wed, 13 May 2020 20:24:49 -0700 Subject: [PATCH] Refactor entirely to JS --- assets/build/web-vitals-all.js | 1 + assets/build/web-vitals-config.js | 1 + assets/build/web-vitals.js | 2 +- assets/src/web-vitals-all.js | 2 ++ assets/src/web-vitals-config.js | 7 +++++++ assets/webpack.config.js | 2 ++ eth-web-vitals.php | 11 +---------- 7 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 assets/build/web-vitals-all.js create mode 100644 assets/build/web-vitals-config.js create mode 100644 assets/src/web-vitals-all.js create mode 100644 assets/src/web-vitals-config.js diff --git a/assets/build/web-vitals-all.js b/assets/build/web-vitals-all.js new file mode 100644 index 0000000..71db522 --- /dev/null +++ b/assets/build/web-vitals-all.js @@ -0,0 +1 @@ +!function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},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 i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},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=2)}([function(e,t){window.ethWebVitals={config:{eventCategory:"Web Vitals"},queue:[]}},function(e,t,n){"use strict";n.r(t);var i,a,r=function(){return"".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)},o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:e,value:t,delta:0,entries:[],id:r(),isFinal:!1}},u=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},c=!1,s=!1,l=function(e){c=!e.persisted},f=function(){addEventListener("pagehide",l),addEventListener("unload",(function(){}))},d=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];s||(f(),s=!0),addEventListener("visibilitychange",(function(t){var n=t.timeStamp;"hidden"===document.visibilityState&&e({timeStamp:n,isUnloading:c})}),{capture:!0,once:t})},p=function(e,t,n,i){var a;return function(){n&&t.isFinal&&n.disconnect(),t.value>=0&&(i||t.isFinal||"hidden"===document.visibilityState)&&(t.delta=t.value-(a||0),(t.delta||t.isFinal||void 0===a)&&(e(t),a=t.value))}},v=function(){return void 0===i&&(i="hidden"===document.visibilityState?0:1/0,d((function(e){var t=e.timeStamp;return i=t}),!0)),{get timeStamp(){return i}}},m=function(){return a||(a=new Promise((function(e){return["scroll","keydown","pointerdown"].map((function(t){addEventListener(t,e,{once:!0,passive:!0,capture:!0})}))}))),a};const y=e=>{window.ethWebVitals.queue.push(e)},g=({id:e,name:t,delta:n})=>{const{eventCategory:i}=window.ethWebVitals.config,a=((e,t)=>Math.round("CLS"===e?1e4*t:t))(t,n),r=["send","event",{eventCategory:i,eventAction:t,eventValue:a,eventLabel:e,nonInteraction:!0}];"function"==typeof ga&&ga(...r),"object"==typeof _paq&&_paq.push(["trackEvent","Performance",i,t,a]),console.info(r[2])};window.addEventListener("unload",()=>{window.ethWebVitals.queue.map(g)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("CLS",0),i=function(e){e.hadRecentInput||(n.value+=e.value,n.entries.push(e),r())},a=u("layout-shift",i),r=p(e,n,a,t);d((function(e){var t=e.isUnloading;a&&a.takeRecords().map(i),t&&(n.isFinal=!0),r()}))}(y),function(e){var t=o("FCP"),n=v(),i=u("paint",(function(e){"first-contentful-paint"===e.name&&e.startTime<n.timeStamp&&(t.value=e.startTime,t.isFinal=!0,t.entries.push(e),a())})),a=p(e,t,i)}(y),function(e){var t=o("FID"),n=v(),i=function(e){e.startTime<n.timeStamp&&(t.value=e.processingStart-e.startTime,t.entries.push(e),t.isFinal=!0,r())},a=u("first-input",i),r=p(e,t,a);d((function(){a&&(a.takeRecords().map(i),a.disconnect())}),!0),a||window.perfMetrics&&window.perfMetrics.onFirstInputDelay&&window.perfMetrics.onFirstInputDelay((function(e,i){i.timeStamp<n.timeStamp&&(t.value=e,t.isFinal=!0,t.entries=[{entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+e}],r())}))}(y),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("LCP"),i=v(),a=function(e){var t=e.startTime;t<i.timeStamp?(n.value=t,n.entries.push(e)):n.isFinal=!0,c()},r=u("largest-contentful-paint",a),c=p(e,n,r,t),s=function(){n.isFinal||(r&&r.takeRecords().map(a),n.isFinal=!0,c())};m().then(s),d(s,!0)}(y),function(e){var t,n=o("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var n in e)"navigationStart"!==n&&"toJSON"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();n.value=n.delta=t.responseStart,n.entries=[t],n.isFinal=!0,e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("pageshow",t)}(e=>{y(e);const t=e.value-e.entries[0].requestStart,n=Object.assign({},e);n.name="TTFB-RT",n.value=t,n.delta=t,y(n)})},function(e,t,n){"use strict";n.r(t);n(0),n(1)}]); \ No newline at end of file diff --git a/assets/build/web-vitals-config.js b/assets/build/web-vitals-config.js new file mode 100644 index 0000000..4994397 --- /dev/null +++ b/assets/build/web-vitals-config.js @@ -0,0 +1 @@ +!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}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){window.ethWebVitals={config:{eventCategory:"Web Vitals"},queue:[]}}]); \ No newline at end of file diff --git a/assets/build/web-vitals.js b/assets/build/web-vitals.js index d1c00ef..2a2c924 100644 --- a/assets/build/web-vitals.js +++ b/assets/build/web-vitals.js @@ -1 +1 @@ -!function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},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 i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},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);var i,a,r=function(){return"".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)},o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:e,value:t,delta:0,entries:[],id:r(),isFinal:!1}},u=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},c=!1,s=!1,l=function(e){c=!e.persisted},f=function(){addEventListener("pagehide",l),addEventListener("unload",(function(){}))},d=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];s||(f(),s=!0),addEventListener("visibilitychange",(function(t){var n=t.timeStamp;"hidden"===document.visibilityState&&e({timeStamp:n,isUnloading:c})}),{capture:!0,once:t})},p=function(e,t,n,i){var a;return function(){n&&t.isFinal&&n.disconnect(),t.value>=0&&(i||t.isFinal||"hidden"===document.visibilityState)&&(t.delta=t.value-(a||0),(t.delta||t.isFinal||void 0===a)&&(e(t),a=t.value))}},v=function(){return void 0===i&&(i="hidden"===document.visibilityState?0:1/0,d((function(e){var t=e.timeStamp;return i=t}),!0)),{get timeStamp(){return i}}},m=function(){return a||(a=new Promise((function(e){return["scroll","keydown","pointerdown"].map((function(t){addEventListener(t,e,{once:!0,passive:!0,capture:!0})}))}))),a};const y=e=>{window.ethWebVitals.queue.push(e)},g=({id:e,name:t,delta:n})=>{const{eventCategory:i}=window.ethWebVitals.config,a=((e,t)=>Math.round("CLS"===e?1e4*t:t))(t,n),r=["send","event",{eventCategory:i,eventAction:t,eventValue:a,eventLabel:e,nonInteraction:!0}];"function"==typeof ga&&ga(...r),"object"==typeof _paq&&_paq.push(["trackEvent","Performance",i,t,a]),console.info(r[2])};window.addEventListener("unload",()=>{window.ethWebVitals.queue.map(g)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("CLS",0),i=function(e){e.hadRecentInput||(n.value+=e.value,n.entries.push(e),r())},a=u("layout-shift",i),r=p(e,n,a,t);d((function(e){var t=e.isUnloading;a&&a.takeRecords().map(i),t&&(n.isFinal=!0),r()}))}(y),function(e){var t=o("FCP"),n=v(),i=u("paint",(function(e){"first-contentful-paint"===e.name&&e.startTime<n.timeStamp&&(t.value=e.startTime,t.isFinal=!0,t.entries.push(e),a())})),a=p(e,t,i)}(y),function(e){var t=o("FID"),n=v(),i=function(e){e.startTime<n.timeStamp&&(t.value=e.processingStart-e.startTime,t.entries.push(e),t.isFinal=!0,r())},a=u("first-input",i),r=p(e,t,a);d((function(){a&&(a.takeRecords().map(i),a.disconnect())}),!0),a||window.perfMetrics&&window.perfMetrics.onFirstInputDelay&&window.perfMetrics.onFirstInputDelay((function(e,i){i.timeStamp<n.timeStamp&&(t.value=e,t.isFinal=!0,t.entries=[{entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+e}],r())}))}(y),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("LCP"),i=v(),a=function(e){var t=e.startTime;t<i.timeStamp?(n.value=t,n.entries.push(e)):n.isFinal=!0,c()},r=u("largest-contentful-paint",a),c=p(e,n,r,t),s=function(){n.isFinal||(r&&r.takeRecords().map(a),n.isFinal=!0,c())};m().then(s),d(s,!0)}(y),function(e){var t,n=o("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var n in e)"navigationStart"!==n&&"toJSON"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();n.value=n.delta=t.responseStart,n.entries=[t],n.isFinal=!0,e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("pageshow",t)}(e=>{y(e);const t=e.value-e.entries[0].requestStart,n=Object.assign({},e);n.name="TTFB-RT",n.value=t,n.delta=t,y(n)})}]); \ No newline at end of file +!function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},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 i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},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=1)}([,function(e,t,n){"use strict";n.r(t);var i,a,r=function(){return"".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)},o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:e,value:t,delta:0,entries:[],id:r(),isFinal:!1}},u=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},c=!1,s=!1,l=function(e){c=!e.persisted},f=function(){addEventListener("pagehide",l),addEventListener("unload",(function(){}))},d=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];s||(f(),s=!0),addEventListener("visibilitychange",(function(t){var n=t.timeStamp;"hidden"===document.visibilityState&&e({timeStamp:n,isUnloading:c})}),{capture:!0,once:t})},p=function(e,t,n,i){var a;return function(){n&&t.isFinal&&n.disconnect(),t.value>=0&&(i||t.isFinal||"hidden"===document.visibilityState)&&(t.delta=t.value-(a||0),(t.delta||t.isFinal||void 0===a)&&(e(t),a=t.value))}},v=function(){return void 0===i&&(i="hidden"===document.visibilityState?0:1/0,d((function(e){var t=e.timeStamp;return i=t}),!0)),{get timeStamp(){return i}}},m=function(){return a||(a=new Promise((function(e){return["scroll","keydown","pointerdown"].map((function(t){addEventListener(t,e,{once:!0,passive:!0,capture:!0})}))}))),a};const y=e=>{window.ethWebVitals.queue.push(e)},g=({id:e,name:t,delta:n})=>{const{eventCategory:i}=window.ethWebVitals.config,a=((e,t)=>Math.round("CLS"===e?1e4*t:t))(t,n),r=["send","event",{eventCategory:i,eventAction:t,eventValue:a,eventLabel:e,nonInteraction:!0}];"function"==typeof ga&&ga(...r),"object"==typeof _paq&&_paq.push(["trackEvent","Performance",i,t,a]),console.info(r[2])};window.addEventListener("unload",()=>{window.ethWebVitals.queue.map(g)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("CLS",0),i=function(e){e.hadRecentInput||(n.value+=e.value,n.entries.push(e),r())},a=u("layout-shift",i),r=p(e,n,a,t);d((function(e){var t=e.isUnloading;a&&a.takeRecords().map(i),t&&(n.isFinal=!0),r()}))}(y),function(e){var t=o("FCP"),n=v(),i=u("paint",(function(e){"first-contentful-paint"===e.name&&e.startTime<n.timeStamp&&(t.value=e.startTime,t.isFinal=!0,t.entries.push(e),a())})),a=p(e,t,i)}(y),function(e){var t=o("FID"),n=v(),i=function(e){e.startTime<n.timeStamp&&(t.value=e.processingStart-e.startTime,t.entries.push(e),t.isFinal=!0,r())},a=u("first-input",i),r=p(e,t,a);d((function(){a&&(a.takeRecords().map(i),a.disconnect())}),!0),a||window.perfMetrics&&window.perfMetrics.onFirstInputDelay&&window.perfMetrics.onFirstInputDelay((function(e,i){i.timeStamp<n.timeStamp&&(t.value=e,t.isFinal=!0,t.entries=[{entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+e}],r())}))}(y),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("LCP"),i=v(),a=function(e){var t=e.startTime;t<i.timeStamp?(n.value=t,n.entries.push(e)):n.isFinal=!0,c()},r=u("largest-contentful-paint",a),c=p(e,n,r,t),s=function(){n.isFinal||(r&&r.takeRecords().map(a),n.isFinal=!0,c())};m().then(s),d(s,!0)}(y),function(e){var t,n=o("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var n in e)"navigationStart"!==n&&"toJSON"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();n.value=n.delta=t.responseStart,n.entries=[t],n.isFinal=!0,e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("pageshow",t)}(e=>{y(e);const t=e.value-e.entries[0].requestStart,n=Object.assign({},e);n.name="TTFB-RT",n.value=t,n.delta=t,y(n)})}]); \ No newline at end of file diff --git a/assets/src/web-vitals-all.js b/assets/src/web-vitals-all.js new file mode 100644 index 0000000..9ae7f7d --- /dev/null +++ b/assets/src/web-vitals-all.js @@ -0,0 +1,2 @@ +import './web-vitals-config'; +import './web-vitals'; diff --git a/assets/src/web-vitals-config.js b/assets/src/web-vitals-config.js new file mode 100644 index 0000000..843c203 --- /dev/null +++ b/assets/src/web-vitals-config.js @@ -0,0 +1,7 @@ +window.ethWebVitals = { + 'config': + { + 'eventCategory':'Web Vitals' + }, + 'queue':[] +}; diff --git a/assets/webpack.config.js b/assets/webpack.config.js index b4b9854..7ceb6a3 100644 --- a/assets/webpack.config.js +++ b/assets/webpack.config.js @@ -3,6 +3,8 @@ const path = require('path'); const config = { entry: { + 'web-vitals-all': './src/web-vitals-all.js', + 'web-vitals-config': './src/web-vitals-config.js', 'web-vitals': './src/web-vitals.js', }, output: { diff --git a/eth-web-vitals.php b/eth-web-vitals.php index c520492..036554f 100644 --- a/eth-web-vitals.php +++ b/eth-web-vitals.php @@ -16,18 +16,9 @@ define( 'ETH\\Web_Vitals\\PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); * Output the Web Vitals script. */ function render(): void { - $data = [ - 'config' => [ - 'eventCategory' => 'Web Vitals', - ], - 'queue' => [], - ]; - ?> <script> - window.ethWebVitals = window.ethWebVitals || {}; - window.ethWebVitals = <?php echo wp_json_encode( $data ); ?>; - <?php echo file_get_contents( PLUGIN_PATH . 'assets/build/web-vitals.js' ); ?> + <?php echo file_get_contents( PLUGIN_PATH . 'assets/build/web-vitals-all.js' ); ?> </script> <?php } -- GitLab