@jitsu/jitsu-react 1.0.0-canary-20230211030946 → 1.0.0-canary-20230211032904

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,5 +1,4 @@
1
1
  var React = require('react');
2
- var src = require('@jitsu/js/compiled/src');
3
2
  var js = require('@jitsu/js');
4
3
 
5
4
  var JitsuContext = React.createContext(null);
@@ -14,7 +13,7 @@ var JitsuProvider = function JitsuProvider(props) {
14
13
  console.error(msg);
15
14
  return React.createElement(React.Fragment, null, props.children);
16
15
  }
17
- var analytics = src.jitsuAnalytics(props.options);
16
+ var analytics = js.jitsuAnalytics(props.options);
18
17
  return React.createElement(JitsuContext.Provider, {
19
18
  value: analytics
20
19
  }, props.children);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nconst JitsuContext = createContext<AnalyticsInterface | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport { jitsuAnalytics } from \"@jitsu/js/compiled/src\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n if (props.options.disabled) {\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n console.error(msg);\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n const analytics = jitsuAnalytics(props.options);\n return <JitsuContext.Provider value={analytics}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext, useEffect } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport type { useLocation } from \"react-router-dom\";\nimport type { useRouter } from \"next/router\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type RouterOptions =\n | { reactRouter: ReturnType<typeof useLocation>; nextjsRouter?: never }\n | { reactRouter?: never; nextjsRouter: ReturnType<typeof useRouter> };\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n autoPageTracking?: RouterOptions;\n echoEvents?: boolean;\n before?: BeforeEffect;\n })\n | { disabled: true };\n\n\nconst emptyAnalytics = {\n analytics: {\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n },\n};\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n if (opts?.disabled) {\n return emptyAnalytics;\n }\n let cl = useContext(JitsuContext);\n if (!cl) {\n if (opts?.host || opts?.echoEvents) {\n cl = jitsuAnalytics(opts);\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n return emptyAnalytics;\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n }\n const client = cl;\n\n const reactLocationHook: ReturnType<typeof useLocation> | null =\n opts?.autoPageTracking && opts.autoPageTracking.reactRouter ? opts.autoPageTracking.reactRouter : null;\n const before = opts?.before ? opts.before.effect : null;\n const nextjsLocationHook =\n opts?.autoPageTracking && opts.autoPageTracking.nextjsRouter ? opts.autoPageTracking.nextjsRouter : null;\n useEffect(() => {\n if (before) {\n before(client);\n }\n }, opts?.before?.deps || []);\n\n useEffect(() => {\n if (reactLocationHook) {\n client.page();\n } else if (nextjsLocationHook) {\n client.page();\n }\n }, [reactLocationHook, nextjsLocationHook?.asPath]);\n\n return { analytics: client };\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","options","disabled","React","children","host","msg","console","error","analytics","jitsuAnalytics","Provider","value","emptyAnalytics","track","Promise","resolve","page","user","identify","reset","useJitsu","opts","cl","useContext","echoEvents","Error","client","reactLocationHook","autoPageTracking","reactRouter","before","effect","nextjsLocationHook","nextjsRouter","useEffect","deps","asPath"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nconst JitsuContext = createContext<AnalyticsInterface | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport { jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n if (props.options.disabled) {\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n console.error(msg);\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n const analytics = jitsuAnalytics(props.options);\n return <JitsuContext.Provider value={analytics}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext, useEffect } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport type { useLocation } from \"react-router-dom\";\nimport type { useRouter } from \"next/router\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type RouterOptions =\n | { reactRouter: ReturnType<typeof useLocation>; nextjsRouter?: never }\n | { reactRouter?: never; nextjsRouter: ReturnType<typeof useRouter> };\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n autoPageTracking?: RouterOptions;\n echoEvents?: boolean;\n before?: BeforeEffect;\n })\n | { disabled: true };\n\nconst emptyAnalytics = {\n analytics: {\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n },\n};\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n if (opts?.disabled) {\n return emptyAnalytics;\n }\n let cl = useContext(JitsuContext);\n if (!cl) {\n if (opts?.host || opts?.echoEvents) {\n cl = jitsuAnalytics(opts);\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n return emptyAnalytics;\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n }\n const client = cl;\n\n const reactLocationHook: ReturnType<typeof useLocation> | null =\n opts?.autoPageTracking && opts.autoPageTracking.reactRouter ? opts.autoPageTracking.reactRouter : null;\n const before = opts?.before ? opts.before.effect : null;\n const nextjsLocationHook =\n opts?.autoPageTracking && opts.autoPageTracking.nextjsRouter ? opts.autoPageTracking.nextjsRouter : null;\n useEffect(() => {\n if (before) {\n before(client);\n }\n }, opts?.before?.deps || []);\n\n useEffect(() => {\n if (reactLocationHook) {\n client.page();\n } else if (nextjsLocationHook) {\n client.page();\n }\n }, [reactLocationHook, nextjsLocationHook?.asPath]);\n\n return { analytics: client };\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","options","disabled","React","children","host","msg","console","error","analytics","jitsuAnalytics","Provider","value","emptyAnalytics","track","Promise","resolve","page","user","identify","reset","useJitsu","opts","cl","useContext","echoEvents","Error","client","reactLocationHook","autoPageTracking","reactRouter","before","effect","nextjsLocationHook","nextjsRouter","useEffect","deps","asPath"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { createContext, createElement, Fragment, useContext, useEffect } from 'react';
2
- import { jitsuAnalytics } from '@jitsu/js/compiled/src';
3
- import { jitsuAnalytics as jitsuAnalytics$1 } from '@jitsu/js';
2
+ import { jitsuAnalytics } from '@jitsu/js';
4
3
 
5
4
  var JitsuContext = createContext(null);
6
5
 
@@ -47,7 +46,7 @@ function useJitsu(opts) {
47
46
  var cl = useContext(JitsuContext);
48
47
  if (!cl) {
49
48
  if (opts !== null && opts !== void 0 && opts.host || opts !== null && opts !== void 0 && opts.echoEvents) {
50
- cl = jitsuAnalytics$1(opts);
49
+ cl = jitsuAnalytics(opts);
51
50
  } else {
52
51
  var msg = "Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react";
53
52
  console.error("%c" + msg, "color: red; font-size: 16px; font-weight: bold;");
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nconst JitsuContext = createContext<AnalyticsInterface | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport { jitsuAnalytics } from \"@jitsu/js/compiled/src\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n if (props.options.disabled) {\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n console.error(msg);\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n const analytics = jitsuAnalytics(props.options);\n return <JitsuContext.Provider value={analytics}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext, useEffect } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport type { useLocation } from \"react-router-dom\";\nimport type { useRouter } from \"next/router\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type RouterOptions =\n | { reactRouter: ReturnType<typeof useLocation>; nextjsRouter?: never }\n | { reactRouter?: never; nextjsRouter: ReturnType<typeof useRouter> };\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n autoPageTracking?: RouterOptions;\n echoEvents?: boolean;\n before?: BeforeEffect;\n })\n | { disabled: true };\n\n\nconst emptyAnalytics = {\n analytics: {\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n },\n};\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n if (opts?.disabled) {\n return emptyAnalytics;\n }\n let cl = useContext(JitsuContext);\n if (!cl) {\n if (opts?.host || opts?.echoEvents) {\n cl = jitsuAnalytics(opts);\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n return emptyAnalytics;\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n }\n const client = cl;\n\n const reactLocationHook: ReturnType<typeof useLocation> | null =\n opts?.autoPageTracking && opts.autoPageTracking.reactRouter ? opts.autoPageTracking.reactRouter : null;\n const before = opts?.before ? opts.before.effect : null;\n const nextjsLocationHook =\n opts?.autoPageTracking && opts.autoPageTracking.nextjsRouter ? opts.autoPageTracking.nextjsRouter : null;\n useEffect(() => {\n if (before) {\n before(client);\n }\n }, opts?.before?.deps || []);\n\n useEffect(() => {\n if (reactLocationHook) {\n client.page();\n } else if (nextjsLocationHook) {\n client.page();\n }\n }, [reactLocationHook, nextjsLocationHook?.asPath]);\n\n return { analytics: client };\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","options","disabled","React","children","host","msg","console","error","analytics","jitsuAnalytics","Provider","value","emptyAnalytics","track","Promise","resolve","page","user","identify","reset","useJitsu","opts","cl","useContext","echoEvents","Error","client","reactLocationHook","autoPageTracking","reactRouter","before","effect","nextjsLocationHook","nextjsRouter","useEffect","deps","asPath"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nconst JitsuContext = createContext<AnalyticsInterface | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport { jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n if (props.options.disabled) {\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n console.error(msg);\n return <React.Fragment>{props.children}</React.Fragment>;\n }\n const analytics = jitsuAnalytics(props.options);\n return <JitsuContext.Provider value={analytics}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext, useEffect } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\nimport type { useLocation } from \"react-router-dom\";\nimport type { useRouter } from \"next/router\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type RouterOptions =\n | { reactRouter: ReturnType<typeof useLocation>; nextjsRouter?: never }\n | { reactRouter?: never; nextjsRouter: ReturnType<typeof useRouter> };\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n autoPageTracking?: RouterOptions;\n echoEvents?: boolean;\n before?: BeforeEffect;\n })\n | { disabled: true };\n\nconst emptyAnalytics = {\n analytics: {\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n },\n};\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n if (opts?.disabled) {\n return emptyAnalytics;\n }\n let cl = useContext(JitsuContext);\n if (!cl) {\n if (opts?.host || opts?.echoEvents) {\n cl = jitsuAnalytics(opts);\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-size: 16px; font-weight: bold;\");\n return emptyAnalytics;\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n }\n const client = cl;\n\n const reactLocationHook: ReturnType<typeof useLocation> | null =\n opts?.autoPageTracking && opts.autoPageTracking.reactRouter ? opts.autoPageTracking.reactRouter : null;\n const before = opts?.before ? opts.before.effect : null;\n const nextjsLocationHook =\n opts?.autoPageTracking && opts.autoPageTracking.nextjsRouter ? opts.autoPageTracking.nextjsRouter : null;\n useEffect(() => {\n if (before) {\n before(client);\n }\n }, opts?.before?.deps || []);\n\n useEffect(() => {\n if (reactLocationHook) {\n client.page();\n } else if (nextjsLocationHook) {\n client.page();\n }\n }, [reactLocationHook, nextjsLocationHook?.asPath]);\n\n return { analytics: client };\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","options","disabled","React","children","host","msg","console","error","analytics","jitsuAnalytics","Provider","value","emptyAnalytics","track","Promise","resolve","page","user","identify","reset","useJitsu","opts","cl","useContext","echoEvents","Error","client","reactLocationHook","autoPageTracking","reactRouter","before","effect","nextjsLocationHook","nextjsRouter","useEffect","deps","asPath"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jitsu/jitsu-react",
3
- "version": "1.0.0-canary-20230211030946",
3
+ "version": "1.0.0-canary-20230211032904",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -11,7 +11,7 @@
11
11
  "node": ">=10"
12
12
  },
13
13
  "dependencies": {
14
- "@jitsu/js": "1.0.0-canary-20230211030946"
14
+ "@jitsu/js": "1.0.0-canary-20230211032904"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "react": "15.x || 16.x || 17.x || 18.x",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "devDependencies": {
31
31
  "ts-toolbelt": "^9.6.0",
32
- "@jitsu/js": "1.0.0-canary-20230211030946",
32
+ "@jitsu/js": "1.0.0-canary-20230211032904",
33
33
  "@testing-library/jest-dom": "^5.16.5",
34
34
  "@testing-library/react": "^13.4.0",
35
35
  "@testing-library/user-event": "^14.4.3",