stone-analytics 0.0.3 → 0.0.4

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.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var T=(e,s)=>{for(var n in s)p(e,n,{get:s[n],enumerable:!0})},u=(e,s,n,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let i of g(s))!y.call(e,i)&&i!==n&&p(e,i,{get:()=>s[i],enumerable:!(r=f(s,i))||r.enumerable});return e};var v=e=>u(p({},"__esModule",{value:!0}),e);var I={};T(I,{sendAnalytics:()=>P,setClientId:()=>h,setSessionId:()=>w});module.exports=v(I);var m=require("cookies-next");var a=()=>String(Date.now())+String(Math.floor(Math.random()*9e8)+1e8);var w=()=>{let e=a();(0,m.setCookie)("st_session_id",e)},h=()=>{let e=a();(0,m.setCookie)("st_client_id",e,{maxAge:31536e3})};var o=require("cookies-next");var _=e=>{var s,n;if(typeof window<"u"){let r=window.location.pathname,i=window.location.href,t={event:e.event,st_event_id:(s=e.params)==null?void 0:s.st_event_id,abTestGroup:(n=e.params)==null?void 0:n.abTestGroup,page_path:r,page_url:i};e.params.st_session_id&&(t.st_session_id=e.params.st_session_id),e.params.st_client_id&&(t.st_client_id=e.params.st_client_id),e.params.project&&(t.project=e.params.project),e.params.lot_id&&(t.lot_id=e.params.lot_id),process.env.NEXT_PUBLIC_IS_TEST==="false"&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push(t),console.log("dataLayerPush:",t))}};var c=e=>{if(typeof ym<"u"&&typeof window<"u"){let s=process.env.NEXT_PUBLIC_IS_TEST==="false";(typeof process.env.NEXT_PUBLIC_YM_COUNTER>"u"||!process.env.NEXT_PUBLIC_YM_COUNTER)&&console.log("Yandex counter \u043D\u0435 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D \u0432 \u043A\u043E\u043D\u0444\u0438\u0433\u0435 .env.local"),s&&(ym(process.env.NEXT_PUBLIC_YM_COUNTER,"reachGoal",e.target,e.params),console.log("Yandex Metrika "+process.env.NEXT_PUBLIC_YM_COUNTER+" reachGoal: "+e.target,e.params))}else console.log("Yandex Metrika \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430")};var l=async e=>{if(typeof window<"u"){let s=process.env.NEXT_PUBLIC_IS_TEST==="false",n="https://stone.ru/api/analytics/send-event",r=window.location.pathname,i=window.location.href,t=new FormData;t.append("event",e.event),t.append("name",e.name),t.append("payload",JSON.stringify({...e.params,page_path:r,page_url:i})),(s?navigator.sendBeacon(n,t):null)||console.log("error send anal")}else return};var P=e=>{let s=process.env.NEXT_PUBLIC_IS_TEST==="false";e.params=e.params||{},e.params.st_event_id=a();let n=String((0,o.getCookie)("_ym_uid"));n&&n!=""&&(e.params.ym_client_id=n);let r=String((0,o.getCookie)("_ga"));r&&r!=""&&(e.params.ga_client_id=r);let i=String((0,o.getCookie)("st_client_id"));i&&i!=""&&(e.params.st_client_id=i);let t=String((0,o.getCookie)("st_session_id"));t&&t!=""&&(e.params.st_session_id=t),s&&(_({event:e.event,params:e.params}),c({target:e.event,params:e.params}),l({event:e.event,name:e.name,params:e.params}))};0&&(module.exports={sendAnalytics,setClientId,setSessionId});
1
+ var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var T=(e,s)=>{for(var n in s)p(e,n,{get:s[n],enumerable:!0})},u=(e,s,n,a)=>{if(s&&typeof s=="object"||typeof s=="function")for(let i of y(s))!g.call(e,i)&&i!==n&&p(e,i,{get:()=>s[i],enumerable:!(a=f(s,i))||a.enumerable});return e};var v=e=>u(p({},"__esModule",{value:!0}),e);var I={};T(I,{sendAnalytics:()=>P,setClientId:()=>h,setSessionId:()=>w});module.exports=v(I);var m=require("cookies-next");var r=()=>String(Date.now())+String(Math.floor(Math.random()*9e8)+1e8);var w=()=>{let e=r();(0,m.setCookie)("st_session_id",e)},h=()=>{let e=r();(0,m.setCookie)("st_client_id",e,{maxAge:31536e3})};var o=require("cookies-next");var c=e=>{var s,n;if(typeof window<"u"){let a=window.location.pathname,i=window.location.href,t={event:e.event,st_event_id:(s=e.params)==null?void 0:s.st_event_id,abTestGroup:(n=e.params)==null?void 0:n.abTestGroup,page_path:a,page_url:i};e.params.st_session_id&&(t.st_session_id=e.params.st_session_id),e.params.st_client_id&&(t.st_client_id=e.params.st_client_id),e.params.project&&(t.project=e.params.project),e.params.lot_id&&(t.lot_id=e.params.lot_id),process.env.NEXT_PUBLIC_IS_TEST==="false"&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push(t),console.log("dataLayerPush:",t))}};var l=e=>{if(typeof ym<"u"&&typeof window<"u"){let s=process.env.NEXT_PUBLIC_IS_TEST==="false";(typeof process.env.NEXT_PUBLIC_YM_COUNTER>"u"||!process.env.NEXT_PUBLIC_YM_COUNTER)&&console.log("Yandex counter \u043D\u0435 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D \u0432 \u043A\u043E\u043D\u0444\u0438\u0433\u0435 .env.local"),s&&(ym(process.env.NEXT_PUBLIC_YM_COUNTER,"reachGoal",e.target,e.params),console.log("Yandex Metrika "+process.env.NEXT_PUBLIC_YM_COUNTER+" reachGoal: "+e.target,e.params))}else console.log("Yandex Metrika \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430")};var d=async e=>{if(typeof window<"u"){let s=process.env.NEXT_PUBLIC_IS_TEST==="false",n="https://stone.ru/api/analytics/send-event",a=window.location.pathname,i=window.location.href,t=new FormData;t.append("event",e.event),t.append("name",e.name);let _=new Blob([JSON.stringify({...e.params,page_path:a,page_url:i})],{type:"application/json"});t.append("payload",_),(s?navigator.sendBeacon(n,t):null)||console.log("error send anal")}else return};var P=e=>{let s=process.env.NEXT_PUBLIC_IS_TEST==="false";e.params=e.params||{},e.params.st_event_id=r();let n=String((0,o.getCookie)("_ym_uid"));n&&n!=""&&(e.params.ym_client_id=n);let a=String((0,o.getCookie)("_ga"));a&&a!=""&&(e.params.ga_client_id=a);let i=String((0,o.getCookie)("st_client_id"));i&&i!=""&&(e.params.st_client_id=i);let t=String((0,o.getCookie)("st_session_id"));t&&t!=""&&(e.params.st_session_id=t),s&&(c({event:e.event,params:e.params}),l({target:e.event,params:e.params}),d({event:e.event,name:e.name,params:e.params}))};0&&(module.exports={sendAnalytics,setClientId,setSessionId});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/utils/setId.ts","../src/utils/makeUID.ts","../src/sendAnalytics/sendAnalytics.ts","../src/dataLayerPush/dataLayerPush.ts","../src/ymTarget/ymaTarget.ts","../src/sendAnalyticsToAPI/sendAnalyticsToAPI.ts"],"sourcesContent":["export * from './utils/setId'\nexport * from './sendAnalytics/sendAnalytics'\n","import { setCookie } from 'cookies-next'\nimport { makeTimeBasedUID } from './makeUID'\n\nexport const setSessionId = (): void => {\n\tconst newId = makeTimeBasedUID()\n\tsetCookie('st_session_id', newId)\n}\n\nexport const setClientId = (): void => {\n\tconst newId = makeTimeBasedUID()\n\t//на год\n\tsetCookie('st_client_id', newId, { maxAge: 31536000 })\n}\n\n","export const makeTimeBasedUID = (): string => {\n\treturn (\n\t\tString(Date.now()) + String(Math.floor(Math.random() * (999999999 - 100000000 + 1)) + 100000000)\n\t)\n}","import { getCookie } from 'cookies-next'\nimport { TAnalyticsData } from '../types/analytics'\nimport { dataLayerPush } from '../dataLayerPush/dataLayerPush'\nimport { ymTarget } from '../ymTarget/ymaTarget'\nimport { sendAnalyticsToAPI } from '../sendAnalyticsToAPI/sendAnalyticsToAPI'\nimport { makeTimeBasedUID } from '../utils/makeUID'\n\nexport const sendAnalytics = (data: TAnalyticsData) => {\n\tconst isProd = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\n\tdata.params = data.params || {}\n\t//event_id - Уникальный ID события\n\tdata.params.st_event_id = makeTimeBasedUID()\n\n\tconst _ym_uid = String(getCookie('_ym_uid'))\n\tif (_ym_uid && _ym_uid != '') {\n\t\tdata.params.ym_client_id = _ym_uid\n\t}\n\tconst _ga = String(getCookie('_ga'))\n\tif (_ga && _ga != '') {\n\t\tdata.params.ga_client_id = _ga\n\t}\n\tconst st_client_id = String(getCookie('st_client_id'))\n\tif (st_client_id && st_client_id != '') {\n\t\tdata.params.st_client_id = st_client_id\n\t}\n\tconst st_session_id = String(getCookie('st_session_id'))\n\tif (st_session_id && st_session_id != '') {\n\t\tdata.params.st_session_id = st_session_id\n\t}\n\n\tif (isProd) {\n\t\tdataLayerPush({ event: data.event, params: data.params })\n\t\tymTarget({ target: data.event, params: data.params })\n\t\tsendAnalyticsToAPI({ event: data.event, name: data.name, params: data.params })\n\t}\n}\n\n","import { TAnalyticsVisitParams } from '../types/analytics'\n\nexport type TGADataLayer = {\n\tevent: string\n\tparams: TAnalyticsVisitParams\n}\n\nexport type DataLayerPush = {\n\tevent: string\n\tpage_path: string\n\tpage_url: string\n\tst_event_id?: string\n\tst_client_id?: string\n\tst_session_id?: string\n\tabTestGroup?: string\n\tproject?: string\n\tlot_id?: string | number\n}\n\ndeclare global {\n\tinterface Window {\n\t\tdataLayer: DataLayerPush[]\n\t}\n}\n\nexport const dataLayerPush = (data: TGADataLayer) => {\n\tif (typeof window !== 'undefined') {\n\t\tconst pathname = window.location.pathname\n\t\tconst href = window.location.href\n\t\tconst layerEvent: DataLayerPush = {\n\t\t\tevent: data.event,\n\t\t\tst_event_id: data.params?.st_event_id,\n\t\t\tabTestGroup: data.params?.abTestGroup,\n\t\t\tpage_path: pathname,\n\t\t\tpage_url: href,\n\t\t}\n\t\tif (data.params.st_session_id) {\n\t\t\tlayerEvent.st_session_id = data.params.st_session_id\n\t\t}\n\t\tif (data.params.st_client_id) {\n\t\t\tlayerEvent.st_client_id = data.params.st_client_id\n\t\t}\n\t\tif (data.params.project) {\n\t\t\tlayerEvent.project = data.params.project\n\t\t}\n\t\tif (data.params.lot_id) {\n\t\t\tlayerEvent.lot_id = data.params.lot_id\n\t\t}\n\t\tconst isNeedSend = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\t\tif (isNeedSend) {\n\t\t\twindow.dataLayer = window.dataLayer || []\n\t\t\twindow.dataLayer.push(layerEvent)\n\t\t\tconsole.log('dataLayerPush:', layerEvent)\n\t\t}\n\t}\n}\n\n","import { TAnalyticsVisitParams } from '../types/analytics'\n\nexport type TYMTarget = {\n\ttarget: string\n\tparams: TAnalyticsVisitParams\n}\n\ndeclare let ym: any\n/**\n * Отправка события в Яндек метрику\n * @param data\n */\nexport const ymTarget = (data: TYMTarget) => {\n\tif (typeof ym !== 'undefined' && typeof window !== 'undefined') {\n\t\tconst isNeedSend = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\t\tif (\n\t\t\ttypeof process.env.NEXT_PUBLIC_YM_COUNTER == 'undefined' ||\n\t\t\t!process.env.NEXT_PUBLIC_YM_COUNTER\n\t\t) {\n\t\t\tconsole.log('Yandex counter не определен в конфиге .env.local')\n\t\t}\n\t\tif (isNeedSend) {\n\t\t\tym(process.env.NEXT_PUBLIC_YM_COUNTER, 'reachGoal', data.target, data.params)\n\n\t\t\tconsole.log(\n\t\t\t\t'Yandex Metrika ' + process.env.NEXT_PUBLIC_YM_COUNTER + ' reachGoal: ' + data.target,\n\t\t\t\tdata.params\n\t\t\t)\n\t\t}\n\t} else {\n\t\tconsole.log('Yandex Metrika не найдена')\n\t}\n}\n","import { TAnalyticsVisitParams } from '../types/analytics'\n\nexport type TAnalyticsApiData = {\n\tevent: string\n\tname: string\n\tmouse_X?: string\n\tmouse_Y?: string\n\tparams: TAnalyticsVisitParams\n}\n\nexport const sendAnalyticsToAPI = async (data: TAnalyticsApiData) => {\n\tif (typeof window !== 'undefined') {\n\t\tconst isNeedSend = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\t\tconst url = `https://stone.ru/api/analytics/send-event`\n\t\tconst pathname = window.location.pathname\n\t\tconst href = window.location.href\n\t\tconst formData = new FormData()\n\t\tformData.append('event', data.event)\n\t\tformData.append('name', data.name)\n\t\tformData.append(\n\t\t\t'payload',\n\t\t\tJSON.stringify({ ...data.params, page_path: pathname, page_url: href })\n\t\t)\n\t\t// const formData = {\n\t\t// \tevent: data.event,\n\t\t// \tname: data.name,\n\t\t// \tpayload: { ...data.params, ...{ page_path: pathname, page_url: href } },\n\t\t// }\n\t\tconst result = isNeedSend ? navigator.sendBeacon(url, formData) : null\n\t\tif (result) {\n\t\t} else {\n\t\t\tconsole.log('error send anal')\n\t\t}\n\t} else return\n}\n\n"],"mappings":"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","names":["src_exports","__export","sendAnalytics","setClientId","setSessionId","__toCommonJS","import_cookies_next","makeTimeBasedUID","setSessionId","newId","makeTimeBasedUID","setClientId","import_cookies_next","dataLayerPush","data","_a","_b","pathname","href","layerEvent","ymTarget","data","isNeedSend","sendAnalyticsToAPI","data","isNeedSend","url","pathname","href","formData","sendAnalytics","data","isProd","makeTimeBasedUID","_ym_uid","_ga","st_client_id","st_session_id","dataLayerPush","ymTarget","sendAnalyticsToAPI"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/utils/setId.ts","../src/utils/makeUID.ts","../src/sendAnalytics/sendAnalytics.ts","../src/dataLayerPush/dataLayerPush.ts","../src/ymTarget/ymaTarget.ts","../src/sendAnalyticsToAPI/sendAnalyticsToAPI.ts"],"sourcesContent":["export * from './utils/setId'\nexport * from './sendAnalytics/sendAnalytics'\n","import { setCookie } from 'cookies-next'\nimport { makeTimeBasedUID } from './makeUID'\n\nexport const setSessionId = (): void => {\n\tconst newId = makeTimeBasedUID()\n\tsetCookie('st_session_id', newId)\n}\n\nexport const setClientId = (): void => {\n\tconst newId = makeTimeBasedUID()\n\t//на год\n\tsetCookie('st_client_id', newId, { maxAge: 31536000 })\n}\n\n","export const makeTimeBasedUID = (): string => {\n\treturn (\n\t\tString(Date.now()) + String(Math.floor(Math.random() * (999999999 - 100000000 + 1)) + 100000000)\n\t)\n}","import { getCookie } from 'cookies-next'\nimport { TAnalyticsData } from '../types/analytics'\nimport { dataLayerPush } from '../dataLayerPush/dataLayerPush'\nimport { ymTarget } from '../ymTarget/ymaTarget'\nimport { sendAnalyticsToAPI } from '../sendAnalyticsToAPI/sendAnalyticsToAPI'\nimport { makeTimeBasedUID } from '../utils/makeUID'\n\nexport const sendAnalytics = (data: TAnalyticsData) => {\n\tconst isProd = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\n\tdata.params = data.params || {}\n\t//event_id - Уникальный ID события\n\tdata.params.st_event_id = makeTimeBasedUID()\n\n\tconst _ym_uid = String(getCookie('_ym_uid'))\n\tif (_ym_uid && _ym_uid != '') {\n\t\tdata.params.ym_client_id = _ym_uid\n\t}\n\tconst _ga = String(getCookie('_ga'))\n\tif (_ga && _ga != '') {\n\t\tdata.params.ga_client_id = _ga\n\t}\n\tconst st_client_id = String(getCookie('st_client_id'))\n\tif (st_client_id && st_client_id != '') {\n\t\tdata.params.st_client_id = st_client_id\n\t}\n\tconst st_session_id = String(getCookie('st_session_id'))\n\tif (st_session_id && st_session_id != '') {\n\t\tdata.params.st_session_id = st_session_id\n\t}\n\n\tif (isProd) {\n\t\tdataLayerPush({ event: data.event, params: data.params })\n\t\tymTarget({ target: data.event, params: data.params })\n\t\tsendAnalyticsToAPI({ event: data.event, name: data.name, params: data.params })\n\t}\n}\n\n","import { TAnalyticsVisitParams } from '../types/analytics'\n\nexport type TGADataLayer = {\n\tevent: string\n\tparams: TAnalyticsVisitParams\n}\n\nexport type DataLayerPush = {\n\tevent: string\n\tpage_path: string\n\tpage_url: string\n\tst_event_id?: string\n\tst_client_id?: string\n\tst_session_id?: string\n\tabTestGroup?: string\n\tproject?: string\n\tlot_id?: string | number\n}\n\ndeclare global {\n\tinterface Window {\n\t\tdataLayer: DataLayerPush[]\n\t}\n}\n\nexport const dataLayerPush = (data: TGADataLayer) => {\n\tif (typeof window !== 'undefined') {\n\t\tconst pathname = window.location.pathname\n\t\tconst href = window.location.href\n\t\tconst layerEvent: DataLayerPush = {\n\t\t\tevent: data.event,\n\t\t\tst_event_id: data.params?.st_event_id,\n\t\t\tabTestGroup: data.params?.abTestGroup,\n\t\t\tpage_path: pathname,\n\t\t\tpage_url: href,\n\t\t}\n\t\tif (data.params.st_session_id) {\n\t\t\tlayerEvent.st_session_id = data.params.st_session_id\n\t\t}\n\t\tif (data.params.st_client_id) {\n\t\t\tlayerEvent.st_client_id = data.params.st_client_id\n\t\t}\n\t\tif (data.params.project) {\n\t\t\tlayerEvent.project = data.params.project\n\t\t}\n\t\tif (data.params.lot_id) {\n\t\t\tlayerEvent.lot_id = data.params.lot_id\n\t\t}\n\t\tconst isNeedSend = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\t\tif (isNeedSend) {\n\t\t\twindow.dataLayer = window.dataLayer || []\n\t\t\twindow.dataLayer.push(layerEvent)\n\t\t\tconsole.log('dataLayerPush:', layerEvent)\n\t\t}\n\t}\n}\n\n","import { TAnalyticsVisitParams } from '../types/analytics'\n\nexport type TYMTarget = {\n\ttarget: string\n\tparams: TAnalyticsVisitParams\n}\n\ndeclare let ym: any\n/**\n * Отправка события в Яндек метрику\n * @param data\n */\nexport const ymTarget = (data: TYMTarget) => {\n\tif (typeof ym !== 'undefined' && typeof window !== 'undefined') {\n\t\tconst isNeedSend = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\t\tif (\n\t\t\ttypeof process.env.NEXT_PUBLIC_YM_COUNTER == 'undefined' ||\n\t\t\t!process.env.NEXT_PUBLIC_YM_COUNTER\n\t\t) {\n\t\t\tconsole.log('Yandex counter не определен в конфиге .env.local')\n\t\t}\n\t\tif (isNeedSend) {\n\t\t\tym(process.env.NEXT_PUBLIC_YM_COUNTER, 'reachGoal', data.target, data.params)\n\n\t\t\tconsole.log(\n\t\t\t\t'Yandex Metrika ' + process.env.NEXT_PUBLIC_YM_COUNTER + ' reachGoal: ' + data.target,\n\t\t\t\tdata.params\n\t\t\t)\n\t\t}\n\t} else {\n\t\tconsole.log('Yandex Metrika не найдена')\n\t}\n}\n","import { TAnalyticsVisitParams } from '../types/analytics'\n\nexport type TAnalyticsApiData = {\n\tevent: string\n\tname: string\n\tmouse_X?: string\n\tmouse_Y?: string\n\tparams: TAnalyticsVisitParams\n}\n\nexport const sendAnalyticsToAPI = async (data: TAnalyticsApiData) => {\n\tif (typeof window !== 'undefined') {\n\t\tconst isNeedSend = process.env.NEXT_PUBLIC_IS_TEST === 'false'\n\t\tconst url = `https://stone.ru/api/analytics/send-event`\n\t\tconst pathname = window.location.pathname\n\t\tconst href = window.location.href\n\t\tconst formData = new FormData()\n\t\tformData.append('event', data.event)\n\t\tformData.append('name', data.name)\n\t\tconst payloadBlob = new Blob(\n\t\t\t[JSON.stringify({ ...data.params, ...{ page_path: pathname, page_url: href } })],\n\t\t\t{ type: 'application/json' }\n\t\t)\n\t\tformData.append('payload', payloadBlob)\n\t\t// const formData = {\n\t\t// \tevent: data.event,\n\t\t// \tname: data.name,\n\t\t// \tpayload: { ...data.params, ...{ page_path: pathname, page_url: href } },\n\t\t// }\n\t\tconst result = isNeedSend ? navigator.sendBeacon(url, formData) : null\n\t\tif (result) {\n\t\t} else {\n\t\t\tconsole.log('error send anal')\n\t\t}\n\t} else return\n}\n\n"],"mappings":"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","names":["src_exports","__export","sendAnalytics","setClientId","setSessionId","__toCommonJS","import_cookies_next","makeTimeBasedUID","setSessionId","newId","makeTimeBasedUID","setClientId","import_cookies_next","dataLayerPush","data","_a","_b","pathname","href","layerEvent","ymTarget","data","isNeedSend","sendAnalyticsToAPI","data","isNeedSend","url","pathname","href","formData","payloadBlob","sendAnalytics","data","isProd","makeTimeBasedUID","_ym_uid","_ga","st_client_id","st_session_id","dataLayerPush","ymTarget","sendAnalyticsToAPI"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stone-analytics",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "send stanal",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",