New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

gtm-react-hook

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gtm-react-hook - npm Package Compare versions

Comparing version 0.0.12 to 0.0.13

56

dist/index.js

@@ -1,56 +0,10 @@

"use strict";var gn=Object.create;var q=Object.defineProperty;var _n=Object.getOwnPropertyDescriptor;var bn=Object.getOwnPropertyNames,jt=Object.getOwnPropertySymbols,En=Object.getPrototypeOf,It=Object.prototype.hasOwnProperty,Rn=Object.prototype.propertyIsEnumerable;var Dt=(r,a,s)=>a in r?q(r,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[a]=s,$t=(r,a)=>{for(var s in a||(a={}))It.call(a,s)&&Dt(r,s,a[s]);if(jt)for(var s of jt(a))Rn.call(a,s)&&Dt(r,s,a[s]);return r};var De=(r,a)=>()=>(a||r((a={exports:{}}).exports,a),a.exports),wn=(r,a)=>{for(var s in a)q(r,s,{get:a[s],enumerable:!0})},Lt=(r,a,s,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of bn(a))!It.call(r,l)&&l!==s&&q(r,l,{get:()=>a[l],enumerable:!(d=_n(a,l))||d.enumerable});return r};var Cn=(r,a,s)=>(s=r!=null?gn(En(r)):{},Lt(a||!r||!r.__esModule?q(s,"default",{value:r,enumerable:!0}):s,r)),Tn=r=>Lt(q({},"__esModule",{value:!0}),r);var Ht=De(p=>{"use strict";var Q=Symbol.for("react.element"),Sn=Symbol.for("react.portal"),On=Symbol.for("react.fragment"),kn=Symbol.for("react.strict_mode"),Pn=Symbol.for("react.profiler"),An=Symbol.for("react.provider"),xn=Symbol.for("react.context"),jn=Symbol.for("react.forward_ref"),Dn=Symbol.for("react.suspense"),In=Symbol.for("react.memo"),$n=Symbol.for("react.lazy"),Mt=Symbol.iterator;function Ln(r){return r===null||typeof r!="object"?null:(r=Mt&&r[Mt]||r["@@iterator"],typeof r=="function"?r:null)}var Ut={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Vt=Object.assign,Wt={};function Y(r,a,s){this.props=r,this.context=a,this.refs=Wt,this.updater=s||Ut}Y.prototype.isReactComponent={};Y.prototype.setState=function(r,a){if(typeof r!="object"&&typeof r!="function"&&r!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,r,a,"setState")};Y.prototype.forceUpdate=function(r){this.updater.enqueueForceUpdate(this,r,"forceUpdate")};function Yt(){}Yt.prototype=Y.prototype;function $e(r,a,s){this.props=r,this.context=a,this.refs=Wt,this.updater=s||Ut}var Le=$e.prototype=new Yt;Le.constructor=$e;Vt(Le,Y.prototype);Le.isPureReactComponent=!0;var Ft=Array.isArray,Bt=Object.prototype.hasOwnProperty,Me={current:null},zt={key:!0,ref:!0,__self:!0,__source:!0};function Gt(r,a,s){var d,l={},h=null,_=null;if(a!=null)for(d in a.ref!==void 0&&(_=a.ref),a.key!==void 0&&(h=""+a.key),a)Bt.call(a,d)&&!zt.hasOwnProperty(d)&&(l[d]=a[d]);var b=arguments.length-2;if(b===1)l.children=s;else if(1<b){for(var y=Array(b),T=0;T<b;T++)y[T]=arguments[T+2];l.children=y}if(r&&r.defaultProps)for(d in b=r.defaultProps,b)l[d]===void 0&&(l[d]=b[d]);return{$$typeof:Q,type:r,key:h,ref:_,props:l,_owner:Me.current}}function Mn(r,a){return{$$typeof:Q,type:r.type,key:a,ref:r.ref,props:r.props,_owner:r._owner}}function Fe(r){return typeof r=="object"&&r!==null&&r.$$typeof===Q}function Fn(r){var a={"=":"=0",":":"=2"};return"$"+r.replace(/[=:]/g,function(s){return a[s]})}var Nt=/\/+/g;function Ie(r,a){return typeof r=="object"&&r!==null&&r.key!=null?Fn(""+r.key):a.toString(36)}function le(r,a,s,d,l){var h=typeof r;(h==="undefined"||h==="boolean")&&(r=null);var _=!1;if(r===null)_=!0;else switch(h){case"string":case"number":_=!0;break;case"object":switch(r.$$typeof){case Q:case Sn:_=!0}}if(_)return _=r,l=l(_),r=d===""?"."+Ie(_,0):d,Ft(l)?(s="",r!=null&&(s=r.replace(Nt,"$&/")+"/"),le(l,a,s,"",function(T){return T})):l!=null&&(Fe(l)&&(l=Mn(l,s+(!l.key||_&&_.key===l.key?"":(""+l.key).replace(Nt,"$&/")+"/")+r)),a.push(l)),1;if(_=0,d=d===""?".":d+":",Ft(r))for(var b=0;b<r.length;b++){h=r[b];var y=d+Ie(h,b);_+=le(h,a,s,y,l)}else if(y=Ln(r),typeof y=="function")for(r=y.call(r),b=0;!(h=r.next()).done;)h=h.value,y=d+Ie(h,b++),_+=le(h,a,s,y,l);else if(h==="object")throw a=String(r),Error("Objects are not valid as a React child (found: "+(a==="[object Object]"?"object with keys {"+Object.keys(r).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.");return _}function fe(r,a,s){if(r==null)return r;var d=[],l=0;return le(r,d,"","",function(h){return a.call(s,h,l++)}),d}function Nn(r){if(r._status===-1){var a=r._result;a=a(),a.then(function(s){(r._status===0||r._status===-1)&&(r._status=1,r._result=s)},function(s){(r._status===0||r._status===-1)&&(r._status=2,r._result=s)}),r._status===-1&&(r._status=0,r._result=a)}if(r._status===1)return r._result.default;throw r._result}var A={current:null},de={transition:null},Un={ReactCurrentDispatcher:A,ReactCurrentBatchConfig:de,ReactCurrentOwner:Me};p.Children={map:fe,forEach:function(r,a,s){fe(r,function(){a.apply(this,arguments)},s)},count:function(r){var a=0;return fe(r,function(){a++}),a},toArray:function(r){return fe(r,function(a){return a})||[]},only:function(r){if(!Fe(r))throw Error("React.Children.only expected to receive a single React element child.");return r}};p.Component=Y;p.Fragment=On;p.Profiler=Pn;p.PureComponent=$e;p.StrictMode=kn;p.Suspense=Dn;p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Un;p.cloneElement=function(r,a,s){if(r==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+r+".");var d=Vt({},r.props),l=r.key,h=r.ref,_=r._owner;if(a!=null){if(a.ref!==void 0&&(h=a.ref,_=Me.current),a.key!==void 0&&(l=""+a.key),r.type&&r.type.defaultProps)var b=r.type.defaultProps;for(y in a)Bt.call(a,y)&&!zt.hasOwnProperty(y)&&(d[y]=a[y]===void 0&&b!==void 0?b[y]:a[y])}var y=arguments.length-2;if(y===1)d.children=s;else if(1<y){b=Array(y);for(var T=0;T<y;T++)b[T]=arguments[T+2];d.children=b}return{$$typeof:Q,type:r.type,key:l,ref:h,props:d,_owner:_}};p.createContext=function(r){return r={$$typeof:xn,_currentValue:r,_currentValue2:r,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},r.Provider={$$typeof:An,_context:r},r.Consumer=r};p.createElement=Gt;p.createFactory=function(r){var a=Gt.bind(null,r);return a.type=r,a};p.createRef=function(){return{current:null}};p.forwardRef=function(r){return{$$typeof:jn,render:r}};p.isValidElement=Fe;p.lazy=function(r){return{$$typeof:$n,_payload:{_status:-1,_result:r},_init:Nn}};p.memo=function(r,a){return{$$typeof:In,type:r,compare:a===void 0?null:a}};p.startTransition=function(r){var a=de.transition;de.transition={};try{r()}finally{de.transition=a}};p.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};p.useCallback=function(r,a){return A.current.useCallback(r,a)};p.useContext=function(r){return A.current.useContext(r)};p.useDebugValue=function(){};p.useDeferredValue=function(r){return A.current.useDeferredValue(r)};p.useEffect=function(r,a){return A.current.useEffect(r,a)};p.useId=function(){return A.current.useId()};p.useImperativeHandle=function(r,a,s){return A.current.useImperativeHandle(r,a,s)};p.useInsertionEffect=function(r,a){return A.current.useInsertionEffect(r,a)};p.useLayoutEffect=function(r,a){return A.current.useLayoutEffect(r,a)};p.useMemo=function(r,a){return A.current.useMemo(r,a)};p.useReducer=function(r,a,s){return A.current.useReducer(r,a,s)};p.useRef=function(r){return A.current.useRef(r)};p.useState=function(r){return A.current.useState(r)};p.useSyncExternalStore=function(r,a,s){return A.current.useSyncExternalStore(r,a,s)};p.useTransition=function(){return A.current.useTransition()};p.version="18.2.0"});var Kt=De((v,pe)=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var r="18.2.0",a=Symbol.for("react.element"),s=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),b=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),x=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),J=Symbol.for("react.lazy"),rr=Symbol.for("react.offscreen"),We=Symbol.iterator,nr="@@iterator";function Ye(e){if(e===null||typeof e!="object")return null;var t=We&&e[We]||e[nr];return typeof t=="function"?t:null}var Be={current:null},M={transition:null},k={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},j={current:null},z={},X=null;function ze(e){X=e}z.setExtraStackFrame=function(e){X=e},z.getCurrentStack=null,z.getStackAddendum=function(){var e="";X&&(e+=X);var t=z.getCurrentStack;return t&&(e+=t()||""),e};var or=!1,ar=!1,ur=!1,ir=!1,sr=!1,F={ReactCurrentDispatcher:Be,ReactCurrentBatchConfig:M,ReactCurrentOwner:j};F.ReactDebugCurrentFrame=z,F.ReactCurrentActQueue=k;function N(e){{for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];Ge("warn",e,n)}}function g(e){{for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];Ge("error",e,n)}}function Ge(e,t,n){{var o=F.ReactDebugCurrentFrame,u=o.getStackAddendum();u!==""&&(t+="%s",n=n.concat([u]));var c=n.map(function(i){return String(i)});c.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,c)}}var He={};function ye(e,t){{var n=e.constructor,o=n&&(n.displayName||n.name)||"ReactClass",u=o+"."+t;if(He[u])return;g("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,o),He[u]=!0}}var Ke={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){ye(e,"forceUpdate")},enqueueReplaceState:function(e,t,n,o){ye(e,"replaceState")},enqueueSetState:function(e,t,n,o){ye(e,"setState")}},D=Object.assign,me={};Object.freeze(me);function L(e,t,n){this.props=e,this.context=t,this.refs=me,this.updater=n||Ke}L.prototype.isReactComponent={},L.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},L.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};{var he={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},cr=function(e,t){Object.defineProperty(L.prototype,e,{get:function(){N("%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var ge in he)he.hasOwnProperty(ge)&&cr(ge,he[ge])}function qe(){}qe.prototype=L.prototype;function _e(e,t,n){this.props=e,this.context=t,this.refs=me,this.updater=n||Ke}var be=_e.prototype=new qe;be.constructor=_e,D(be,L.prototype),be.isPureReactComponent=!0;function fr(){var e={current:null};return Object.seal(e),e}var lr=Array.isArray;function Z(e){return lr(e)}function dr(e){{var t=typeof Symbol=="function"&&Symbol.toStringTag,n=t&&e[Symbol.toStringTag]||e.constructor.name||"Object";return n}}function pr(e){try{return Qe(e),!1}catch(t){return!0}}function Qe(e){return""+e}function ee(e){if(pr(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",dr(e)),Qe(e)}function vr(e,t,n){var o=e.displayName;if(o)return o;var u=t.displayName||t.name||"";return u!==""?n+"("+u+")":n}function Je(e){return e.displayName||"Context"}function $(e){if(e==null)return null;if(typeof e.tag=="number"&&g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case d:return"Fragment";case s:return"Portal";case h:return"Profiler";case l:return"StrictMode";case T:return"Suspense";case x:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case b:var t=e;return Je(t)+".Consumer";case _:var n=e;return Je(n._context)+".Provider";case y:return vr(e,e.render,"ForwardRef");case I:var o=e.displayName||null;return o!==null?o:$(e.type)||"Memo";case J:{var u=e,c=u._payload,i=u._init;try{return $(i(c))}catch(f){return null}}}return null}var G=Object.prototype.hasOwnProperty,Xe={key:!0,ref:!0,__self:!0,__source:!0},Ze,et,Ee;Ee={};function tt(e){if(G.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return e.ref!==void 0}function rt(e){if(G.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function yr(e,t){var n=function(){Ze||(Ze=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}function mr(e,t){var n=function(){et||(et=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"ref",{get:n,configurable:!0})}function hr(e){if(typeof e.ref=="string"&&j.current&&e.__self&&j.current.stateNode!==e.__self){var t=$(j.current.type);Ee[t]||(g('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',t,e.ref),Ee[t]=!0)}}var Re=function(e,t,n,o,u,c,i){var f={$$typeof:a,type:e,key:t,ref:n,props:i,_owner:c};return f._store={},Object.defineProperty(f._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(f,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(f,"_source",{configurable:!1,enumerable:!1,writable:!1,value:u}),Object.freeze&&(Object.freeze(f.props),Object.freeze(f)),f};function gr(e,t,n){var o,u={},c=null,i=null,f=null,m=null;if(t!=null){tt(t)&&(i=t.ref,hr(t)),rt(t)&&(ee(t.key),c=""+t.key),f=t.__self===void 0?null:t.__self,m=t.__source===void 0?null:t.__source;for(o in t)G.call(t,o)&&!Xe.hasOwnProperty(o)&&(u[o]=t[o])}var E=arguments.length-2;if(E===1)u.children=n;else if(E>1){for(var R=Array(E),w=0;w<E;w++)R[w]=arguments[w+2];Object.freeze&&Object.freeze(R),u.children=R}if(e&&e.defaultProps){var C=e.defaultProps;for(o in C)u[o]===void 0&&(u[o]=C[o])}if(c||i){var S=typeof e=="function"?e.displayName||e.name||"Unknown":e;c&&yr(u,S),i&&mr(u,S)}return Re(e,c,i,f,m,j.current,u)}function _r(e,t){var n=Re(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n}function br(e,t,n){if(e==null)throw new Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o,u=D({},e.props),c=e.key,i=e.ref,f=e._self,m=e._source,E=e._owner;if(t!=null){tt(t)&&(i=t.ref,E=j.current),rt(t)&&(ee(t.key),c=""+t.key);var R;e.type&&e.type.defaultProps&&(R=e.type.defaultProps);for(o in t)G.call(t,o)&&!Xe.hasOwnProperty(o)&&(t[o]===void 0&&R!==void 0?u[o]=R[o]:u[o]=t[o])}var w=arguments.length-2;if(w===1)u.children=n;else if(w>1){for(var C=Array(w),S=0;S<w;S++)C[S]=arguments[S+2];u.children=C}return Re(e.type,c,i,f,m,E,u)}function U(e){return typeof e=="object"&&e!==null&&e.$$typeof===a}var nt=".",Er=":";function Rr(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},o=e.replace(t,function(u){return n[u]});return"$"+o}var ot=!1,wr=/\/+/g;function at(e){return e.replace(wr,"$&/")}function we(e,t){return typeof e=="object"&&e!==null&&e.key!=null?(ee(e.key),Rr(""+e.key)):t.toString(36)}function te(e,t,n,o,u){var c=typeof e;(c==="undefined"||c==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(c){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case a:case s:i=!0}}if(i){var f=e,m=u(f),E=o===""?nt+we(f,0):o;if(Z(m)){var R="";E!=null&&(R=at(E)+"/"),te(m,t,R,"",function(hn){return hn})}else m!=null&&(U(m)&&(m.key&&(!f||f.key!==m.key)&&ee(m.key),m=_r(m,n+(m.key&&(!f||f.key!==m.key)?at(""+m.key)+"/":"")+E)),t.push(m));return 1}var w,C,S=0,O=o===""?nt:o+Er;if(Z(e))for(var ce=0;ce<e.length;ce++)w=e[ce],C=O+we(w,ce),S+=te(w,t,n,C,u);else{var je=Ye(e);if(typeof je=="function"){var Pt=e;je===Pt.entries&&(ot||N("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),ot=!0);for(var yn=je.call(Pt),At,mn=0;!(At=yn.next()).done;)w=At.value,C=O+we(w,mn++),S+=te(w,t,n,C,u)}else if(c==="object"){var xt=String(e);throw new Error("Objects are not valid as a React child (found: "+(xt==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":xt)+"). If you meant to render a collection of children, use an array instead.")}}return S}function re(e,t,n){if(e==null)return e;var o=[],u=0;return te(e,o,"","",function(c){return t.call(n,c,u++)}),o}function Cr(e){var t=0;return re(e,function(){t++}),t}function Tr(e,t,n){re(e,function(){t.apply(this,arguments)},n)}function Sr(e){return re(e,function(t){return t})||[]}function Or(e){if(!U(e))throw new Error("React.Children.only expected to receive a single React element child.");return e}function kr(e){var t={$$typeof:b,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};t.Provider={$$typeof:_,_context:t};var n=!1,o=!1,u=!1;{var c={$$typeof:b,_context:t};Object.defineProperties(c,{Provider:{get:function(){return o||(o=!0,g("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")),t.Provider},set:function(i){t.Provider=i}},_currentValue:{get:function(){return t._currentValue},set:function(i){t._currentValue=i}},_currentValue2:{get:function(){return t._currentValue2},set:function(i){t._currentValue2=i}},_threadCount:{get:function(){return t._threadCount},set:function(i){t._threadCount=i}},Consumer:{get:function(){return n||(n=!0,g("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")),t.Consumer}},displayName:{get:function(){return t.displayName},set:function(i){u||(N("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",i),u=!0)}}}),t.Consumer=c}return t._currentRenderer=null,t._currentRenderer2=null,t}var H=-1,Ce=0,ut=1,Pr=2;function Ar(e){if(e._status===H){var t=e._result,n=t();if(n.then(function(c){if(e._status===Ce||e._status===H){var i=e;i._status=ut,i._result=c}},function(c){if(e._status===Ce||e._status===H){var i=e;i._status=Pr,i._result=c}}),e._status===H){var o=e;o._status=Ce,o._result=n}}if(e._status===ut){var u=e._result;return u===void 0&&g(`lazy: Expected the result of a dynamic import() call. Instead received: %s
Your code should look like:
const MyComponent = lazy(() => import('./MyComponent'))
Did you accidentally put curly braces around the import?`,u),"default"in u||g(`lazy: Expected the result of a dynamic import() call. Instead received: %s
Your code should look like:
const MyComponent = lazy(() => import('./MyComponent'))`,u),u.default}else throw e._result}function xr(e){var t={_status:H,_result:e},n={$$typeof:J,_payload:t,_init:Ar};{var o,u;Object.defineProperties(n,{defaultProps:{configurable:!0,get:function(){return o},set:function(c){g("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),o=c,Object.defineProperty(n,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return u},set:function(c){g("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),u=c,Object.defineProperty(n,"propTypes",{enumerable:!0})}}})}return n}function jr(e){e!=null&&e.$$typeof===I?g("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof e!="function"?g("forwardRef requires a render function but was given %s.",e===null?"null":typeof e):e.length!==0&&e.length!==2&&g("forwardRef render functions accept exactly two parameters: props and ref. %s",e.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),e!=null&&(e.defaultProps!=null||e.propTypes!=null)&&g("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var t={$$typeof:y,render:e};{var n;Object.defineProperty(t,"displayName",{enumerable:!1,configurable:!0,get:function(){return n},set:function(o){n=o,!e.name&&!e.displayName&&(e.displayName=o)}})}return t}var it;it=Symbol.for("react.module.reference");function st(e){return!!(typeof e=="string"||typeof e=="function"||e===d||e===h||sr||e===l||e===T||e===x||ir||e===rr||or||ar||ur||typeof e=="object"&&e!==null&&(e.$$typeof===J||e.$$typeof===I||e.$$typeof===_||e.$$typeof===b||e.$$typeof===y||e.$$typeof===it||e.getModuleId!==void 0))}function Dr(e,t){st(e)||g("memo: The first argument must be a component. Instead received: %s",e===null?"null":typeof e);var n={$$typeof:I,type:e,compare:t===void 0?null:t};{var o;Object.defineProperty(n,"displayName",{enumerable:!1,configurable:!0,get:function(){return o},set:function(u){o=u,!e.name&&!e.displayName&&(e.displayName=u)}})}return n}function P(){var e=Be.current;return e===null&&g(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),e}function Ir(e){var t=P();if(e._context!==void 0){var n=e._context;n.Consumer===e?g("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):n.Provider===e&&g("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return t.useContext(e)}function $r(e){var t=P();return t.useState(e)}function Lr(e,t,n){var o=P();return o.useReducer(e,t,n)}function Mr(e){var t=P();return t.useRef(e)}function Fr(e,t){var n=P();return n.useEffect(e,t)}function Nr(e,t){var n=P();return n.useInsertionEffect(e,t)}function Ur(e,t){var n=P();return n.useLayoutEffect(e,t)}function Vr(e,t){var n=P();return n.useCallback(e,t)}function Wr(e,t){var n=P();return n.useMemo(e,t)}function Yr(e,t,n){var o=P();return o.useImperativeHandle(e,t,n)}function Br(e,t){{var n=P();return n.useDebugValue(e,t)}}function zr(){var e=P();return e.useTransition()}function Gr(e){var t=P();return t.useDeferredValue(e)}function Hr(){var e=P();return e.useId()}function Kr(e,t,n){var o=P();return o.useSyncExternalStore(e,t,n)}var K=0,ct,ft,lt,dt,pt,vt,yt;function mt(){}mt.__reactDisabledLog=!0;function qr(){{if(K===0){ct=console.log,ft=console.info,lt=console.warn,dt=console.error,pt=console.group,vt=console.groupCollapsed,yt=console.groupEnd;var e={configurable:!0,enumerable:!0,value:mt,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}K++}}function Qr(){{if(K--,K===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:D({},e,{value:ct}),info:D({},e,{value:ft}),warn:D({},e,{value:lt}),error:D({},e,{value:dt}),group:D({},e,{value:pt}),groupCollapsed:D({},e,{value:vt}),groupEnd:D({},e,{value:yt})})}K<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Te=F.ReactCurrentDispatcher,Se;function ne(e,t,n){{if(Se===void 0)try{throw Error()}catch(u){var o=u.stack.trim().match(/\n( *(at )?)/);Se=o&&o[1]||""}return`
`+Se+e}}var Oe=!1,oe;{var Jr=typeof WeakMap=="function"?WeakMap:Map;oe=new Jr}function ht(e,t){if(!e||Oe)return"";{var n=oe.get(e);if(n!==void 0)return n}var o;Oe=!0;var u=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var c;c=Te.current,Te.current=null,qr();try{if(t){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(i,[])}catch(O){o=O}Reflect.construct(e,[],i)}else{try{i.call()}catch(O){o=O}e.call(i.prototype)}}else{try{throw Error()}catch(O){o=O}e()}}catch(O){if(O&&o&&typeof O.stack=="string"){for(var f=O.stack.split(`
`),m=o.stack.split(`
`),E=f.length-1,R=m.length-1;E>=1&&R>=0&&f[E]!==m[R];)R--;for(;E>=1&&R>=0;E--,R--)if(f[E]!==m[R]){if(E!==1||R!==1)do if(E--,R--,R<0||f[E]!==m[R]){var w=`
`+f[E].replace(" at new "," at ");return e.displayName&&w.includes("<anonymous>")&&(w=w.replace("<anonymous>",e.displayName)),typeof e=="function"&&oe.set(e,w),w}while(E>=1&&R>=0);break}}}finally{Oe=!1,Te.current=c,Qr(),Error.prepareStackTrace=u}var C=e?e.displayName||e.name:"",S=C?ne(C):"";return typeof e=="function"&&oe.set(e,S),S}function Xr(e,t,n){return ht(e,!1)}function Zr(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function ae(e,t,n){if(e==null)return"";if(typeof e=="function")return ht(e,Zr(e));if(typeof e=="string")return ne(e);switch(e){case T:return ne("Suspense");case x:return ne("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case y:return Xr(e.render);case I:return ae(e.type,t,n);case J:{var o=e,u=o._payload,c=o._init;try{return ae(c(u),t,n)}catch(i){}}}return""}var gt={},_t=F.ReactDebugCurrentFrame;function ue(e){if(e){var t=e._owner,n=ae(e.type,e._source,t?t.type:null);_t.setExtraStackFrame(n)}else _t.setExtraStackFrame(null)}function en(e,t,n,o,u){{var c=Function.call.bind(G);for(var i in e)if(c(e,i)){var f=void 0;try{if(typeof e[i]!="function"){var m=Error((o||"React class")+": "+n+" type `"+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[i]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw m.name="Invariant Violation",m}f=e[i](t,i,o,n,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(E){f=E}f&&!(f instanceof Error)&&(ue(u),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",o||"React class",n,i,typeof f),ue(null)),f instanceof Error&&!(f.message in gt)&&(gt[f.message]=!0,ue(u),g("Failed %s type: %s",n,f.message),ue(null))}}}function V(e){if(e){var t=e._owner,n=ae(e.type,e._source,t?t.type:null);ze(n)}else ze(null)}var ke;ke=!1;function bt(){if(j.current){var e=$(j.current.type);if(e)return`
Check the render method of \``+e+"`."}return""}function tn(e){if(e!==void 0){var t=e.fileName.replace(/^.*[\\\/]/,""),n=e.lineNumber;return`
Check your code at `+t+":"+n+"."}return""}function rn(e){return e!=null?tn(e.__source):""}var Et={};function nn(e){var t=bt();if(!t){var n=typeof e=="string"?e:e.displayName||e.name;n&&(t=`
Check the top-level render call using <`+n+">.")}return t}function Rt(e,t){if(!(!e._store||e._store.validated||e.key!=null)){e._store.validated=!0;var n=nn(t);if(!Et[n]){Et[n]=!0;var o="";e&&e._owner&&e._owner!==j.current&&(o=" It was passed a child from "+$(e._owner.type)+"."),V(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,o),V(null)}}}function wt(e,t){if(typeof e=="object"){if(Z(e))for(var n=0;n<e.length;n++){var o=e[n];U(o)&&Rt(o,t)}else if(U(e))e._store&&(e._store.validated=!0);else if(e){var u=Ye(e);if(typeof u=="function"&&u!==e.entries)for(var c=u.call(e),i;!(i=c.next()).done;)U(i.value)&&Rt(i.value,t)}}}function Ct(e){{var t=e.type;if(t==null||typeof t=="string")return;var n;if(typeof t=="function")n=t.propTypes;else if(typeof t=="object"&&(t.$$typeof===y||t.$$typeof===I))n=t.propTypes;else return;if(n){var o=$(t);en(n,e.props,"prop",o,e)}else if(t.PropTypes!==void 0&&!ke){ke=!0;var u=$(t);g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",u||"Unknown")}typeof t.getDefaultProps=="function"&&!t.getDefaultProps.isReactClassApproved&&g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function on(e){{for(var t=Object.keys(e.props),n=0;n<t.length;n++){var o=t[n];if(o!=="children"&&o!=="key"){V(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",o),V(null);break}}e.ref!==null&&(V(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),V(null))}}function Tt(e,t,n){var o=st(e);if(!o){var u="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(u+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var c=rn(t);c?u+=c:u+=bt();var i;e===null?i="null":Z(e)?i="array":e!==void 0&&e.$$typeof===a?(i="<"+($(e.type)||"Unknown")+" />",u=" Did you accidentally export a JSX literal instead of a component?"):i=typeof e,g("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",i,u)}var f=gr.apply(this,arguments);if(f==null)return f;if(o)for(var m=2;m<arguments.length;m++)wt(arguments[m],e);return e===d?on(f):Ct(f),f}var St=!1;function an(e){var t=Tt.bind(null,e);return t.type=e,St||(St=!0,N("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")),Object.defineProperty(t,"type",{enumerable:!1,get:function(){return N("Factory.type is deprecated. Access the class directly before passing it to createFactory."),Object.defineProperty(this,"type",{value:e}),e}}),t}function un(e,t,n){for(var o=br.apply(this,arguments),u=2;u<arguments.length;u++)wt(arguments[u],o.type);return Ct(o),o}function sn(e,t){var n=M.transition;M.transition={};var o=M.transition;M.transition._updatedFibers=new Set;try{e()}finally{if(M.transition=n,n===null&&o._updatedFibers){var u=o._updatedFibers.size;u>10&&N("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."),o._updatedFibers.clear()}}}var Ot=!1,ie=null;function cn(e){if(ie===null)try{var t=("require"+Math.random()).slice(0,7),n=pe&&pe[t];ie=n.call(pe,"timers").setImmediate}catch(o){ie=function(u){Ot===!1&&(Ot=!0,typeof MessageChannel=="undefined"&&g("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var c=new MessageChannel;c.port1.onmessage=u,c.port2.postMessage(void 0)}}return ie(e)}var W=0,kt=!1;function fn(e){{var t=W;W++,k.current===null&&(k.current=[]);var n=k.isBatchingLegacy,o;try{if(k.isBatchingLegacy=!0,o=e(),!n&&k.didScheduleLegacyUpdate){var u=k.current;u!==null&&(k.didScheduleLegacyUpdate=!1,xe(u))}}catch(C){throw se(t),C}finally{k.isBatchingLegacy=n}if(o!==null&&typeof o=="object"&&typeof o.then=="function"){var c=o,i=!1,f={then:function(C,S){i=!0,c.then(function(O){se(t),W===0?Pe(O,C,S):C(O)},function(O){se(t),S(O)})}};return!kt&&typeof Promise!="undefined"&&Promise.resolve().then(function(){}).then(function(){i||(kt=!0,g("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),f}else{var m=o;if(se(t),W===0){var E=k.current;E!==null&&(xe(E),k.current=null);var R={then:function(C,S){k.current===null?(k.current=[],Pe(m,C,S)):C(m)}};return R}else{var w={then:function(C,S){C(m)}};return w}}}}function se(e){e!==W-1&&g("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),W=e}function Pe(e,t,n){{var o=k.current;if(o!==null)try{xe(o),cn(function(){o.length===0?(k.current=null,t(e)):Pe(e,t,n)})}catch(u){n(u)}else t(e)}}var Ae=!1;function xe(e){if(!Ae){Ae=!0;var t=0;try{for(;t<e.length;t++){var n=e[t];do n=n(!0);while(n!==null)}e.length=0}catch(o){throw e=e.slice(t+1),o}finally{Ae=!1}}}var ln=Tt,dn=un,pn=an,vn={map:re,forEach:Tr,count:Cr,toArray:Sr,only:Or};v.Children=vn,v.Component=L,v.Fragment=d,v.Profiler=h,v.PureComponent=_e,v.StrictMode=l,v.Suspense=T,v.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=F,v.cloneElement=dn,v.createContext=kr,v.createElement=ln,v.createFactory=pn,v.createRef=fr,v.forwardRef=jr,v.isValidElement=U,v.lazy=xr,v.memo=Dr,v.startTransition=sn,v.unstable_act=fn,v.useCallback=Vr,v.useContext=Ir,v.useDebugValue=Br,v.useDeferredValue=Gr,v.useEffect=Fr,v.useId=Hr,v.useImperativeHandle=Yr,v.useInsertionEffect=Nr,v.useLayoutEffect=Ur,v.useMemo=Wr,v.useReducer=Lr,v.useRef=Mr,v.useState=$r,v.useSyncExternalStore=Kr,v.useTransition=zr,v.version=r,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()});var qt=De((Bn,Ne)=>{"use strict";process.env.NODE_ENV==="production"?Ne.exports=Ht():Ne.exports=Kt()});var Vn={};wn(Vn,{useGTM:()=>tr});module.exports=Tn(Vn);var B=Cn(qt());var ve="dataLayer",Qt="https://www.googletagmanager.com",Jt="gtm.js",Ue="gtm-script",Ve="gtm-noscript";var Xt=(r,a)=>r===void 0?"":a==="script"?`+ '&gtm_auth=${r.gtm_auth}&gtm_preview=${r.gtm_preview}&gtm_cookies_win=x'`:`&gtm_auth=${r.gtm_auth}&gtm_preview=${r.gtm_preview}&gtm_cookies_win=x`,Zt=r=>{let[a,s]=r==="script"?["Script","header"]:["Noscript","body"];console.info(`\u{1F7E2} [gtm-react-hook] GTM ${a} was added to ${s}`)},er=r=>{let{tagId:a,domain:s=Qt,script:d=Jt,dataLayerName:l=ve,nonce:h,environment:_,devMode:b}=r,y=document.createElement("script");y.id=Ue,y.setAttribute("data-testid",Ue),h&&y.setAttribute("nonce",h);let T=Xt(_,"script");y.innerHTML=`(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
"use strict";var p=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols;var E=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var _=(e,t,o)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,A=(e,t)=>{for(var o in t||(t={}))E.call(t,o)&&_(e,o,t[o]);if(l)for(var o of l(t))C.call(t,o)&&_(e,o,t[o]);return e};var R=(e,t)=>{for(var o in t)p(e,o,{get:t[o],enumerable:!0})},b=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of $(t))!E.call(e,n)&&n!==o&&p(e,n,{get:()=>t[n],enumerable:!(i=L(t,n))||i.enumerable});return e};var x=e=>b(p({},"__esModule",{value:!0}),e);var G={};R(G,{useGTM:()=>D});module.exports=x(G);var s=require("react");var g="dataLayer",h="https://www.googletagmanager.com",w="gtm.js",f="gtm-script",T="gtm-noscript";var y=(e,t)=>e===void 0?"":t==="script"?`+ '&gtm_auth=${e.gtm_auth}&gtm_preview=${e.gtm_preview}&gtm_cookies_win=x'`:`&gtm_auth=${e.gtm_auth}&gtm_preview=${e.gtm_preview}&gtm_cookies_win=x`,M=e=>{let[t,o]=e==="script"?["Script","header"]:["Noscript","body"];console.info(`\u{1F7E2} [gtm-react-hook] GTM ${t} was added to ${o}`)},v=e=>{let{tagId:t,domain:o=h,script:i=w,dataLayerName:n=g,nonce:r,environment:c,devMode:m}=e,d=document.createElement("script");d.id=f,d.setAttribute("data-testid",f),r&&d.setAttribute("nonce",r);let u=y(c,"script");d.innerHTML=`(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'${s}/${d}?id='+i+dl${T};f.parentNode.insertBefore(j,f);
})(window,document,'script','${l}','${a}');`,document.head.insertBefore(y,document.head.childNodes[0]),b&&Zt("script");let x=document.createElement("noscript");x.id=Ve,x.setAttribute("data-testid",Ve);let I=Xt(_,"noscript");x.innerHTML=`<iframe
src="${s}/ns.html?id=${a}${I}"
'${o}/${i}?id='+i+dl${u};f.parentNode.insertBefore(j,f);
})(window,document,'script','${n}','${t}');`,document.head.insertBefore(d,document.head.childNodes[0]),m&&M("script");let a=document.createElement("noscript");a.id=T,a.setAttribute("data-testid",T);let I=y(c,"noscript");a.innerHTML=`<iframe
src="${o}/ns.html?id=${t}${I}"
height="0"
width="0"
style="display:none;visibility:hidden"
/>`,document.body.insertBefore(x,document.body.childNodes[0]),b&&Zt("noscript")};var tr=()=>{let r=B.default.useRef(ve),a=B.default.useRef(!1),s=B.default.useCallback(({tagId:l,dataLayerName:h,domain:_,environment:b,nonce:y,script:T,devMode:x})=>{x&&(a.current=!0),er({tagId:l,dataLayerName:h,domain:_,environment:b,nonce:y,script:T,devMode:x}),typeof h=="string"&&(r.current=h)},[]),d=B.default.useCallback((l,h)=>{if(r.current in window){let _=$t({event:l},h);window[r.current].push(_),a.current&&console.info("\u{1F535} [gtm-react-hook] Event has sent! Payload:",_)}},[]);return B.default.useMemo(()=>({runGTM:s,eventGTM:d}),[s,d])};0&&(module.exports={useGTM});
/*! Bundled license information:
react/cjs/react.production.min.js:
(**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
react/cjs/react.development.js:
(**
* @license React
* react.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
*/
/>`,document.body.insertBefore(a,document.body.childNodes[0]),m&&M("noscript")};var D=()=>{let e=(0,s.useRef)(g),t=(0,s.useRef)(!1),o=(0,s.useCallback)(({tagId:n,dataLayerName:r,domain:c,environment:m,nonce:d,script:u,devMode:a})=>{a&&(t.current=!0),v({tagId:n,dataLayerName:r,domain:c,environment:m,nonce:d,script:u,devMode:a}),typeof r=="string"&&(e.current=r)},[]),i=(0,s.useCallback)((n,r)=>{if(e.current in window){let c=A({event:n},r);window[e.current].push(c),t.current&&console.info("\u{1F535} [gtm-react-hook] Event has sent! Payload:",c)}},[]);return(0,s.useMemo)(()=>({runGTM:o,eventGTM:i}),[o,i])};0&&(module.exports={useGTM});

2

package.json
{
"name": "gtm-react-hook",
"description": "Easy-to-use React hooks for Google Tag Management based on TypeScript",
"version": "0.0.12",
"version": "0.0.13",
"dependencies": {

@@ -6,0 +6,0 @@ "react": "^18.2.0",

@@ -5,8 +5,8 @@ # 📊 Easy-to-use React hooks for Google Tag Management based on TypeScript

- Zero dependencies
- Based on React hooks
- Fully typed with TypeScript
- Based on React hooks
- Small bundle size <4k
- Support tools for custom GTM configuration
- Zero dependencies
- Logging events
- Small bundle size
- Test covered

@@ -13,0 +13,0 @@

@@ -1,2 +0,2 @@

import { useRef, useMemo, useCallback } from 'react';
import { useRef, useMemo, useCallback } from "react";
import { createTags } from "../utils/tags";

@@ -3,0 +3,0 @@ import { DEFAULT_DATALAYER_NAME } from "../utils/consts";

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc