react-fathom 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /*! react-fathom - 0.1.7 !*/
1
+ /*! react-fathom - 0.1.8 !*/
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
@@ -1,10 +1,7 @@
1
- /*! react-fathom - 0.1.7 !*/
1
+ /*! react-fathom - 0.1.8 !*/
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
5
- var require$$0 = require('fs');
6
- var require$$1 = require('stream');
7
- var require$$2 = require('zlib');
8
5
  var Fathom = require('fathom-client');
9
6
 
10
7
  function _interopNamespaceDefault(e) {
@@ -6901,7 +6898,7 @@ var hasRequiredGzipSize;
6901
6898
  function requireGzipSize () {
6902
6899
  if (hasRequiredGzipSize) return gzipSize.exports;
6903
6900
  hasRequiredGzipSize = 1;
6904
- (()=>{var e={154:(e,r,t)=>{var n=t(781);var o=["write","end","destroy"];var i=["resume","pause"];var s=["data","close"];var c=Array.prototype.slice;e.exports=duplex;function forEach(e,r){if(e.forEach){return e.forEach(r)}for(var t=0;t<e.length;t++){r(e[t],t);}}function duplex(e,r){var t=new n;var a=false;forEach(o,proxyWriter);forEach(i,proxyReader);forEach(s,proxyStream);r.on("end",handleEnd);e.on("drain",(function(){t.emit("drain");}));e.on("error",reemit);r.on("error",reemit);t.writable=e.writable;t.readable=r.readable;return t;function proxyWriter(r){t[r]=method;function method(){return e[r].apply(e,arguments)}}function proxyReader(e){t[e]=method;function method(){t.emit(e);var n=r[e];if(n){return n.apply(r,arguments)}r.emit(e);}}function proxyStream(e){r.on(e,reemit);function reemit(){var r=c.call(arguments);r.unshift(e);t.emit.apply(t,r);}}function handleEnd(){if(a){return}a=true;var e=c.call(arguments);e.unshift("end");t.emit.apply(t,e);}function reemit(e){t.emit("error",e);}}},349:(e,r,t)=>{const n=t(147);const o=t(781);const i=t(796);const s=t(154);const c=t(530);const getOptions=e=>Object.assign({level:9},e);e.exports=(e,r)=>{if(!e){return Promise.resolve(0)}return c(i.gzip)(e,getOptions(r)).then((e=>e.length)).catch((e=>0))};e.exports.sync=(e,r)=>i.gzipSync(e,getOptions(r)).length;e.exports.stream=e=>{const r=new o.PassThrough;const t=new o.PassThrough;const n=s(r,t);let c=0;const a=i.createGzip(getOptions(e)).on("data",(e=>{c+=e.length;})).on("error",(()=>{n.gzipSize=0;})).on("end",(()=>{n.gzipSize=c;n.emit("gzip-size",c);t.end();}));r.pipe(a);r.pipe(t,{end:false});return n};e.exports.file=(r,t)=>new Promise(((o,i)=>{const s=n.createReadStream(r);s.on("error",i);const c=s.pipe(e.exports.stream(t));c.on("error",i);c.on("gzip-size",o);}));e.exports.fileSync=(r,t)=>e.exports.sync(n.readFileSync(r),t);},530:e=>{const processFn=(e,r)=>function(...t){const n=r.promiseModule;return new n(((n,o)=>{if(r.multiArgs){t.push(((...e)=>{if(r.errorFirst){if(e[0]){o(e);}else {e.shift();n(e);}}else {n(e);}}));}else if(r.errorFirst){t.push(((e,r)=>{if(e){o(e);}else {n(r);}}));}else {t.push(n);}e.apply(this,t);}))};e.exports=(e,r)=>{r=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:true,promiseModule:Promise},r);const t=typeof e;if(!(e!==null&&(t==="object"||t==="function"))){throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?"null":t}\``)}const filter=e=>{const match=r=>typeof r==="string"?e===r:r.test(e);return r.include?r.include.some(match):!r.exclude.some(match)};let n;if(t==="function"){n=function(...t){return r.excludeMain?e(...t):processFn(e,r).apply(this,t)};}else {n=Object.create(Object.getPrototypeOf(e));}for(const t in e){const o=e[t];n[t]=typeof o==="function"&&filter(t)?processFn(o,r):o;}return n};},147:e=>{e.exports=require$$0;},781:e=>{e.exports=require$$1;},796:e=>{e.exports=require$$2;}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var o=r[t]={exports:{}};var i=true;try{e[t](o,o.exports,__nccwpck_require__);i=false;}finally{if(i)delete r[t];}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t=__nccwpck_require__(349);gzipSize.exports=t;})();
6901
+ (()=>{var e={154:(e,r,t)=>{var n=t(781);var o=["write","end","destroy"];var i=["resume","pause"];var s=["data","close"];var c=Array.prototype.slice;e.exports=duplex;function forEach(e,r){if(e.forEach){return e.forEach(r)}for(var t=0;t<e.length;t++){r(e[t],t);}}function duplex(e,r){var t=new n;var a=false;forEach(o,proxyWriter);forEach(i,proxyReader);forEach(s,proxyStream);r.on("end",handleEnd);e.on("drain",(function(){t.emit("drain");}));e.on("error",reemit);r.on("error",reemit);t.writable=e.writable;t.readable=r.readable;return t;function proxyWriter(r){t[r]=method;function method(){return e[r].apply(e,arguments)}}function proxyReader(e){t[e]=method;function method(){t.emit(e);var n=r[e];if(n){return n.apply(r,arguments)}r.emit(e);}}function proxyStream(e){r.on(e,reemit);function reemit(){var r=c.call(arguments);r.unshift(e);t.emit.apply(t,r);}}function handleEnd(){if(a){return}a=true;var e=c.call(arguments);e.unshift("end");t.emit.apply(t,e);}function reemit(e){t.emit("error",e);}}},349:(e,r,t)=>{const n=t(147);const o=t(781);const i=t(796);const s=t(154);const c=t(530);const getOptions=e=>Object.assign({level:9},e);e.exports=(e,r)=>{if(!e){return Promise.resolve(0)}return c(i.gzip)(e,getOptions(r)).then((e=>e.length)).catch((e=>0))};e.exports.sync=(e,r)=>i.gzipSync(e,getOptions(r)).length;e.exports.stream=e=>{const r=new o.PassThrough;const t=new o.PassThrough;const n=s(r,t);let c=0;const a=i.createGzip(getOptions(e)).on("data",(e=>{c+=e.length;})).on("error",(()=>{n.gzipSize=0;})).on("end",(()=>{n.gzipSize=c;n.emit("gzip-size",c);t.end();}));r.pipe(a);r.pipe(t,{end:false});return n};e.exports.file=(r,t)=>new Promise(((o,i)=>{const s=n.createReadStream(r);s.on("error",i);const c=s.pipe(e.exports.stream(t));c.on("error",i);c.on("gzip-size",o);}));e.exports.fileSync=(r,t)=>e.exports.sync(n.readFileSync(r),t);},530:e=>{const processFn=(e,r)=>function(...t){const n=r.promiseModule;return new n(((n,o)=>{if(r.multiArgs){t.push(((...e)=>{if(r.errorFirst){if(e[0]){o(e);}else {e.shift();n(e);}}else {n(e);}}));}else if(r.errorFirst){t.push(((e,r)=>{if(e){o(e);}else {n(r);}}));}else {t.push(n);}e.apply(this,t);}))};e.exports=(e,r)=>{r=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:true,promiseModule:Promise},r);const t=typeof e;if(!(e!==null&&(t==="object"||t==="function"))){throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?"null":t}\``)}const filter=e=>{const match=r=>typeof r==="string"?e===r:r.test(e);return r.include?r.include.some(match):!r.exclude.some(match)};let n;if(t==="function"){n=function(...t){return r.excludeMain?e(...t):processFn(e,r).apply(this,t)};}else {n=Object.create(Object.getPrototypeOf(e));}for(const t in e){const o=e[t];n[t]=typeof o==="function"&&filter(t)?processFn(o,r):o;}return n};},147:e=>{e.exports=require("fs");},781:e=>{e.exports=require("stream");},796:e=>{e.exports=require("zlib");}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var o=r[t]={exports:{}};var i=true;try{e[t](o,o.exports,__nccwpck_require__);i=false;}finally{if(i)delete r[t];}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t=__nccwpck_require__(349);gzipSize.exports=t;})();
6905
6902
  return gzipSize.exports;
6906
6903
  }
6907
6904
 
@@ -9371,20 +9368,42 @@ useFathom.displayName = 'useFathom';
9371
9368
  * }
9372
9369
  * ```
9373
9370
  */
9374
- var NextFathomTrackViewPages = function NextFathomTrackViewPages(_ref) {
9375
- var _ref$disableAutoTrack = _ref.disableAutoTrack,
9376
- disableAutoTrack = _ref$disableAutoTrack === void 0 ? false : _ref$disableAutoTrack;
9377
- var router = routerExports.useRouter();
9371
+
9372
+ // Client-only wrapper to prevent SSR execution
9373
+ var ClientOnlyWrapper = function ClientOnlyWrapper(_ref) {
9374
+ var children = _ref.children;
9375
+ // Don't render during SSR - check window directly
9376
+ if (typeof window === 'undefined') {
9377
+ return null;
9378
+ }
9379
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
9380
+ };
9381
+
9382
+ // Internal component that uses the router
9383
+ // This component only renders client-side due to ClientOnlyWrapper
9384
+ var NextFathomTrackViewPagesInternal = function NextFathomTrackViewPagesInternal(_ref2) {
9385
+ var _ref2$disableAutoTrac = _ref2.disableAutoTrack,
9386
+ disableAutoTrack = _ref2$disableAutoTrac === void 0 ? false : _ref2$disableAutoTrac;
9378
9387
  var hasTrackedInitialPageview = React.useRef(false);
9379
9388
  var _useFathom = useFathom(),
9380
9389
  trackPageview = _useFathom.trackPageview,
9381
9390
  client = _useFathom.client;
9382
9391
 
9392
+ // Always call useRouter unconditionally
9393
+ // This is safe because ClientOnlyWrapper prevents this component from rendering during SSR
9394
+ var router = routerExports.useRouter();
9395
+
9383
9396
  // Track pageviews on route changes
9384
9397
  React.useEffect(function () {
9385
9398
  if (!trackPageview || !client || disableAutoTrack) {
9386
9399
  return;
9387
9400
  }
9401
+
9402
+ // Check if router is available and has events
9403
+ if (!router || typeof router.events === 'undefined' || !router.events) {
9404
+ // Silently return - this component should only be used in Pages Router
9405
+ return;
9406
+ }
9388
9407
  var handleRouteChangeComplete = function handleRouteChangeComplete(url) {
9389
9408
  trackPageview({
9390
9409
  url: window.location.origin + url
@@ -9394,25 +9413,31 @@ var NextFathomTrackViewPages = function NextFathomTrackViewPages(_ref) {
9394
9413
  // router.events is stable in Next.js, so we can use it without including router in dependencies
9395
9414
  router.events.on('routeChangeComplete', handleRouteChangeComplete);
9396
9415
  return function () {
9397
- router.events.off('routeChangeComplete', handleRouteChangeComplete);
9416
+ var _router$events;
9417
+ router === null || router === void 0 || (_router$events = router.events) === null || _router$events === void 0 || _router$events.off('routeChangeComplete', handleRouteChangeComplete);
9398
9418
  };
9399
9419
  // eslint-disable-next-line react-hooks/exhaustive-deps
9400
9420
  }, [trackPageview, client, disableAutoTrack]);
9401
9421
 
9402
9422
  // Track initial pageview (routeChangeComplete doesn't fire on initial load)
9403
9423
  React.useEffect(function () {
9404
- if (!trackPageview || !client || disableAutoTrack || !router.isReady || hasTrackedInitialPageview.current) {
9424
+ if (!trackPageview || !client || disableAutoTrack || !router || !router.isReady || hasTrackedInitialPageview.current) {
9405
9425
  return;
9406
9426
  }
9407
9427
  hasTrackedInitialPageview.current = true;
9408
9428
  trackPageview({
9409
9429
  url: window.location.href
9410
9430
  });
9411
- }, [trackPageview, client, disableAutoTrack, router.isReady]);
9431
+ }, [trackPageview, client, disableAutoTrack, router]);
9412
9432
 
9413
9433
  // This component doesn't render anything
9414
9434
  return null;
9415
9435
  };
9436
+
9437
+ // Export component wrapped in client-only wrapper to prevent SSR errors
9438
+ var NextFathomTrackViewPages = function NextFathomTrackViewPages(props) {
9439
+ return /*#__PURE__*/React.createElement(ClientOnlyWrapper, null, /*#__PURE__*/React.createElement(NextFathomTrackViewPagesInternal, props));
9440
+ };
9416
9441
  NextFathomTrackViewPages.displayName = 'NextFathomTrackViewPages';
9417
9442
 
9418
9443
  var navigation$1 = {exports: {}};